GNU/Linux >> Linux の 問題 >  >> Linux

初心者向けのLinuxdmesgコマンドチュートリアル(5つの例)

システムの起動時にLinuxカーネルがいくつかのデバイスドライバーをロードすることを知っていますか?実際、システムが稼働していて、ハードウェアデバイスを接続すると、対応するデバイスドライバーも読み込まれます。もちろん、カーネルは他にもたくさんのことをします。これらのカーネルアクティビティに関連する情報を知りたい場合はどうしますか?

カーネルによって出力されたメッセージにアクセスする場合に使用できるコマンド(dmesgと呼ばれる)があります。このチュートリアルでは、わかりやすい例を使用して、dmesgツールがどのように機能するかを理解します。

Linuxdmesgコマンド

dmesgコマンドを使用すると、カーネルリングバッファを印刷または制御できます。その構文は次のとおりです。

dmesg [options]

そして、ツールのマニュアルページで説明されているのは次のとおりです。

dmesg is used to examine or control the kernel ring buffer. The default action is to display all 
messages from the kernel ring buffer.

以下は、dmesgコマンドがどのように機能するかについてより良いアイデアを与えるはずのQ&Aスタイルの例です。

Q1。 dmesgコマンドの使用方法は?

任意のコマンドラインオプションを使用せずに、dmesgコマンドの使用を開始できます。

dmesg

たとえば、私の場合に生成されたコマンドの出力のごく一部を次に示します。

Q2。出力をエラーと警告のみに制限するにはどうすればよいですか?

システムでdmesgを実行すると、大量の情報が出力されることがわかります。探しているものに応じて、出力をフィルタリングまたは制限することができます。その一部として、dmesgは「レベル」を通じてこの機能を提供します。以下は、レベルの完全なリストです(説明とともに):

   emerg - system is unusable
   alert - action must be taken immediately
    crit - critical conditions
     err - error conditions
    warn - warning conditions
  notice - normal but significant condition
    info - informational
   debug - debug-level messages

したがって、たとえば、出力をエラーと警告のみに制限する場合は、次の方法で行うことができます。

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コマンドについて説明しました(開始するためだけに)。ここで説明したすべての練習が終わったら、ツールのマニュアルページにアクセスしてください。


Linux
  1. 初心者向けのLinuxcdコマンドチュートリアル(8例)

  2. 初心者向けのLinux日付コマンドチュートリアル(8例)

  3. 初心者向けのLinuxホスト名コマンドチュートリアル(5つの例)

  1. 初心者向けのLinux通信コマンドチュートリアル(5例)

  2. 初心者向けのLinuxdfコマンドチュートリアル(8例)

  3. 初心者向けのLinuxduコマンドチュートリアル(10例)

  1. 初心者向けのLinuxechoコマンドチュートリアル(5つの例)

  2. 初心者向けのLinuxenvコマンドチュートリアル(5つの例)

  3. 初心者向けのLinuxサイズのコマンドチュートリアル(6つの例)