IT&INTERNET REVIEW

리눅스 시스템관리 고급명령어

낭만리베로TM 2019. 12. 12. 12:57

#ps -aux | more

현재 프로세스를 보여주는 명령어 입니다.

옵션  -a : 터미널에서 다른 사용자가 실행하고 있는 프로세스를 보여 줍니다.

      -u : 사용자이름,실행시간등 상세정보를 보여줍니다.

      -x : 접속해 있는 터미널 뿐만아니라 모든 프로세스를 나타 냅니다.

 

프로세스를 죽이는 명령어는 #kill PID 입니다. PID는 #ps 에서 나타나는 PID, 프로세스 번호 입니다.

 

#top

CPU 의 프로세서의 현황을 보여 줍니다. 날짜,프로세스 (갯수, CPU사용률, 메모리 사용률등)

옵션 키

space bar 화면 리프레쉬

q         top 명령종료

k         process Kill. PID 필요

 

(( 접속한 사용자, 사용자 정보 검색 관련 ))

 

#finger

지금 현재 로긴한사람들의 id 와 정보를 보여준다.

#finger id

사용자 (id) dml 상세 정보를 보여준다.

 

#who

터미널에 접속한 시간과 id 를 보여준다

 

#w

터미널에 접속한 시간, id, cpu 사용등 상세 정보를 보여준다.

 

 

 

(( 시스템 정보 ))

#uname -a

옵션  -a : 현재사용하고 있는 시스템에대한 모든 정보를 보여준다.

 

(( 파일 검색 관련 ))

#find

파일을 찾는 강력한 명령어 입니다. 단 하드 전체를 실시간 검색 하므로 검색 시간이 오래 걸립니다.

 

ex) php의 설정 파일이 어디 있는가 찾을 경우

#find / -name php.ini    ; 이름(name)이 php.ini인 파일을 / (루트) 부터 찾습니다. 

 

ex) 해킹 관련 검색

#find / -nouser    ;사용자와 그룹이 없는 파일은 통상 있을수 없습니다. 이런 파일은 해커가 해킹시에

#find / -nogroup  ; 만들어논 파일들일 경우가 있습니다. 

 

#find / -perm -4000  ; set uid 파일을 찾습니다.

; 퍼미션중에 s 가오는 파일을 set uid 파일 이라고 합니다. (이 s 의 퍼미션이 4000 입니다. )이 파일은 실행하는 사람과는 관계없이 원소유자의 권한으로 동작 합니다. 즉 root 가 소유자 이면 root의 권한으로 동작 합니다. 대표적인것이 /usr/bin/passwd 라는 명령어 인데 root 의 권한으로 암호를 변경하게 합니다.  따라서 이상한 파일에 set uid 가 걸려 있으면 해킹이 아닌가 의심해 보아야 합니다. 

 

#find / -perm -1000

또 해커는 sticky bit 를 이용해서 파일을 쉽게 지울수 없도록 장난을 쳐 놓기도 합니다. 이것은 ls -l 로 볼때 T(x, 즉 실행권한이 없을경우) 또는 t(실행권한이 있을경우) 두가지로 나타납니다. 대표적인 것이 임시 디렉토리인 /tmp 입니다. 이 스티키 비트의 퍼미션이 1000 입니다. 따라서 이상한 파일에 스티키 비트가 있으면 의심해 보아야 합니다.

 

#locate

find가 HDD전체를 찾는데 비하여 locate는 데이터베이스에서 찾으며( /var/lib/locatedb ), 이 DB 는 (보통) cron 데몬에의하 하루 한번씩 갱신 됩니다. 따라서 HDD전체를 뒤지는 find보다 검색 속도가 빠르나 최신 정보가 아닐수도 있습니다. 

 

#file

리눅스에는 윈도우처럼 확장자가 필수가 아니기때문에 확장자가 없는경우 어떤 파일인지 애매할 경우가 많습니다.  

ex) #file httpd.conf

 

#tree

디렉토리 목록을 tree (나무)형태로 출력 합니다.

 

(( 로그 검색 관련 ))

 

#last

최근에 접속한 사용자의 이름, 접속시간, 접속 IP 등을 /var/log/wtemp 파일에서 검색해서 보여준다.

( **. /var/log/wtemp 는 시스템로그 파일로 text 형태가 아니라서 vi 등으로는 내용을 제대로 알수 없다.)

 

#head -n 20 /var/log/messges

#tail  -n 20 /var/log/httpd/mywebsite-error.log

#tail  -f /var/log/messages

옵션  -n 라인수

      -f 파일에 추가된내용만 보여 줍니다. ( 로그 검색시 유용. 계속 뒤에 바뀌는 내용을 보여줌 )

head ,tail 은 해당 파일의 앞(head), 뒤(tail) 의 10줄만 출력해 주는 명령입니다. messages 같은 시스템로그 또는 웹로그 파일은 큰 사이즈의 파일을 뒷부분만 볼때 사용하면 유용 합니다. 

 

#dmesg

시스템이 부팅할때 보여주는 메세지를 확인 할때 사용 합니다. 시스템 부팅시 하드웨어를 인식하는 과정이 들어있으므로 메인보드의 호환성유무, 듀얼CPU , Scsi 장비 , LAN 카드 등의 인식 문제를 확인 할 수 있습니다.

 

#history

사용자가 지금까지 입력했던 명령어들을 차례대로 보여줍니다. (위 화살표를 이용해서 전 명령어를  볼수도 있지만) history는 명령어 앞에 나타난 숫자를 !(숫자) 를 이용해서 바로 재실행 할 수 있어서 편리 합니다.  

 

<< 명령어 예약 >>

#at

일정 시간이 지난후에 명령어를 실행 시깁니다. 따라서 자리를 비우고 30분후에 시스템을 다운 시킨다든지 하는 등 명령어에 타이머를 달수 있습니다. 

옵션  -l        at queue 를 보여 줍니다. 

      -d 번호  queue 에서 삭제 합니다.  즉 예약 명령 취소

 

ex)  10:20 분에 시스템을 정지 하는 것을 예약하고 싶은 경우

#at 10:20           ; 10:20 분을 줍니다. 

at>halt             ; 프롬프트가 at>로 바뀌면, halt 명령을 예약합니다. .

ctrl-D              ; ctrl+D 로 빠져나옵니다. ( ctrl-C, ctrl-Z 로 빠져나오면 예약이 안 됩니다.  )

#

관련 명령 : #atq 큐에 예약된 작업을 보여 줍니다. ( at -l 옵션과 동일 )

반응형

'IT&INTERNET REVIEW' 카테고리의 다른 글

DNS 서버 정리  (0) 2019.12.12
NTP 연동시 체크사항  (0) 2019.12.12
CentOS 리눅스 명령어 정리  (0) 2019.12.12
리눅스 기본 명령어 정리  (0) 2019.12.12
NTP Time Server 정리  (0) 2019.12.12