Eine Einführung in den dmesg-Befehl von Linux

An Introduction Linux S Dmesg Command



Jedes Betriebssystem, einschließlich Linux, führt einige Aktivitäten im Hintergrund aus, ohne den Benutzer zu benachrichtigen. Obwohl dem Benutzer diese Aktivitäten nicht bekannt sind, kann es erforderlich sein, diese Aktivitäten zu überprüfen, um Betriebssystemprobleme und die an das Computersystem angeschlossenen Geräte zu identifizieren.

Glücklicherweise werden für das Linux-Betriebssystem alle diese Aktivitäten im Ringpuffer protokolliert, auf den mit dem Befehl diagnostic messages (oder dmesg) zugegriffen werden kann. Der Befehl dmesg in Linux kann verwendet werden, um alle Meldungen zu den Ereignissen anzuzeigen, die in Ihrem Betriebssystem stattfinden. In diesem Artikel erfahren Sie, wie Sie diesen hilfreichen Befehl unter Linux verwenden.







Hinweis: Für dieses Tutorial haben wir Linux Mint 20 verwendet



Befehlsverwendung

Wir werden die Verwendung des Befehls Diagnosemeldungen anhand einiger Beispiele erläutern.



Beispiel #1: Anzeigen aller Diagnosemeldungen

Wir können alle Arten von Diagnosemeldungen gleichzeitig anzeigen, indem wir diese Schritte ausführen.





Zuerst müssen wir auf das Verknüpfungssymbol des Linux Mint 20-Terminals klicken, um es zu starten.

Sie können das neu gestartete Terminal im Bild unten sehen:



Jetzt führen wir einfach den folgenden Befehl im Terminal aus:

Wenn Sie diesen Befehl ausführen, wird eine lange Liste von Diagnosemeldungen auf Ihrem Terminal angezeigt. Sie können nach unten scrollen, um alle Nachrichten anzuzeigen, wie in der Abbildung unten gezeigt:

Beispiel #2: Anzeigen von Diagnosemeldungen Seite für Seite

Im vorherigen Beispiel war die Liste der Diagnosemeldungen sehr lang und unpraktisch zu lesen. Daher möchten Sie diese Nachrichten möglicherweise Seite für Seite anzeigen. Dies kann mit dem Befehl less unter Linux erfolgen. Im unten gezeigten Befehl leiten wir die Ausgabe des Befehls dmesg an den Befehl less weiter, sodass Diagnosemeldungen Seite für Seite angezeigt werden.

Sie können die Ausgabe des modifizierten dmesg-Befehls in der Abbildung unten sehen.

Nachdem Sie die erste Seite gelesen haben, können Sie die Leertaste drücken, um zur nächsten Seite zu wechseln usw., bis die letzte Seite erreicht ist, wie durch das Schlüsselwort END in der folgenden Abbildung angezeigt:

Beispiel 3: Anzeigen von Diagnosemeldungen mit einem bestimmten Schweregrad

Die Schweregrade von Diagnosemeldungen variieren je nach ihrem Zweck. Einige Nachrichten enthalten beispielsweise allgemeine Informationen, während andere Warnungen enthalten. Sie können alle Diagnosemeldungen eines bestimmten Schweregrads wie folgt anzeigen:

Führen Sie zunächst den Befehl dmesg –level=LEVEL in Ihrem Linux Mint 20-Terminal aus. Hier müssen Sie LEVEL durch eine gültige Stufe ersetzen (z. B. err, warn, info, notice). Da wir in unserem Beispiel alle Diagnosemeldungen der Fehlerstufe anzeigen wollen, haben wir LEVEL durch err ersetzt.

Dieser Befehl gibt alle Diagnosemeldungen zurück, die die Fehlerstufe haben, wie in der folgenden Abbildung gezeigt:

Beispiel 4: Anzeigen der Linux-Version mit dem Befehl dmesg

Als wir den Befehl dmesg ohne andere Parameter ausgeführt haben, war die Ausgabe zu groß, um sie sofort anzuzeigen. Neben allen anderen Informationen wurde in dieser Ausgabe auch die Version Ihres Linux-Systems angezeigt, die jedoch schwer zu finden war. Wenn Sie Ihre Linux-Version mit dem Befehl dmesg anzeigen möchten, können Sie den folgenden Befehl in Ihrem Terminal ausführen:

Wenn Sie diesen Befehl ausführen, wird die Linux-Version auf Ihrem Terminal angezeigt, wie in der folgenden Abbildung gezeigt:

Beispiel #5: Anzeigen von Diagnosemeldungen mit Zeitstempeln

