※ 요약

리눅스 명령어 lastlog는 /var/log/lastlog 로그 파일의 정보를 분석하여 출력하는 명령어다. 이 파일을 통해 사용자의 마지막 로그인 시간, 호스트명, 포트 등을 볼 수 있다. 


※ 경로

/usr/bin/lastlog


※ 사용법

lastlog [옵션]...


※ 옵션

 옵션

 Long옵션

 설명

 -t DAYS

 --time DAYS

 지정한 날짜 단위(DAYS) 기간에 로그인한 정보만 출력

 -u LOGIN

 --user LOGIN

 지정한 로그인명(LOGIN)의 lastlog 정보만 출력

 -h

 --help

 lastlog 명령어 사용법 출력


※ 사용예

아래는 필자의 시스템에서 lastlog 명령어를 실행한 화면이다. 보면 알겠지만 root 계정 말고는 로그인한 적이 없다.



-u 옵션으로 특정 계정의 정보만 출력하였다.


-t 15 옵션으로 15일 내의 정보만 출력했다.


※ 관련 명령어

last : 로그인과 재부팅 로그 확인

lastb : 접속 실패 기록 보기

who : 호스트에 로그인한 사용자 정보 출력

logger : 시스템 로그 기록

logrotate : 로그 파일 관리

grep : 패턴에 매치되는 문자열 검색


※ 요약

리눅스 명령어 lastb는 접속 실패 기록을 보여주는 명령어다. last 명령어가 로그인 기록과 재부팅 기록을 보기 위해 /var/log/wtmp 파일을 열람한다면, lastb는 /var/log/btmp 파일을 열람하여 실패 목록을 보여준다. lastb는 접속 실패를 기록하는 파일인 btmp 파일을 열람한다는 것을 제외하고는 last 명령어와 같다.


※ 경로

/usr/bin/lastb


※ 사용법

lastb [옵션]... [유저명]... [tty]...


※ 옵션

 옵션

 설명

 -num

 num 만큼의 줄만 출력

 -n num

 -num과 동일

 -R

 hostname필드는 출력 안 함

 -a

 출력되는 목록에서 hostname 필드는 마지막에 출력

 -d

 다른 host에서 접속한 내용만 출력

 -x

 shutdown 상태 및 runlevel이 바뀐 상태 출력

 -f file

 지정한 file에서 정보를 읽어와서 출력



※ 사용예

아래는 lastb의 간단한 사용 화면이다. 필자의 시스템에는 로그인 실패 기록이 없어 일부러 만든뒤 실패 로그를 출력하였다.


※ 관련 명령어

last : 로그인과 재부팅 로그 확인

lastlog : 접속 로그 보기

logger : 시스템 로그 기록

logrotate : 로그 파일 관리

grep : 패턴에 매치되는 문자열 검색


※ 요약

리눅스 명령어 last는 로그인과 재부팅 로그를 출력하는 명령어다. 로그 파일은 /var/log/wtmp 파일에 위치하며 시스템의 부팅부터 현재까지의 모든 유저의 로그인과 로그아웃에 대한 정보를 가지고 있는데, 이 파일의 내용을 last 명령어가 보여준다. 참고로 lastb 명령어는 /var/log/btmp 로그 파일을 보여주는 명령어로써, 어느 파일을 오픈하는지만 다르고 나머지는 똑같다고 보면 된다. 어렵지 않은 명령어이므로 금방 익힐 수 있으며 


※ 경로

/usr/bin/last


※ 사용법

last [옵션]... [유저명]... [tty]...


※ 옵션

 옵션

 설명

 -num

 num 만큼의 줄만 출력

 -n num

 -num과 동일

 -R

 hostname필드는 출력 안 함

 -a

 출력되는 목록에서 hostname 필드는 마지막에 출력

 -d

 다른 host에서 접속한 내용만 출력

 -x

 shutdown 상태 및 runlevel이 바뀐 상태 출력

 -f file

 지정한 file에서 정보를 읽어와서 출력



