Linux

[Linux] 로그 관련 명령어 - last / lastlog / lastb / dmesg / logger

thdwldud 2025. 10. 2. 09:52

last

  •  사용자의 로그인 정보, 재부팅한 정보는 출력하는 명령
  • 바이너리 파일인 /var/log/wtmp 내용 출력
  • 재부팅한 정보는 시스템 계정인 reboot를 지정, 인자값으로 정수값을 주면 로컬의 특정 터미널로 로그인한 정보 확인 가능
last [option] [사용자명] [ttyn]

옵션

옵션 설명
-f 파일명 로그 로테이션 설정이 되어 있는 경우, 기본 로그 파일 이외의 다른 로그 파일의 기록을 볼 경우에 사용
-n 숫자
(-숫자)
가장 최근부터 해당 숫자값 만큼만 출력
-t YYMMDDHHMMSS 지정한 시간 이전에 로그인한 기록을 출력
-R IP 주소나 호스트명을 출력하지 않음
-a 호스트명이나 IP주소 필드를 맨 마지막에 출력
일반적으로 ‘-d’ 옵션과 함께 사용됨
-d 리눅스는 외부에서 접속한 기록을 IP 주소뿐만 아니라, 호스트 이름도 저장
이 옵션을 사용하면 호스트 이름이 존재하는 경우에는 IP주소를 호스트 이름으로 변환하여 출력
-F 로그인 및 로그아웃 시간을 출력
-i 접속한 호스트의 IP 주소로만 출력
-w 사용자의 전체 이름이나 전체 도메인 이름을 전부 출력

 

사용 예

  • /var/log/wtmp 파일이 생성된 후 관련 정보를 출력
last
  • posein 사용자의 로그인 정보를 출력
last posein
  • 시스템이 재부팅된 정보를 출력
last reboot
  • 가장 최근에 재부팅한 정보 하나만 출력
last -1 reboot
  • /var/log/wtmp.1 파일의 정보를 출력
last -f /var/log/wtmp.1
  • /dev/tty2로 로그인한 정보를 출력
last 2
last tty2

 

lastlog

  • 각각의 사용자가 마지막으로 로그인한 정보를 출력하는 명령
  • 바이너리 파일인 /var/log/lastlog의 내용을 출력
lastlog [option]

옵션

옵션 설명
-u 사용자명
(--user)
특정 사용자에 대한 정보만 출력
-t 날짜수
(--time)
오늘부터 지정한 날짜수 만큼 거슬러 올라가 그 이후에 로그인한 사용자의 정보를 출력
-b 날짜수
(--before)
오늘을 기준으로 지정한 날짜수 이전에 최종적으로 로그인한 사용자 정보를 출력

사용 예

  • 모든 사용자의 최종 로그인 기록을 출력
lastlog
  • posein 사용자의 최종 로그인 기록을 출력
lastlog -u posein
  • 최근 3일 이내에 로그인한 사용자의 기록을 보여줌
lastlog -t 3
  • 최근 3일 이전에 로그인한 사용자의 기록을 보여줌
lastlog -b 3

 

lastb

  • last와 반대되는 개념으로 로그인에 실패한 정보를 출력하는 명령
  • 바이너리 파일인 /var/log/btmp 의 내용을 출력
  • root 만 사용 가능
lastb [option] [사용자명]

옵션

옵션 설명
-f 파일명 로그 로테이션 설정이 되어 있는 경우, 기본 로그 파일 이외의 다른 로그 파일의 기록을 볼 경우에 사용
-n 숫자
(-숫자)
가장 최근부터 해당 숫자값 만큼만 출력
-t YYMMDDHHMMSS 지정한 시간 이전에 로그인한 기록을 출력
-R IP 주소나 호스트명을 출력하지 않음
-a 호스트명이나 IP주소 필드를 맨 마지막에 출력
일반적으로 ‘-d’ 옵션과 함께 사용됨
-d 리눅스는 외부에서 접속한 기록을 IP 주소뿐만 아니라, 호스트 이름도 저장
이 옵션을 사용하면 호스트 이름이 존재하는 경우에는 IP주소를 호스트 이름으로 변환하여 출력
-F 로그인 및 로그아웃 시간을 출력
-i 접속한 호스트의 IP 주소로만 출력
-w 사용자의 전체 이름이나 전체 도메인 이름을 전부 출력

사용 예

  • 로그인에 실패한 정보를 출력
lastb
  • posein 사용자의 로그인 실패 기록을 출력
lastb posein
  • 가장 최근에 로그인에 실패한 기록 3개 출력
lastb -n 3
lastb -3
  • /var/log/btmp.1의 로그 기록 출력
lastb -f /var/log/btmp.1
  • /dev/tty3에서의 로그인 실패 기록 출력
lastb 3
lastb tty3

 

dmesg

  • 커널 링 버퍼(kernel ring buffer)의 내용을 출력하고 제어하는 명령
    • 커널 링 버퍼 : 커널의 동작과 관련된 메시지를 기록하는 영역
      • 초기 : 4096 byte 크기
      • 커널 1.3.54 버전 : 8192 byte 크기
      • 커널 2.1.113 버전 이후 : 16384 byte 크기
      • 커널 2.4.23/2.6 버전 이후 : 커널 설정 옵션으로 지정
    • RHEL5 : 256KB / RHEL6 : 512KB / RHEL7 : 1024KB
    • Rocky Linux8 : 256KB
dmesg [option]

옵션

옵션 설명
-c 커널 링 버퍼에 저장된 메시지를 출력한 후에 지운다

사용 예

  • 커널 링 버퍼에 저장된 메시지를 출력
dmesg
  • 커널 링 버퍼에 저장된 메시지를 전부 지운다
dmesg -c

 

logger

  • 명령행에서 로그 시스템에 메시지를 전송할 때 사용하는 명령
  • 명령은 기본적으로 /var/log/message 파일에 기록됨
logger [option] [message]

옵션

옵션 설명
-i PID를 기록할 때 사용
-f 저장되는 파일명 지정할 때 사용
-t 지정한 태그(tag)를 함께 기록할 때 사용
-s 표준 출력(모니터)에도 메시지를 출력

사용 예

  • /var/log/messages 파일에 ‘Rocky Linux 8’이라는 메시지가 저장
logger Rocky Linux 8
  • /var/log/messages 파일에 ‘Hello Linux’라는 메시지가 저장되는데 PID를 기록
logger -i -f /var/log/messages 'Hello Linux'
  • /var/log/messages 파일에 ‘Success!’라는 메시지가 저장되는데, PID와 hack이라는 태그도 덧붙여서 기록
logger -i -t hack 'Success!'