Ein Ereignis tritt auf einem Betriebssystem zu einem bestimmten Zeitpunkt auf. Bei Protokollierungs- und Überwachungsaufgaben ist es wichtig, sich die Zeitstempel der Ereignisse anzusehen, die in Ihrem Betriebssystem stattfinden, damit Sie feststellen können, wann ein Problem aufgetreten ist. Um die Zeitstempel der Diagnosemeldungen anzuzeigen, können Sie den folgenden Befehl in Ihrem Terminal ausführen:

Die Ausgabe in der folgenden Abbildung zeigt die genauen Zeitstempel, einschließlich Tag, Datum und Uhrzeit, vor jeder Diagnosemeldung.

Beispiel #6: Anzeigen der Diagnosemeldungen zu einem bestimmten Gerät

Die Diagnosemeldungen, die allein durch Ausführen des Befehls dmesg angezeigt werden, sind nicht gerätespezifisch; Stattdessen werden die Meldungen zu allen Geräten gleichzeitig angezeigt. Möglicherweise möchten Sie jedoch die Diagnosemeldungen für ein bestimmtes Gerät anzeigen, um nur die Probleme zu ermitteln, die sich auf dieses Gerät beziehen.

Mit dem Befehl dmesg können Sie dies tun, indem Sie den Befehl dmesg | . ausführen grep –i GERÄT. Hier müssen Sie DEVICE durch den Namen des Gerätes ersetzen, dessen Diagnosemeldungen Sie anzeigen möchten. In unserem Fall wollen wir die Diagnosemeldungen der Maus überprüfen. Daher haben wir DEVICE durch Mouse ersetzt.

Wenn Sie diesen Befehl ausführen, werden alle Diagnosemeldungen in Bezug auf die Maus auf Ihrem Terminal angezeigt, wie in der folgenden Abbildung gezeigt. Sie können die Diagnosemeldungen jedes E/A-Geräts auf die gleiche Weise anzeigen.

Beispiel #7: Anzeigen von Diagnosemeldungen mit ihren Schweregraden

Wir haben uns die Diagnosemeldungen eines bestimmten Schweregrads in Beispiel 3 angesehen. Wenn wir jedoch alle Diagnosemeldungen mit ihrem Schweregrad anzeigen möchten, können wir den Befehl dmesg –x ausführen. Das Flag -x kann mit dem Befehl dmesg verwendet werden, um die Diagnosemeldungen mit ihrem Schweregrad anzuzeigen.

Sie können der folgenden Ausgabe entnehmen, dass der Schweregrad einer Diagnosemeldung am Anfang der Meldung steht.

Beispiel #8: Löschen des Verlaufs der Diagnosemeldungen

Im Betriebssystem, das Ihr Betriebssystem rendert, finden Tausende von Ereignissen statt, und diese Ereignisse erzeugen eine lange Liste von Diagnosemeldungen, wie in Beispiel 1 gezeigt. Das Linux-System bietet jedoch auch eine Möglichkeit, dieses Protokoll zu löschen.

Um den Verlauf Ihrer Diagnosemeldungen zu löschen, können Sie den Befehl sudo dmesg –C ausführen. Um den Verlauf der Diagnosemeldungen zu löschen, was für Auditing-Zwecke wichtig ist, müssen Sie den Befehl dmesg mit sudo-Berechtigungen ausführen. Andernfalls können Sie diesen Vorgang nicht ausführen. Darüber hinaus ist das Flag -C in Verbindung mit dem Befehl dmesg für das Löschen des dmesg-Protokolls verantwortlich.

Sobald Sie diesen Befehl ausführen, wird auf Ihrem Terminal nichts mehr angezeigt. Um zu überprüfen, ob der Verlauf der Diagnosemeldungen gelöscht wurde, führen wir den Befehl dmesg erneut aus. Diesmal gibt der Befehl dmesg keine Diagnosemeldungen auf Ihrem Terminal zurück, da der Verlauf gelöscht wurde.

Abschluss

Dieses Tutorial stellt die vom Linux-Betriebssystem generierten Diagnosemeldungen vor und zeigt Ihnen, wie Sie die Zeitstempel der Ereignisse anzeigen, die auf dem Betriebssystem aufgetreten sind, wie Sie alle Ereignisse eines bestimmten Schweregrads aufzeichnen und wie Sie die Diagnosemeldungen im Zusammenhang mit ein bestimmtes Gerät. Fortgeschrittenere Variationen des in diesem Artikel vorgestellten dmesg-Befehls können erstellt werden, um andere Ergebnisse zu erzielen.