※ 사용예

아래는 last 명령어를 실행한 모습이다. 필자는 주로 root 계정으로 로그인한걸 알 수 있다. 재부팅은 reboot이라고 표기되어 있는 것도 볼 수 있다. 모자이크 처리한 부분은 hostname(ip주소)이다.


라인이 너무 많아 최근 10라인만 보기 위해 -10 옵션을 주었다.


grep 명령어를 이용하여 reboot 기록만 출력한 모습이다. 응용하면 특정 계정만 로그인한 것도 찾을 수 있을 것이다. -R 옵션을 준 이유는 모자이크 하기 귀찮기 때문이다. 마지막으로 아래 26+23:25의 의미는 시스템이 종료하기 전까지 시스템이 켜져 있던 시간을 의미한다. 즉 26일 하고도 23시간 25분 켜져 있었다는 의미다. 91+13:05는 말 안해도 알거라 믿는다.


※ 관련 명령어

lastb : 접속 실패 기록 보기

lastlog : 접속 로그 보기

logger : 시스템 로그 기록

logrotate : 로그 파일 관리

grep : 패턴에 매치되는 문자열 검색


※ 요약

리눅스 명령어 pstree는 프로세스의 상관관계(부모-자식 관계)를 트리 형태로 출력해주는 명령어로써, 관계를 트리 형태로 출력해주므로 계층 관계를 한 눈에 파악할 수 있다.


※ 경로

/usr/bin/pstree


※ 사용법

pstree [옵션]... [pid|user]


※ 옵션

옵션

 설명

 -a

 지정한 인수까지 출력

 -c

 중복된 프로세스도 모두 출력, 디폴트 값은 트리 내의 동일한 프로세스를 하나의 프로세스로 출력하고 중복된 개수를 출력함

 -G

 VT100 형태의 트리로 출력

 -h

 현재 프로세스와 부모 프로세스를 하이라이트 형태로 출력

 -H pid

 지정한 pid(프로세스ID)의 프로세스와 부모 프로세스를 하이라이트 형태로 출력

 -l

 긴 라인을 모두 출력

 -n

 pid를 기준으로 정렬하여 출력

 -p

 pid도 출력

 -u

 uid도 출력

 -U

 UTF-8(유니코드) 형태로 출력

 -V

 pstree의 버전 정보를 출력


※ 사용예

아무 옵션없이 pstree만 실행한 모습이다. 아래 출력된 내용을 보면 모든 프로세스는 init에서 파생된 자식 프로세스들이라는 것을 알 수 있다.



옵션 a와 p를 입력한 모습이다. 옵션 p로 인해 pid도 함께 출력된 모습이다.


※ 관련 명령어


※ 요약

리눅스 명령어 pmap은 프로세스ID를 기준으로 메모리 맵 정보를 출력한다.


※ 경로

/usr/bin/pmap


※ 사용법

pmap [옵션]... pid [...]


※ 옵션

 옵션

 Long옵션

 설명

 -x

 --extended

 확장된 포맷으로 출력

 -d

 --device

 디바이스 포맷을 출력

 -q

 --quiet

 정보를 간단하게 출력

 -V

 --version

 버전 정보를 출력



※ 사용예

예제니까 임의 프로세스의 메모리 맵 정보를 보도록 하겠다. 아래는 ps 명령어로 pid를 확인한후, pmap을 이용하여 해당 프로세스의 메모리 맵을 본 화면이다.


아래는 -x 옵션을 줘서 Address, Kbytes, RSS.. 등의 필드들도 출력한 화면이다.


※ 관련 명령어

ps : 프로세스들의 현재 상태를 출력

pgrep : 이름을 기반으로 프로세스를 찾음

pidof : 프로세스 ID 확인


※ 요약

리눅스 명령어 pidof는 실행중인 프로그램의 프로세스 ID를 찾을때 사용하는 명령어다.


※ 경로

/sbin/pidof


※ 사용법

pidof [옵션]... 프로그램명


