본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
커널 링(ring) 버퍼를 출력하거나 제어한다.
  • 유닉스와 리눅스 모두에서 명령어와 옵션이 같음
  • 경로 : /bin/dmesg

커널은 부팅 과정에서 CPU·메모리·디스크·USB 같은 하드웨어를 인식한 결과와 드라이버 메시지를 커널 링 버퍼에 남긴다. dmesg 는 그 버퍼를 보여 주므로 부팅 때 장치가 제대로 잡혔는지, 장치를 꽂거나 뺐을 때 커널이 무엇을 남겼는지 확인할 때 쓴다.

  • 부팅 메시지는 /var/log/dmesg 파일로도 저장된다(배포판에 따라 다르다. systemd 를 쓰는 배포판은 journalctl -k 로도 본다)
    • 이 파일은 부팅 과정에서 시스템이 한 번 남겨 두는 것이다. dmesg 명령을 실행한다고 /var/log/dmesg 에 기록되지는 않는다. 파일에 남기려면 dmesg > 파일 처럼 직접 저장한다
    • /var/log/dmesg 는 커널 메시지를 담는 파일이지 환경 변수 설정값을 담는 파일이 아니다. 환경 변수는 env·printenv 로 본다 → 리눅스 환경 변수
  • 커널 변수(커널 매개변수)의 값을 바꿔 시스템을 조정하는 명령은 dmesg 가 아니라 sysctl 이다
  • 사용자의 로그인 기록을 보는 명령이 아니다. 사용자 이름을 인자로 받지 않는다. 로그인 기록은 last(wtmp), lastlog(마지막 로그인), lastb(btmp, 실패 기록)로 본다 → 리눅스 로그 파일
dmesg [옵션]
  • -c : 메시지 내용을 출력하고 링 버퍼를 모두 비운다.
  • -r : 로우(raw) 메시지 버퍼를 출력한다.
  • -s bufsize : 커널 링 버퍼 쿼리를 위한 크기(bufsize)를 지정한다. 기본값은 16,392이다.
  • -n level : 지정한 로그 레벨(level) 메시지를 출력한다.
# 커널 메시지 전체를 페이지 단위로 본다
$ dmesg | less

# USB 장치를 꽂은 뒤 마지막 메시지만 본다
$ dmesg | tail

# 디스크 인식 메시지만 고른다
$ dmesg | grep -i sd