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.