※ 옵션

 옵션

 Long옵션

 설명

 -s

 

 중복되는 프로세스 ID가 있을 경우 하나의 프로세스 ID만 출력

 -x

 

 스크립트와 함께 실행중인 프로세스 ID도 힘께 출력

 -o pids

 

 지정한 프로세스(pids)를 제외하고 나머지를 출력



※ 사용예

필자는 vi를 실행한 상태이고, 이 vi의 프로세스 id를 확인하고자 아래와 같이 명령어를 입력하여 vi의 pid를 확인하는 모습이다.


※ 관련 명령어

ps : 프로세스 상태 보기

nice : 프로세스 우선순위 변경


※ 요약

리눅스 명령어 runlevel은 이전 실행 레벨과 현재의 실행 레벨을 출력하는 명령어다. 값을 출력할때는 공백 문자로 구분하여 출력하는데, 좌측이 이전 실행 레벨, 우측이 현재 실행 레벨이다. 만약 이전 실행 레벨이 없다면 N을 출력한다. runlevel 명령은 System-V의 who -r 명령을 대신해서 rc 스크립트 안에서 사용될 수 있다. 또한, init의 새로운 버전에서 이 정보들은 RUNLEVEL과 PREVLEVEL 환경변수를 지정하는데 사용되어 질 수 있다.


※ 경로

/sbin/runlevel


※ 사용법

# runlevel


※ runlevel 설명

아래 내용은 /etc/inittab 파일에 있다.

0 - halt (Do NOT set initdefault to this)

1 - Single user mode

2 - Multiuser, without NFS (The same as 3, if you do not have networking)

3 - Full multiuser mode

4 - unused

5 - X11

6 - reboot (Do NOT set initdefault to this)




※ 사용예

터미널에 runlevel을 입력한 화면이다.


※ 요약

리눅스 명령어 free는 시스템에서 사용중인 메모리와 사용하지 않는 메모리, 스왑 메모리 등의 전체적인 메모리 현황을 확인하는 명령어다. 또한 커널에 의해 사용된 공유 메모리와 버퍼 정보도 출력한다.


※ 경로

/usr/bin/free


※ 사용법

free [옵션]...


※ 옵션

 옵션

 Long옵션

 설명

 -b

 --bytes

 메모리 단위를 바이트로 표시

 -k

 --kilo

 킬로바이트 단위로 출력

 -m

 --mega

 메가바이트 단위로 출력

 -t

 

 총계가 포함된 줄을 출력

 -o

 

 버퍼에 조정된 줄의 출력을 비활성화

 -s

 

 지정된 마다 출력함, 를 지정할때는 부동 소수점으로 지정가능

 -V

 

 free 명령어의 버전 정보를 출력



※ 사용예

아래는 옵션없이 free만 사용하였을 때의 화면이다.


옵션 -s를 사용한 화면이다. 1을 입력하여 1초마다 현황을 출력하도록 했다.


옵션을 이용하여 바이트, 킬로바이트, 메가바이트 단위로 출력하도록 했다.



※ 요약

리눅스 명령어 du는 disk usage의 약자로써 현재 디렉토리 혹은 지정한 디렉토리의 사용량을 확인할때 사용한다. 옵션을 지정하지 않으면 현재 경로의 모든 디렉토리 크기를 MB 단위로 출력한다.


※ 경로

/usr/bin/du


※ 사용법

du [옵션]...


