dmesg – カーネルリングバッファのメッセージを表示するコマンド

ログ取得

dmesg コマンドは、Linux カーネルが出力する カーネルリングバッファのメッセージ を表示するコマンドです。
主にシステム起動時のログ、デバイス認識状況、ドライバのエラーメッセージなどを確認するのに利用されます。

構文(Syntax)

dmesg [オプション]

主なオプション一覧

オプション説明使用例
(なし)カーネルメッセージを全て表示dmesg
-Cバッファをクリアsudo dmesg -C
-Tログの時刻を人間が読みやすい形式で表示dmesg -T
-kカーネル関連メッセージのみ表示dmesg -k
-l LEVELS指定レベルのメッセージのみ表示(info, warn, err など)dmesg -l err
-n LEVEL指定したログレベル以上のメッセージを出力するよう設定sudo dmesg -n 3
-w新しいメッセージをリアルタイムに監視dmesg -w
--color=alwaysログをカラー表示(環境による)dmesg --color=always

実行例

全てのカーネルメッセージを表示

dmesg

人間が読みやすいタイムスタンプ付きで表示

dmesg -T

出力例:

[Wed Aug 21 12:34:56 2024] usb 1-1: new high-speed USB device number 2 using xhci_hcd

エラーメッセージのみ表示

dmesg -l err

出力例:

[12345.678901] EXT4-fs error (device sda1): ext4_find_entry: ...

USB を接続した直後のメッセージを監視

dmesg -w

出力例(USBメモリ接続時):

[23456.789012] usb 1-1: new high-speed USB device number 3 using xhci_hcd
[23456.900123] usb-storage 1-1:1.0: USB Mass Storage device detected

バッファをクリア

sudo dmesg -C

エラー例(一般ユーザーで制限ありの環境)

dmesg

出力例:

dmesg: read kernel buffer failed: Operation not permitted

関連コマンド

  • journalctl -k : systemd 環境でカーネルログを確認
  • tail -f /var/log/kern.log : カーネルログファイルを監視
  • lsmod : カーネルモジュール一覧を表示
  • lsusb / lspci : デバイス情報を確認

備考

  • dmesg は一時的な カーネルリングバッファ を表示するため、再起動するとログは消えます。
  • 永続的なログは通常 /var/log/kern.logjournalctl で管理されます。
  • 新しいディスクやUSB機器を接続した直後の認識状況確認に特に有効です。
  • 権限により一部ログがマスクされる場合があり、管理作業では sudo が必要になることがあります。

参考

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント