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

たとえば、私のケースでコマンドが生成した出力の一部は次のとおりです:

dmesgコマンドの使い方

Q2. 出力をエラーと警告のみに制限するには?

システムでdmesgを実行すると、多くの情報が出力されることに気付くでしょう。探しているものに応じて、出力をフィルタリングまたは制限したい場合があります。そのために、dmesgは「レベル」を通じてこの能力を提供します。以下は、レベルの完全なリスト(およびその説明)です:

   emerg - システムが使用不可
   alert - 直ちに行動を取る必要がある
    crit - 重大な条件
     err - エラー条件
    warn - 警告条件
  notice - 通常だが重要な条件
    info - 情報
   debug - デバッグレベルのメッセージ

たとえば、出力をエラーと警告のみに制限したい場合、次のようにできます:

dmesg --level=err,warn

私のケースでは、上記のコマンドが生成した出力の一部は次のとおりです:

出力をエラーと警告のみに制限する

Q3. dmesgの出力にタイムスタンプを表示させるには?

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

dmesg -T

以下は出力の例です:

dmesgの出力にタイムスタンプを表示させる

これで、各メッセージにタイムスタンプが前置きされているのがわかります。

Q4. dmesgに特定のデバイスに関する情報を表示させるには?

たとえば、dmesgにeth0インターフェースに関連する情報のみを表示させたい場合、次のようにできます:

dmesg | grep -i eth0

以下は出力の例です:

Q5. dmesgにユーザースペースメッセージのみを表示させるには?

dmesgの出力をユーザースペースメッセージのみに制限したい場合は、-uコマンドラインオプションを使用します。

dmesg -u

dmesgにユーザースペースメッセージのみを表示させる

結論

確かに、dmesgは毎日必要なコマンドではありません。しかし、誰か(特定のトピックについて助けを求めた相手)がカーネルメッセージを提供するように求めたときに頼るべきツールです。私は主に、経験豊富なユーザーがカーネル出力を求めるオンラインユーザーフォーラムでこのケースを見てきました。

ここでは、このチュートリアルで初心者の視点からdmesgコマンドについて説明しました(始めるために)。ここで説明したすべての練習が終わったら、ツールのmanページに進んでください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。