※ 옵션

 옵션

 Long옵션

 설명

 -a

 --all

 현재 디렉토리 아래의 모든 파일과 디렉토리의 사용 정보를 출력

 -B

 --block-size=SIZE

 지정한 블록 크기(SIZE) 단위로 용량을 출력

 -b

 --bytes

 바이트 단위로 출력

 -c

 --total

 모든 파일의 디스크 사용 정보를 출력하고, 출력된 것들의 모든 합계를 출력

 (보통 해당 경로가 얼마만큼의 용량을 차지하는지 확인할때 사용)

 -D

 --dereference-args

 지정한 파일의 경로가 심볼릭 링크 파일이면 원본의 값을 출력

 -h

 --human-readable

 파일 용량을 사람이 보기 쉬운 형태로 출력

 -H

 --si

 -h와 비슷하지만 1,024 단위의 비율로 출력

 -k

 

 출력 단위를 1KB 형태로 지정

 -l

 --count-links

 하드 링크되어 있는 파일도 있는 그대로 카운트

 -L

 --dereference

 모든 심볼릭 링크를 따름

 -S

 --separate-dirs

 디렉토리의 총 사용량을 출력할때 하위 디렉토리의 사용량은 제외

 -s

 --summarize

 간단하게 총 사용량만 요약하여 출력

 -x

 --one-file-system

 현재 파일 시스템의 파일 사용량만을 출력

 -X file

 --exclude-from=file

 지정한 파일(file)과 일치하는 파일은 제외

 --help

 

 du 명령어의 사용법 출력

 --version

 

 du의 버전 정보 출력



※ 사용예

현재 작업중인 디렉토리의 용량을 확인하는데, 옵션 -h의 유무의 차이를 확인할 수 있다. 확실히 -h 옵션을 붙여야 보기가 편하다.


du -a를 하여 모든 파일과 디렉토리를 출력하는데, more를 통해 모든 행을 볼수 있도록 했다.


옵션을 보면 무슨 내용인지 알 수 있으므로 따로 설명하지는 않겠다.



※ 요약

리눅스 명령어 df는 시스템에 마운트된 하드디스크의 남은 용량을 확인할 때 사용하는 명령어다. 기본적으로 1,024Byte 블록 단위로 출력하며, 옵션을 통해 다른 단위로 출력이 가능하다.


※ 경로

/bin/df


※ 사용법

df [옵션]... [파일명]...


※ 옵션

 옵션

 Long옵션

 설명

 -a

 --all

 0 블록의 파일 시스템을 포함하여, 모든 파일시스템을 출력

 -B

 --block-size=SIZE

 지정한 크기(SIZE)를 블록 단위로 정하여 용량을 표시(예:--block-size=1m)

 

 --total

 총계를 출력

 -h

 --human-readable

 사람이 읽을 수 있는 형태의 크기로 출력(예:1K, 512M, 4G)

 -H

 --si

 1KB는 1,024Byte지만 사용자가 보기 편하도록 1,000단위로 용량을 표시

 -i

 --inodes

 inode의 남은 공간, 사용 공간, 사용 퍼센트를 출력

 -k


 --block-size=1K와 같은 의미

 -l

 --local

 출력하는 목록을 로컬 파일 시스템으로 제한

 

 --no-sync

 사용 정보를 얻기 전에 싱크를 하지 않음(디폴트 값)

 -P

 --portability

 POSIX에서 사용되는 형태로 출력

 

 --sync

 사용 정보를 얻기 전에 싱크

 -t

 --type=TYPE

 보여주는 목록을 파일 시스템의 타입(TYPE)으로 제한

 -T

 --print-type

 파일 시스템의 형태를 추가하여 각각의 파티션 정보를 출력

 -x

 --exclude-type=TYPE

 지정한 형태(TYPE)를 제외하고 나머지 모든 파일 시스템 정보를 출력

 

 --help

 df 명령어의 사용법 출력

 

 --version

 df의 버전 정보 출력



※ 사용예

옵션 없이 df만 입력하여 실행하였을때 화면인데 기본값인 1,024Byte 단위로 출력하여 보기가 불편하다.


-h 옵션을 줘서 보기 편하게 출력해보았다. -h 옵션은 필자가 df의 옵션중 제일 자주 사용하는 옵션이다.


아래와 같이 -i 옵션으로 inode의 사용 정보를 확인할 수 있다. 참고로 디스크 공간이 남아 있더라도 inode가 부족하면 더 이상의 파일을 생성할 수 없다.



+ Recent posts