Handbücher für die Kommandozeile

Man » dmesg Manual online – detaillierte Online-Dokumentation für die dmesg-Manpage

🌍
dmesg - gibt den Kernel-Ringpuffer aus oder steuert ihn.

SYNOPSIS

dmesg [Optionen]

dmesg --clear

dmesg --read-clear [Optionen]

dmesg --console-level level

dmesg --console-on

dmesg --console-off

DESCRIPTION

dmesg wird verwendet, um den Kernel-Ringpuffer anzuzeigen oder zu steuern.

Die Standardaktion besteht darin, alle Nachrichten aus dem Kernel-Ringpuffer anzuzeigen.

OPTIONEN

Die Optionen --clear, --read-clear, --console-on, --console-off und --console-level sind gegenseitig exklusiv.

-C, --clear

Leert den Ringpuffer.

-c, --read-clear

Leert den Ringpuffer, nachdem zuerst dessen Inhalt ausgegeben wurde.

-D, --console-off

Deaktiviert die Ausgabe von Nachrichten an die Konsole.

-d, --show-delta

Zeigt den Zeitstempel und die Zeitdifferenz zwischen den Nachrichten an. Wenn zusammen mit --notime verwendet, wird nur die Zeitdifferenz ohne den Zeitstempel ausgegeben.

-E, --console-on

Aktiviert die Ausgabe von Nachrichten an die Konsole.

-e, --reltime

Zeigt die lokale Zeit und die Zeitdifferenz in einem für Menschen lesbaren Format an. Beachten Sie, dass die Umrechnung in die lokale Zeit ungenau sein kann (siehe -T für weitere Informationen).

-F, --file datei

Liest die Syslog-Nachrichten aus der angegebenen Datei. Beachten Sie, dass -F keine Nachrichten im kmsg-Format unterstützt. Verwenden Sie stattdessen -K.

-f, --facility liste

Beschränkt die Ausgabe auf die angegebene (durch Komma getrennte) Liste von Einrichtungen. Zum Beispiel:

dmesg --facility=daemon

gibt nur Nachrichten von System-Daemons aus. Für alle unterstützten Einrichtungen siehe die Ausgabe von --help.

-H, --human

Aktiviert die menschenlesbare Ausgabe. Siehe auch --color, --reltime und --nopager.

-J, --json

Verwendet das JSON-Ausgabeformat. Das Zeitstempelformat ist nur im Format "Sekunde.Mikrosekunde", die Protokollpriorität wird standardmäßig nicht dekodiert (verwenden Sie --decode, um sie in Einrichtung und Priorität aufzuteilen), die anderen Optionen zur Steuerung des Ausgabeformats oder des Zeitstempelformats werden stillschweigend ignoriert.

-K, --kmsg-file datei

Liest die /dev/kmsg-Nachrichten aus der angegebenen Datei. Verschiedene Datensätze sind voneinander durch ein NULL-Byte getrennt.

-k, --kernel

Gibt Kernel-Nachrichten aus.

-L, --color[=wenn]

Färbt die Ausgabe ein. Das optionale Argument "wenn" kann auto, never oder always sein. Wenn das Argument "wenn" weggelassen wird, ist der Standardwert auto. Die Farben können deaktiviert werden; für die aktuelle Standardeinstellung siehe die Ausgabe von --help. Siehe auch den Abschnitt COLORS unten.

-l, --level liste

Beschränkt die Ausgabe auf die angegebene (durch Komma getrennte) Liste von Ebenen. Zum Beispiel:

dmesg --level=err,warn

gibt nur Fehlermeldungen und Warnmeldungen aus. Für alle unterstützten Ebenen siehe die Ausgabe von --help.

Durch das Anhängen eines Pluszeichens + an einen Ebenennamen werden auch alle höheren Ebenen eingeschlossen. Zum Beispiel:

dmesg --level=err+

gibt die Logstufen err, crit, alert und emerg aus.

Das Anhängen bewirkt, dass alle niedrigeren Stufen eingeschlossen werden.

-n, --console-level level
Legt die Stufe fest, ab der Nachrichten auf der Konsole ausgegeben werden. Die Stufe ist eine
Stufennummer oder eine Abkürzung des Stufennamens. Für alle unterstützten Stufen siehe die
Ausgabe von --help.

