Linux-Befehle

Eine Einführung in den dmesg-Befehl von Linux

Eine Einführung in den dmesg-Befehl von Linux
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 Probleme mit dem Betriebssystem und den an das Computersystem angeschlossenen Geräten zu identifizieren.

Glücklicherweise werden für das Linux-Betriebssystem all 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 erklären die Verwendung des Befehls Diagnosemeldungen anhand einiger Beispiele explain.

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. was mit dem less-Befehl in Linux möglich ist. 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 im Bild 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 Zweck, dem sie dienen. 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 zuerst den Befehl dmesg -level=LEVEL in Ihrem Linux Mint 20-Terminal aus. Hier müssen Sie LEVEL durch ein gültiges Level ersetzen (e.G., err, warnen, info, merken). Da wir in unserem Beispiel alle Diagnosemeldungen der Fehlerstufe anzeigen möchten, 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 einer bestimmten Zeit 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 a. 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 die Probleme nur mit diesem Gerät zu ermitteln.

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 dürfen 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 nichts auf Ihrem Terminal 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.

Fazit

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 anzeigen, die sich auf ein bestimmtes Gerät. Fortgeschrittenere Variationen des in diesem Artikel beschriebenen dmesg-Befehls können erstellt werden, um andere Ergebnisse zu erzielen.

Kostenlose und Open-Source-Spiele-Engines für die Entwicklung von Linux-Spielen
Dieser Artikel behandelt eine Liste von kostenlosen und Open-Source-Spiele-Engines, die für die Entwicklung von 2D- und 3D-Spielen unter Linux verwend...
Shadow of the Tomb Raider für Linux Tutorial
Shadow of the Tomb Raider ist die zwölfte Erweiterung der Tomb Raider-Reihe – ein Action-Adventure-Franchise von Eidos Montrealdos. Das Spiel wurde vo...
So steigern Sie die FPS unter Linux?
FPS steht für Bilder pro Sekunde. Die Aufgabe von FPS besteht darin, die Bildrate bei Videowiedergaben oder Spielleistungen zu messen. In einfachen Wo...