OS/Common
### 서버관리 명령
장피디
2011. 8. 21. 17:02
반응형
### 서버관리 명령
l.파일목록보기,소유/허가권 명령어.
1) ls 파일 목록보기.
ls -lahnd file*또는생략.
-l ;상세목록보기(파일명,파일크기,날짜/시간,허가원,소유권,그룹정보등).
-a ;숨겨진 파일을 포함해서 디렉토리 내의 모든 파일보기.
-n ;소유자명,그룹명 대신 Uid,Gid로 보기.
-h ;파일크기를 k,m단위로 보기.
-d ;현재 디렉토리내의 정보만 보기.
2) ls 명령으로 알아보는 상세정보.
ls -la
결과) drwxr_xr_x 2 hanvit hanvit 4k 10월7일10:10 public_html
d(디렉토리)rwx(user rwx)r_x(group)r_x(other) 2(디렉토리수) hanvit(user소유권)hanvit(그룹소유권).
l(심볼릭 링크(hard link,soft link)
b(블록장치:모든 디바이스 드라이버는 파일 시스템을 통해서 접근되는데, 디스크처럼 블록 단위로 입
출력이 이루어지는 장치를 액세스할 때 사용하는 특수 파일이 블록장치파일이다. 예)하드디스크)
c(문자장치 : 모뎀)
3) chmod 파일허가원 변경.
chmod u-x,g+w,o-x public_html
8진법 으로 변경하기.(아래)
4) chown 사용자 소유권 변경.
chown 소유자명 파일명 -R
-R : 하위폴더에 있는 모든 파일 포함.
5) chgrp 그룹 소유권 변경.
chgrp 그룹명 파일명 -R
6) 사용자 소유권/그룹권한 변경.
chown 소유자명:그룹명 파일명 -R
2.파일 관리와 조작.
1) cp 파일복사 cp index.html index.php
cp -i *.conf /temp
-i : 파일복사시 복사여부 확인기능.
2) mv 파일이동
mv -i *.conf /temp
3) ln 파일링크
ln /usr/local/apache/bin/apachectl ./apache
ln -s /usr/local/apache/bin/apachectl ./apache
-s :소프트 링크 != 하드링크
4) find 파일찾기
find / -name[-perm,-type, -user, -group, -nouser, -nogroup, -exec 명령어 {}\;]
/ :찾을 디렉토리 지정.
-name 파일명 : 파일이름으로 찾기.
-perm 모드 : 파일 퍼미션 조건이 맞는 것만 찾기.
-type : 파일 타입(b,c,d,f,l등)을 지정하여 찾기.
-user : 파일 소유권을 지정하여 찾기.
-group : 그룹에 해당하는 파일찾기.
-nouser -nogroup : 소유권이 없이 파일찾기.
-exec 명령어 {} \; :find 명령에 의해 검색된 파일에 대해 명령를 수행할 수 있게 한다.
find /etc -name services -exec grep tcp {} \; |more
5) gzip 파일압축
gzip -d -9 파일명
: 옵션없이 압축한다.
-9 :가장 좋은 압축률로 압축한다.
-d :압축을 푼다.
6) mkdir 디렉토리 생성.
7) rmdir 빈 디렉토리 삭제.
8) pwd 현재 디렉토리 위치를 알아낸다.
9) rm 파일삭제
rm -rf 파일명.
-r : 하위디렉토리 까지 삭제한다.
-f : 삭제여부 확인없이 삭제한다.
10) tar 파일묶기.
tar -cvf mysql.tar /usr/local/mysql : -c 여러파일을 하나의 이름으로 묶느다.
tar -xvf mysql.tar : -x 묶기파일을 푼다.
tar -zxvf mysql.tar.gz gzip으로 압축된파일을 tar로 푼다.
11) cat 파일내용 출력
12) more 한번에 한 화면씩 파일 내용보기.
13) du 디스크 사용량 보기
du -sh /home :홈디렉토리의 사용량을 알아본다.
-s :개별디렉토리별로 크기를 출력하지 말고 합으로 보여준다.
-h :k,m 단위로 보여준다.
14) which 지정된경로에서 파일 찾기.
15) df 디스크 사용가능 용량보기
16) sync : 버펴 내용을 디스크에 비우기
3. 프로세스 조작
1) ps 프로세스 목록보기
ps -auxr
-a :현재 사용자가 실행시킨 프로세스뿐만 아니라 모든 프로세서 보기.
-u :프로세스 소유자를 보여준다.
-x :제어터미널에 없는 프로세스를 보여준다.
-r : 수행중인 프로세스만 보여준다.
출력결과제목 분석:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER :프로세스 소유자.
PID :프로세스 고유번호.
%CPU : CPU사용비율
%MEM : 프로세스가 사용한 메모리 비율.
VSZ : 가상 메모리양.
RSS :프로세스가 사용한 실제 메모리 양.
TTY :프로세스의 제어 터미널연결상황.
STAT :프로세스 상태(S :sleep상태,R:cpu사용중,D:인터럽트될 수 없는 sleep,Z:Zombie,W:메모리상주없음, < :높은우선순위 프로세스 N:낮은 우선순위 프로세스 L:메로리 페이지가 잠겨 있음)
START : 프로세스가 시작한 날짜
TIME : 프로세스가 cpu를 사용한 시간.
COMMAND : 프로세스의 이름
2) top : 모니터링 프로그램
3) kill :프로세스 번호로 죽이기
4) killall :프로세스 이름으로 죽이기
4. 기타 명령.
1) who :현재 시스템에 로그인중인 사용자 보기.
2) su : 슈퍼 유저 권한 획득하기.
5. 네트워킹 도구.
1) telnet
2) ftp
3) mail
6. 편집기
1) vi
2) emacs
3) joe
4) pico
##### 크기가 가장 큰 파일, 디렉토리 찾기
가장 큰 디렉토리를 찾으려면,
du -S | sort -n
가장 큰 파일을 찾으려면,
ls -lR | sort +4n
##### 현재 디렉토리의 크기만을 파악할때
[root@dev2 local]# du -c -h --max-depth=0 *
6.4M apache
35M bin
43M dns
1.7M doc
42k etc
1.0k games
42k geektalkd
1.1M gnuws
1.1M include
41k info
19M jakarta-tomcat-3.2.3
0 jre
15M jre118_v3
25M lib
62k libexec
1011k man
1.3M mm.mysql.jdbc-1.2c
937k sbin
3.8M share
1.8M shoutcast-1-8-3-linux-glibc6
5.2M ssl
159M total
##### 시스템 정보 감추기
/etc/inetd.conf 파일을 열어서,
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h
##### 어떤 프로세스가 메모리를 가장 많이 잡아먹고 있는지 알아내기
ps -aux | sort +4n
또는
ps -aux | sort +5n
##### FTP로 들어온 사용자 확인하기
ftpwho
ftpcount
##### 원하지 않는 사용자 죽이기
[root@dream /root]# skill -KILL sunny
위의 명령을 내리면 sunny 라는 사용자를 완전히 추방시킬수 있습니다.
그런데 이렇게 완전히 추방시키는게 아니구, 특정 터미널에 접속해있는 사용자만 추방시켜야 할 때도 있겠죠?
그럴때는
[root@dream /root]# skill -KILL -v pts/14
이런식으로 하면 된다 그럼 pts/14 에 연결되어 있는 사용자가 죽게 됩니다.
less 결과를 vi로 보기
less상태에서 v를 누르면 바로 vi로 감
###### vi에서 블럭 설정하기
alt+v 하면, 라인 단위로 블럭 설정을 할 수 있으며, 해제 하시려면 Esc를 누르면 됩니다.
또한 ctl+v를 하시면, 블럭 단위로 블럭을 설정하실 수 있습니다.
블럭을 설정 하신 뒤,
삭제를 하려면 x
복사를 하려면 y
붙여넣기는 p
man 페이지 프린트하기
man -t vi > vi.ps
####### ping 무시하기
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
####### 동시에 여러개의 하위 디렉토리 만들기
mkdir -p music/koreanmusic/ost
리로 다시 살리기
boot : vmlinuz root=/dev/hda6
####### 특정 사용자 ftp 접근 막기
/etc/ftpusers 파일에 로그인 네임을 추가하면 됩니다.
ls라는 파일이 포함된 rpm패키지 찾기일단 ls의 절대경로를 알아야 한다. which lswhich로 알아낸 ls의 절대경로로 rpm질의를 한다.rpm -qf /bin/ls
[root@piruks /etc]# which ls
/bin/ls
[root@piruks /etc]# rpm -qf /bin/ls
fileutils-4.0i-2mz
####### 현재 rpm패키지의 의존패키지
rpm -qR 패키지명
현재 디렉토리크기
du -h --max-depth=1 .
바로 이전 디렉토리로 가기
cd -
반응형