Zum Beispiel verhindert -n 1 oder -n emerg alle Nachrichten, mit Ausnahme von
Notfallnachrichten (panic), die auf der Konsole angezeigt werden. Alle Stufen von Nachrichten
werden weiterhin in /proc/kmsg geschrieben, sodass syslogd(8) weiterhin verwendet werden kann,
um genau zu steuern, wo Kernel-Nachrichten angezeigt werden. Wenn die Option -n verwendet wird,
gibt dmesg die Kernel-Ringpuffer nicht aus oder löscht sie nicht.

--noescape
Die unlesbaren und potenziell unsicheren Zeichen (z. B. fehlerhafte Multibyte-Sequenzen,
Terminalsteuerzeichen usw.) werden standardmäßig aus Sicherheitsgründen im Format \x<hex>
maskiert. Diese Option deaktiviert diese Funktion. Sie kann beispielsweise zum Debuggen zusammen
mit --raw verwendet werden. Seien Sie vorsichtig und verwenden Sie sie nicht standardmäßig.

-P, --nopager
Die Ausgabe nicht an einen Pager weiterleiten. Ein Pager ist standardmäßig für --human
aktiviert.

-p, --force-prefix
Fügt jeder Zeile einer mehrzeiligen Nachricht Informationen zur Einrichtung, Stufe oder zum
Zeitstempel hinzu.

-r, --raw
Gibt den rohen Nachrichtenpuffer aus, d. h. die Logstufenpräfixe werden nicht entfernt, aber alle
unlesbaren Zeichen werden weiterhin maskiert (siehe auch --noescape).

Beachten Sie, dass das tatsächliche Rohformat von der Methode abhängt, wie dmesg Kernel-
Nachrichten liest. Das Gerät /dev/kmsg verwendet ein anderes Format als syslog(2). Um die
Abwärtskompatibilität zu gewährleisten, gibt dmesg die Daten immer im Format syslog(2) zurück.
Es ist möglich, die rohen Daten von /dev/kmsg zu lesen, z. B. mit dem Befehl 'dd if=/dev/kmsg
iflag=nonblock'.

-S, --syslog
Erzwingt, dass dmesg die Kernel-Schnittstelle syslog(2) verwendet, um Kernel-Nachrichten zu
lesen. Standardmäßig wird ab Kernel 3.5.0 /dev/kmsg anstelle von syslog(2) verwendet.

-s, --buffer-size size
Verwendet einen Puffer der Größe, um den Kernel-Ringpuffer abzufragen. Standardmäßig ist dies
16392. (Die Standardgröße des Kernel-Syslog-Puffers betrug zunächst 4096, 8192 ab 1.3.54 und
16384 ab 2.1.113.) Wenn Sie den Kernel-Puffer auf eine größere Größe als die Standardgröße
festgelegt haben, kann diese Option verwendet werden, um den gesamten Puffer anzuzeigen.

-T, --ctime
Gibt lesbare Zeitstempel aus.

Beachten Sie, dass der Zeitstempel ungenau sein kann! Die für die Protokolle verwendete
Zeitquelle wird nach dem System-SUSPEND/RESUME nicht aktualisiert. Die Zeitstempel werden
entsprechend der aktuellen Differenz zwischen der Bootzeit und den monotonen Uhren angepasst,
dies funktioniert jedoch nur für Nachrichten, die nach dem letzten Wiederaufnehmen ausgegeben
werden.

--since time
Zeigt Protokolle ab dem angegebenen Zeitpunkt an. Es wird eine Subsekundengenauigkeit unterstützt.
Der Zeitpunkt kann entweder absolut oder relativ angegeben werden (z. B. „vor 1 Stunde“). Beachten
Sie, dass der Zeitstempel ungenau sein kann, und siehe --ctime für weitere Details.

--until time
Zeigt Protokolle bis zum angegebenen Zeitpunkt an. Es wird eine Subsekundengenauigkeit unterstützt.
Der Zeitpunkt kann entweder absolut oder relativ angegeben werden (z. B. „vor 1 Stunde“). Beachten
Sie, dass der Zeitstempel ungenau sein kann, und siehe --ctime für weitere Details.

-t, --notime

