本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「dmesg」コマンドです。
本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、カーネルが出力したメッセージを表示する「dmesg」コマンドです。
「dmesg」は、Linuxカーネルが起動時に出力したメッセージを表示するコマンドです。
カーネルがメッセージを保存する場所である「メッセージバッファー」はサイズが決まっており、バッファーサイズを超えたら先頭から上書きされる、という“リング構造”になっています。dmesgコマンドはこのメッセージバッファーを表示するため、全てのメッセージ内容を表示できるわけではありません。
dmesgコマンドの主なオプションは次の通りです。
短いオプション | 長いオプショ | 意味 |
---|---|---|
-l リスト | --level リスト | 表示レベルを指定する。表示レベルは「emerg(高)」「alert」「crit」「err」「warn」「notice」「info」「debug(低)」から選択。複数指定する場合は「,」で区切る |
-f リスト | --facility リスト | 表示対象を指定する。対象は「kern(カーネルメッセージ)」「user」「mail」「daemon」「auth」「syslog」「lpr(プリンタ)」「news」から選択。複数指定する場合は「,」で区切る |
-k | --kernel | カーネルメッセージを表示する(「-f kern」相当) |
-u | --userspace | ユーザー空間のメッセージを表示する(「-f user」相当) |
-x | --decode | 表示レベル(level)と表示対象(facility)を表示する |
-d | --show-delta | 直前のメッセージからの経過時間を表示する |
-e | --reltime | メッセージの表示時刻とメッセージ間の経過時間(「-d」」で表示)を読みやすいフォーマットで表示する |
-T | --ctime | メッセージが出力された時刻で表示する(サスペンド/レジュームを使用した場合は不正確になるので注意) |
-t | --notime | 時間を表示しない |
-H | --human | 読みやすいスタイルで表示する |
-r | --raw | メッセージを加工せずに表示する |
-L | --color | 色付きで表示する |
-w | --follow | 新しいメッセージがカーネルから出力されるのを待つ([Ctrl]+「C」キーで終了) |
-F ファイル | --file ファイル | バッファーの代わりに指定したファイルを表示する |
-S | --syslog | syslogを使って表示する |
-C | --clear | バッファーをクリアする(rootユーザーのみ使用可) |
-c | --read-clear | リングバッファーを出力してクリアする(rootユーザーのみ使用可) |
-D | --console-off | コンソールへの出力を無効にする(rootユーザーのみ使用可) |
-E | --console-on | コンソールへの出力を有効にする(rootユーザーのみ使用可) |
-n レベル | --console-level レベル | コンソールに表示するレベルを指定する(rootユーザーのみ使用可) |
「dmesg」を単独で実行すると、カーネルが出力したメッセージを表示できます。メッセージは長いので、「more」コマンド(本連載第2回)で1行ずつ表示するか、「grep」コマンド(本連載第9〜11回)を使って必要な行を絞り込むとよいでしょう。
dmesg | more
(「more」コマンドで1行ずつメッセージを表示する)(画面1)
dmesg | grep -i usb
(「grep」コマンドで「usb」を含む行を抽出して表示する。「-i」は大小文字を区別しないオプション)(画面2)
「-l」オプションを付けると、表示するメッセージのレベルを指定することができます。レベルは致命的な内容である「emerg」から順番に、「alert」「crit」「err」「warn」「notice」「info」「debug」となっています。複数のレベルを選択したい場合は、「,」(カンマ)で区切って指定します。
また、各行にレベルを表示したい場合は「-x」オプション、メッセージに色を付けたい場合は「-L」(--color)オプションを使用します。なお、パイプ(|)で他のコマンドに渡す場合は、色の指定が無効になるので、「-l」オプションなどで項目をある程度絞るか、スクロール可能な端末を使用するとよいでしょう。
dmesg -l emerg,alert,crit,err -x --color
(「emerg」「alert」「crit」「err」のメッセージをレベル付き、色付きで表示する)(画面3)
PC-9801N/PC-386MからのDOSユーザー。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、専業ライターとして活動を開始。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.