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 -
반응형