Linux Kommandozeile für Anfänger - Teil 4 - Logs, man & Aliase
Inhaltsverzeichnis:
- Verwenden des
dmesg
- Formatieren der
dmesg
Ausgabe - Filterung der
dmesg
Ausgabe - Löschen des Ringpuffers
- Fazit
Der Linux-Kernel ist der Kern des Betriebssystems, der den Zugriff auf Systemressourcen wie CPU, E / A-Geräte, physischen Speicher und Dateisysteme steuert. Der Kernel schreibt während des Startvorgangs und bei laufendem System verschiedene Meldungen in den Kernel-Ringpuffer. Diese Meldungen enthalten verschiedene Informationen zum Betrieb des Systems.
Der Kernel-Ringpuffer ist ein Teil des physischen Speichers, der die Protokollnachrichten des Kernels enthält. Die Größe ist fest, dh sobald der Puffer voll ist, werden die älteren Protokollsätze überschrieben.
Das
dmesg
wird zum Drucken und Steuern des Kernel-Ringpuffers unter Linux und anderen Unix-ähnlichen Betriebssystemen verwendet. Es ist nützlich, um Kernel-Boot-Meldungen zu untersuchen und Hardware-Probleme zu beheben.
In diesem Tutorial werden die Grundlagen des Befehls
dmesg
.
Verwenden des
dmesg
Die Syntax für den Befehl
dmesg
lautet wie folgt:
dmesg
Beim
dmesg
ohne Optionen schreibt
dmesg
alle Nachrichten aus dem Kernel-Ringpuffer in die Standardausgabe:
dmesg
Standardmäßig können alle Benutzer den Befehl
dmesg
. Auf einigen Systemen ist der Zugriff auf
dmesg
möglicherweise für Benutzer ohne
dmesg
eingeschränkt. In dieser Situation wird beim Aufrufen von
dmesg
die folgende Fehlermeldung
dmesg
:
dmesg: read kernel buffer failed: Operation not permitted
Der
kernel.dmesg_restrict
gibt an, ob nichtprivilegierte Benutzer
dmesg
verwenden
dmesg
, um Nachrichten aus dem Protokollpuffer des Kernels
dmesg
. Um die Einschränkungen zu entfernen, setzen Sie ihn auf Null:
sudo sysctl -w kernel.dmesg_restrict=0
Normalerweise enthält die Ausgabe viele Informationszeilen, sodass nur der letzte Teil der Ausgabe angezeigt werden kann. Um jeweils eine Seite anzuzeigen, leiten Sie die Ausgabe an ein Pager-Dienstprogramm weiter, z. B.
less
oder
more
:
dmesg --color=always | less
Mit
--color=always
wird die
--color=always
beibehalten.
dmesg | grep -i usb
dmesg
liest die vom Kernel generierten Nachrichten aus der virtuellen Datei
/proc/kmsg
. Diese Datei bietet eine Schnittstelle zum Kernel-Ringpuffer und kann nur von einem Prozess geöffnet werden. Wenn der
syslog
Prozess auf Ihrem System ausgeführt wird und Sie versuchen, die Datei mit
cat
oder
less
zu lesen, bleibt der Befehl hängen.
Der
syslog
Dämon speichert Kernel-Nachrichten in
/var/log/dmesg
, sodass Sie auch diese Protokolldatei verwenden können:
Formatieren der
dmesg
Ausgabe
Der Befehl
dmesg
bietet eine Reihe von Optionen, mit denen Sie die Ausgabe formatieren und filtern können.
Eine der am häufigsten verwendeten Optionen von
dmesg
ist
-H
(
--human
), wodurch die vom Menschen lesbare Ausgabe ermöglicht wird. Diese Option leitet die Befehlsausgabe an einen Pager weiter:
dmesg -H
Verwenden Sie zum Drucken von lesbaren Zeitstempeln die Option
-T
(
--ctime
):
dmesg -T
IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready
Das Zeitstempelformat kann auch mit dem
--time-format
dmesg --time-format=delta
Sie können auch zwei oder mehr Optionen kombinieren:
dmesg -H -T
Verwenden Sie die Option
-w
(
--follow
), um die Ausgabe des Befehls
dmesg
in Echtzeit zu
--follow
:
Filterung der
dmesg
Ausgabe
Sie können die
dmesg
Ausgabe auf bestimmte Funktionen und Ebenen beschränken.
Die Einrichtung stellt den Prozess dar, der die Nachricht erstellt hat.
dmesg
unterstützt die folgenden Protokollfunktionen:
-
kern
- Kernel-Nachrichtenuser
- Nachrichten aufuser
mail
- Mail-System-daemon
- System-Daemonsauth
- Sicherheits- / Autorisierungsnachrichtensyslog
- Interne Syslogd-Nachrichtenlpr
- Zeilendrucker-Subsystem-news
- Netzwerk-News-Subsystem
Die
-f
(
--facility
) Mit dieser Option können Sie die Ausgabe auf bestimmte Funktionen beschränken. Die Option akzeptiert eine oder mehrere durch Kommas getrennte Einrichtungen.
Um beispielsweise nur die Kernel- und System-Daemon-Meldungen anzuzeigen, würden Sie Folgendes verwenden:
dmesg -f kern, daemon
Jede Protokollnachricht ist mit einer Protokollebene verknüpft, die die Wichtigkeit der Nachricht anzeigt.
dmesg
unterstützt die folgenden Protokollebenen:
-
emerg
- System ist unbrauchbar.alert
- Sofortigecrit
critical conditionserr
- Fehlerzuständewarn
-notice
Warnungszustände - Normale, aber wichtige Zustandsinformationen - Informationsdebuggen - Meldungen auf Debug-Ebene
Das
-l
(
--level
) beschränkt die Ausgabe auf definierte Ebenen. Die Option akzeptiert eine oder mehrere durch Kommas getrennte Ebenen.
Der folgende Befehl zeigt nur die Fehler- und kritischen Meldungen an:
Löschen des Ringpuffers
Mit der Option
-C
(
--clear
) können Sie den Ringpuffer löschen:
sudo dmesg -C
Nur Root-Benutzer oder Benutzer mit sudo-Berechtigungen können den Puffer löschen.
Verwenden Sie die Option
-c
(
--read-clear
), um den
--read-clear
vor dem Löschen zu drucken:
sudo dmesg -c
Fazit
Mit
dmesg
Befehl
dmesg
können Sie den Kernel-Ringpuffer anzeigen und steuern. Dies kann bei der Fehlerbehebung bei Kernel- oder Hardwareproblemen sehr hilfreich sein.
man dmesg
Sie
man dmesg
in Ihr Terminal ein, um Informationen zu allen verfügbaren
dmesg
Optionen zu erhalten.
Befehl Chgrp unter Linux (Gruppe wechseln)
In Linux ist jede Datei einem Eigentümer und einer Gruppe zugeordnet und verfügt über Berechtigungen, die festlegen, welche Benutzer die Datei lesen, schreiben oder ausführen dürfen. Der Befehl chgrpc ändert die Gruppeneigentümerschaft für bestimmte Dateien.
Diff Befehl unter Linux
diff ist ein Befehlszeilenprogramm, mit dem Sie zwei Dateien zeilenweise vergleichen können. Es kann auch den Inhalt von Verzeichnissen vergleichen.
Freier Befehl unter Linux
Wie viel freier RAM-Speicher habe ich auf meinem Linux-System? Der Befehl "free" gibt Auskunft über die Gesamtgröße des Arbeitsspeichers sowie über den freien und belegten Arbeitsspeicher und den Auslagerungsspeicher im System.