dmesg - カーネルリングバッファを表示または制御します
構文
dmesg [オプション]
dmesg --clear
dmesg --read-clear [オプション]
dmesg --console-level レベル
dmesg --console-on
dmesg --console-off
説明
dmesg は、カーネルリングバッファを調べたり制御したりするために使用します。
デフォルトの動作は、カーネルリングバッファのすべてのメッセージを表示することです。
オプション
--clear、--read-clear、--console-on、--console-off、および --console-level オプションは、すべて相互に排他的です。
-C, --clear
リングバッファをクリアします。
-c, --read-clear
リングバッファの内容を最初に表示した後、リングバッファをクリアします。
-D, --console-off
コンソールへのメッセージの出力を無効にします。
-d, --show-delta
タイムスタンプと、メッセージ間の経過時間を表示します。--notime と組み合わせて使用すると、タイムスタンプなしで経過時間のみが表示されます。
-E, --console-on
コンソールへのメッセージの出力を有効にします。
-e, --reltime
ローカル時間と、人間が読みやすい形式のデルタを表示します。ローカル時間への変換は不正確になる可能性があることに注意してください(詳細については、-T を参照してください)。
-F, --file ファイル
指定されたファイルから syslog メッセージを読み取ります。-F は、kmsg 形式のメッセージをサポートしていません。代わりに -K を使用してください。
-f, --facility リスト
出力を、指定された(カンマ区切り)施設のリストに制限します。たとえば:
dmesg --facility=daemon
は、システムデーモンからのメッセージのみを出力します。サポートされているすべての施設については、--help の出力を参照してください。
-H, --human
人間が読みやすい出力を有効にします。--color、--reltime、および --nopager も参照してください。
-J, --json
JSON 出力形式を使用します。時刻の出力形式は「秒.マイクロ秒」形式でのみ、ログ優先度レベルはデフォルトではデコードされません(ファシリティーと優先度に分割するには --decode を使用します)。他の出力形式または時刻形式を制御するオプションは、すべて無視されます。
-K, --kmsg-file ファイル
指定されたファイルから /dev/kmsg メッセージを読み取ります。異なるレコードは、NULL バイトで区切られている必要があります。
-k, --kernel
カーネルメッセージを出力します。
-L, --color[=when]
出力を色付けします。オプションの引数 when は、auto、never、または always にすることができます。when 引数が省略された場合、デフォルトは auto になります。色を無効にすることができます。現在の組み込みのデフォルトについては、--help の出力を参照してください。COLORS セクションも参照してください。
-l, --level リスト
出力を、指定された(カンマ区切り)レベルのリストに制限します。たとえば:
dmesg --level=err,warn
は、エラーメッセージと警告メッセージのみを出力します。サポートされているすべてのレベルについては、--help の出力を参照してください。
レベル名にプラス + を追加すると、それよりも高いすべてのレベルも含まれます。たとえば:
dmesg --level=err+
は、レベル err、crit、alert、および emerg を出力します。
先頭に付けると、それよりも低いすべてのレベルが含まれます。
-n, --console-level レベル
メッセージをコンソールに出力するレベルを設定します。レベルはレベル番号またはレベル名の省略形です。サポートされているすべてのレベルについては、--help の出力を参照してください。
たとえば、-n 1 または -n emerg を使用すると、緊急 (パニック) メッセージを除き、すべてのメッセージがコンソールに表示されなくなります。すべてのレベルのメッセージは /proc/kmsg にも書き込まれるため、syslogd(8) を使用して、カーネルメッセージがどこに表示されるかを正確に制御できます。-n オプションを使用すると、dmesg はカーネルリングバッファーを印刷またはクリアしません。
--noescape
デフォルトでは、印刷できない可能性があり、安全でない文字 (壊れたマルチバイトシーケンス、ターミナル制御文字など) が、セキュリティ上の理由から \x<16進数> 形式でエスケープされます。このオプションは、この機能を無効にします。たとえば、--raw と組み合わせてデバッグ目的で使用できます。ただし、デフォルトで使用しないでください。
-P、--nopager
出力をページャにパイプしないでください。ページャは、--human 出力に対してデフォルトで有効になります。
-p、--force-prefix
複数行にわたるメッセージの各行に、ファシリティ、レベル、またはタイムスタンプ情報を追加します。
-r、--raw
ログレベルのプレフィックスを削除せずに、生のメッセージバッファーを印刷します。ただし、すべての印刷できない文字は引き続きエスケープされます ( [--noescape] も参照)。
実際の生の形式は、dmesg がカーネルメッセージを読み取る方法によって異なります。/dev/kmsg デバイスは syslog(2) とは異なる形式を使用します。後方互換性のために、dmesg は常に syslog(2) 形式のデータを返します。たとえば、dd if=/dev/kmsg iflag=nonblock コマンドを使用して、/dev/kmsg から生のデータを読み取ることができます。
-S、--syslog
^ mesg に、カーネルメッセージを読み取るために syslog(2) カーネルインターフェイスを使用するように強制します。デフォルトでは、カーネル 3.5.0 以降、/dev/kmsg を使用します。
-s、--buffer-size サイズ
カーネルリングバッファーをクエリするために、指定されたサイズのバッファーを使用します。デフォルトは 16392 です (デフォルトのカーネル syslog バッファーサイズは、最初は 4096、1.3.54 以降は 8192、2.1.113 以降は 16384 でした)。カーネルバッファーをデフォルトよりも大きく設定した場合は、このオプションを使用して、バッファー全体を表示できます。
-T、--ctime
人間が読めるタイムスタンプを印刷します。
タイムスタンプが不正確になる可能性があることに注意してください。ログで使用される時間ソースは、システムがサスペンド/レジュームされた後、更新されません。タイムスタンプは、ブート時間と単調クロックの現在のデルタに基づいて調整されます。これは、最後のレジューム後に印刷されたメッセージに対してのみ機能します。
--since 時間
指定された時間以降のレコードを表示します。サブ秒単位もサポートされています。時間は、絶対的な形式で、または相対的な形式 (例: 「1時間前」) で指定できます。タイムスタンプが不正確になる可能性があることに注意し、--ctime を参照してください。
--until 時間
指定された時間までのレコードを表示します。サブ秒単位もサポートされています。時間は、絶対的な形式で、または相対的な形式 (例: 「1時間前」) で指定できます。タイムスタンプが不正確になる可能性があることに注意し、--ctime を参照してください。
-t、--notime
カーネルのタイムスタンプを印刷しません。
--time-format 形式
指定された形式でタイムスタンプを印刷します。ctime、reltime、delta、iso、または raw にすることができます。最初の 3 つの形式は、時間形式固有のオプションのエイリアスです。raw 形式では、デフォルトのタイムスタンプ形式が使用され、ブートからの秒数が表示されます。iso 形式は、dmesg 実装による ISO-8601 タイムスタンプ形式です。この形式の目的は、2 つのシステム間でタイムスタンプを比較したり、他の解析を行ったりすることを容易にすることです。iso タイムスタンプの定義は次のとおりです: YYYY-MM-DD<T>HH:MM:SS,<マイクロ秒>←+><UTCからのタイムゾーンオフセット>.
ISO 形式は、ctime と同じ問題があります。システムがサスペンドされ、再開された場合、時刻が正確でない可能性があります。
^ -time-format は、出力する形式ごとに異なる値を指定して複数回使用できます。
デルタは、指定された場合は常に ctime または raw に続きます。
^ u, --userspace
ユーザー空間のメッセージを出力します。
^ w, --follow
新しいメッセージを待ちます。この機能は、/dev/kmsg が読み取り可能であるシステムでのみサポートされます(カーネル 3.5.0 以降)。
^ W, --follow-new
待機し、新しいメッセージのみを出力します。
^ x, --decode
ファシリティ番号とレベル(優先度)を人間が読める形式のプレフィックスにデコードします。
^ h, --help
ヘルプテキストを表示して終了します。
^ V, --version
バージョンを表示して終了します。
色
出力のカラー化は、terminal-colors.d(5) 機能によって実装されます。暗黙的なカラー化は、空のファイルで無効にすることができます。
^ etc/terminal-colors.d/dmesg.disable
^ mesg コマンド用、またはすべてのツール用です。
^ etc/terminal-colors.d/disable
バージョン 2.41 以降、環境変数 $NO_COLOR もサポートされており、コマンドラインオプションで明示的に有効にしない限り、出力のカラー化が無効になります。
ユーザー固有の $XDG_CONFIG_HOME/terminal-colors.d または $HOME/.config/terminal-colors.d は、グローバル設定を上書きします。
出力のカラー化はデフォルトで有効になっている場合があり、この場合、terminal-colors.d ディレクトリはまだ存在する必要はありません。
^ mesg でサポートされている論理的なカラー名:
^ ubsys
メッセージのサブシステムプレフィックス(例: "ACPI:")。
^ ime
メッセージのタイムスタンプ。
^ imebreak
^ -reltime または --human 出力での短い ctime 形式のメッセージタイムスタンプ。
^ lert
アラートログ優先度を持つメッセージのテキスト。
^ rit
クリティカルログ優先度を持つメッセージのテキスト。
^ rr
エラーログ優先度を持つメッセージのテキスト。
^ arn
警告ログ優先度を持つメッセージのテキスト。
^ egfault
セグメンテーションフォルトに関するメッセージのテキスト。
終了ステータス
^ mesg は、権限が拒否されたエラーを報告する可能性があります。これは通常、dmesg_restrict カーネル設定によって発生します。詳細については、syslog(2) を参照してください。
著者
Karel Zak <_>
^ mesg は、Theodore Ts'o <_> によって最初に作成されました。
関連項目
^ erminal-colors.d(5), syslogd(8)
バグ報告
バグ報告には、[https://github.com/util-linux/util-linux/issues] の問題追跡システムを使用してください。
入手方法
^ mesg コマンドは、Linux Kernel Archive [https://www.kernel.org/pub/linux/utils/util-linux/] からダウンロードできる util-linux パッケージの一部です。