Gibt die Kernel-Zeitstempel nicht aus.

--time-format format

Gibt die Zeitstempel mit dem angegebenen Format aus, das ctime, reltime, delta, iso oder raw sein kann. Die ersten drei Formate sind Aliase für die formatspezifischen Optionen. Das Format „raw“ verwendet das Standard-Zeitstempelformat, das die Sekunden seit dem Systemstart anzeigt. Das Format „iso“ ist eine dmesg-Implementierung des ISO-8601-Zeitstempelformats. Der Zweck dieses Formats ist es, den Vergleich von Zeitstempeln zwischen zwei Systemen und jede andere Analyse zu vereinfachen. Die Definition des ISO-Zeitstempels ist: JJJJ-MM-TTHH:MM:SS,←+>.

Das ISO-Format hat das gleiche Problem wie ctime: Die Zeit kann ungenau sein, wenn ein System suspendiert und wiederhergestellt wird.

--time-format kann mehrmals mit unterschiedlichen Werten für format verwendet werden, um jedes
angegebene Format auszugeben.

Delta wird immer zusammen mit ctime oder raw ausgegeben, wenn diese angegeben sind.

-u, --userspace

Gibt Benutzermeldungen aus.

-w, --follow

Wartet auf neue Meldungen. Diese Funktion wird nur auf Systemen mit einem lesbaren /dev/kmsg unterstützt (seit Kernel 3.5.0).

-W, --follow-new

Wartet und gibt nur neue Meldungen aus.

-x, --decode

Decodiert die Facility- und Levelnummern (Prioritäten) in menschenlesbare Präfixe.

-h, --help

Zeigt den Hilfetext an und beendet das Programm.

-V, --version

Zeigt die Version an und beendet das Programm.

FARBEN

Die Farbdarstellung der Ausgabe wird durch die Funktionalität von terminal-colors.d(5) implementiert. Die implizite Farbgebung kann durch eine leere Datei

/etc/terminal-colors.d/dmesg.disable

für den Befehl dmesg oder für alle Tools durch

/etc/terminal-colors.d/disable

deaktiviert werden.

Seit Version 2.41 wird auch die Umgebungsvariable $NO_COLOR unterstützt, um die Farbdarstellung der Ausgabe zu deaktivieren, es sei denn, sie wird durch eine Befehlszeilenoption explizit aktiviert.

Das benutzerspezifische $XDG_CONFIG_HOME/terminal-colors.d oder $HOME/.config/terminal-colors.d überschreibt die globale Einstellung.

Beachten Sie, dass die Farbdarstellung der Ausgabe standardmäßig aktiviert sein kann, und in diesem Fall müssen die Verzeichnisse terminal-colors.d noch nicht vorhanden sein.

Die durch dmesg unterstützten logischen Farbnamen sind:

subsys

Das Präfix des Subsystems der Meldung (z. B. „ACPI:“).

time

Der Zeitstempel der Meldung.

timebreak

Der Zeitstempel der Meldung in kurzem ctime-Format in der Ausgabe von --reltime oder --human.

alert

Der Text der Meldung mit der Alert-Protokollpriorität.

crit

Der Text der Meldung mit der kritischen Protokollpriorität.

err

Der Text der Meldung mit der Fehlerprotokollpriorität.

warn

Der Text der Meldung mit der Warnungsprotokollpriorität.

segfault

Der Text der Meldung, die über einen Segmentierungsfehler informiert.

RÜCKGABESTATUS

dmesg kann fehlschlagen und einen Fehler „Berechtigung verweigert“ melden. Dies wird normalerweise durch die dmesg_restrict-Kernel-Einstellung verursacht. Weitere Informationen finden Sie in syslog(2).

AUTOREN

Karel Zak <_>

dmesg wurde ursprünglich von Theodore Ts’o <_> geschrieben.

SIEHE AUCH

terminal-colors.d(5), syslogd(8)

FEHLERMELDUNGEN

Für Fehlermeldungen verwenden Sie den Issue-Tracker [https://github.com/util-linux/util-linux/issues].


VERFÜGBARKEIT

Der Befehl dmesg ist Teil des Pakets util-linux, das von Linux Kernel Archive heruntergeladen werden kann [https://www.kernel.org/pub/linux/utils/util-linux/].