Linux, コマンド · 1 min read · Sep 19, 2025
初心者のためのLinux dmesgコマンドチュートリアル(5つの例)

Linuxカーネルは、システムが起動するときにいくつかのデバイスドライバをロードすることをご存知ですか?実際、システムが稼働しているときにハードウェアデバイスを接続すると、それに対応するデバイスドライバもロードされます。もちろん、カーネルは他にも多くのことを行っています。これらのカーネルの活動に関連する情報を知りたい場合はどうすればよいでしょうか?
実は、カーネルによって印刷されたメッセージにアクセスするために使用できるコマンド - dmesgと呼ばれるものがあります。このチュートリアルでは、いくつかのわかりやすい例を使ってdmesgツールの使い方を理解します。
Linux dmesgコマンド
dmesgコマンドは、カーネルリングバッファを印刷または制御することを可能にします。以下がその構文です:
dmesg [options]そして、ツールのmanページは次のように説明しています:
dmesgはカーネルリングバッファを調べたり制御したりするために使用されます。デフォルトの動作は、カーネルリングバッファからのすべてのメッセージを表示することです。以下は、dmesgコマンドの動作をよりよく理解するためのQ&Aスタイルの例です。
Q1. dmesgコマンドの使い方は?
コマンドラインオプションなしでdmesgコマンドを使用開始できます。
dmesgたとえば、私のケースでコマンドが生成した出力の一部は次のとおりです:

Q2. 出力をエラーと警告のみに制限するには?
システムでdmesgを実行すると、多くの情報が出力されることに気付くでしょう。探しているものに応じて、出力をフィルタリングまたは制限したい場合があります。そのために、dmesgは「レベル」を通じてこの能力を提供します。以下は、レベルの完全なリスト(およびその説明)です:
emerg - システムが使用不可
alert - 直ちに行動を取る必要がある
crit - 重大な条件
err - エラー条件
warn - 警告条件
notice - 通常だが重要な条件
info - 情報
debug - デバッグレベルのメッセージたとえば、出力をエラーと警告のみに制限したい場合、次のようにできます:
dmesg --level=err,warn私のケースでは、上記のコマンドが生成した出力の一部は次のとおりです:

Q3. dmesgの出力にタイムスタンプを表示させるには?
時々、dmesgが生成するメッセージにタイムスタンプを関連付けたい場合があります。これは、-Tコマンドラインオプションを使用することで実現でき、人間が読みやすいタイムスタンプを生成します。
dmesg -T以下は出力の例です:

これで、各メッセージにタイムスタンプが前置きされているのがわかります。
Q4. dmesgに特定のデバイスに関する情報を表示させるには?
たとえば、dmesgにeth0インターフェースに関連する情報のみを表示させたい場合、次のようにできます:
dmesg | grep -i eth0以下は出力の例です:
Q5. dmesgにユーザースペースメッセージのみを表示させるには?
dmesgの出力をユーザースペースメッセージのみに制限したい場合は、-uコマンドラインオプションを使用します。
dmesg -u
結論
確かに、dmesgは毎日必要なコマンドではありません。しかし、誰か(特定のトピックについて助けを求めた相手)がカーネルメッセージを提供するように求めたときに頼るべきツールです。私は主に、経験豊富なユーザーがカーネル出力を求めるオンラインユーザーフォーラムでこのケースを見てきました。
ここでは、このチュートリアルで初心者の視点からdmesgコマンドについて説明しました(始めるために)。ここで説明したすべての練習が終わったら、ツールのmanページに進んでください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。