Na szczęście dla systemu operacyjnego Linux wszystkie te działania są rejestrowane w buforze pierścieniowym, do którego można uzyskać dostęp za pomocą polecenia diagnostycznego (lub DMESG). Komenda DMESG w Linux może być używana do wyświetlania wszystkich wiadomości związanych z zdarzeniami odbywającymi się w systemie operacyjnym. W tym artykule nauczy Cię, jak korzystać z tego pomocnego polecenia w Linux.
Uwaga: W tym samouczku użyliśmy Linux Mint 20
Wykorzystanie dowodzenia
Wyjaśnimy użycie polecenia komunikatów diagnostycznych, omawiając kilka przykładów.
Przykład nr 1: Przeglądanie wszystkich wiadomości diagnostycznych
Możemy oglądać wszystkie rodzaje wiadomości diagnostycznych jednocześnie, wykonując te kroki.
Najpierw musimy kliknąć ikonę skrótów terminali Linux Mint 20, aby.
Możesz zobaczyć nowo uruchomiony terminal na poniższym obrazku:
Teraz po prostu uruchomimy następujące polecenie w terminalu:
Uruchomienie tego polecenia wyświetli długą listę komunikatów diagnostycznych na terminalu. Możesz przewinąć w dół, aby zobaczyć wszystkie wiadomości, jak pokazano na poniższym obrazku:
Przykład nr 2: Przeglądanie wiadomości diagnostycznych według strony
W poprzednim przykładzie lista komunikatów diagnostycznych była bardzo długa i niepraktyczna w czytaniu. Dlatego możesz wyświetlić stronę wiadomości według strony. które można wykonać za pomocą polecenia mniej w Linux. W poleceniu pokazanym poniżej, przekładamy wyjście polecenia DMESG do polecenia mniej, aby komunikaty diagnostyczne były wyświetlane na stronie.
Możesz zobaczyć wyjście zmodyfikowanego polecenia DMESG na poniższym obrazku.
Po przeczytaniu pierwszej strony możesz nacisnąć SpaceBar, aby przejść na następną stronę i tak dalej, aż do osiągnięcia ostatniej strony, jak wskazano słowo kluczowe końcowe na poniższym obrazie:
Przykład nr 3: Przeglądanie komunikatów diagnostycznych o określonym poziomie nasilenia
Poziomy nasilenia komunikatów diagnostycznych różnią się w zależności od celu, w którym służą. Na przykład niektóre wiadomości przekazują ogólne informacje, podczas gdy inne zawierają ostrzeżenia. Możesz wybrać wszystkie komunikaty diagnostyczne określonego poziomu nasilenia w następujący sposób:
Najpierw uruchom polecenie dmesg -level = poziom w terminalu Linux Mint 20. Tutaj musisz zastąpić poziom ważnym poziomem (e.G., err, ostrzegaj, informacje, zawiadomienie). W naszym przykładzie, ponieważ chcemy wyświetlić wszystkie komunikaty diagnostyczne poziomu błędu, zastąpiliśmy poziom błędem.
To polecenie zwróci wszystkie komunikaty diagnostyczne, które mają poziom błędu, jak pokazano na poniższym obrazku:
Przykład nr 4: Przeglądanie wersji Linux za pomocą polecenia DMESG
Kiedy uruchomiliśmy polecenie DMESG bez żadnych innych parametrów, wyjście było zbyt duże, aby jednocześnie wyświetlić. Wraz ze wszystkimi innymi informacjami, wersja systemu Linux została również wyświetlona na tym wyjściu, ale trudno było go zlokalizować. Jeśli chcesz zobaczyć swoją wersję Linux za pomocą polecenia DMESG, możesz uruchomić następujące polecenie w swoim terminalu:
Uruchamianie tego polecenia wyświetli wersję Linux na terminalu, jak pokazano na poniższym obrazku:
Przykład nr 5: Przeglądanie komunikatów diagnostycznych za pomocą znaczników czasu
Zdarzenie odbywa się w systemie operacyjnym w określonym czasie. W przypadku zadań rejestrowania i kontroli, ważne jest, aby spojrzeć na znaczniki czasu zdarzeń, które mają miejsce w systemie operacyjnym, abyś mógł dowiedzieć się, kiedy wystąpił problem. Aby wyświetlić znaczniki czasu komunikatów diagnostycznych, możesz uruchomić poniższe polecenie w terminalu:
Wyjście na poniższym obrazie pokazuje dokładne znaczniki czasu, w tym dzień, datę i godzinę, przed każdym komunikatem diagnostycznym.
Przykład nr 6: Przeglądanie komunikatów diagnostycznych związanych z określonym urządzeniem
Komunikaty diagnostyczne wyświetlane przez uruchamianie samego polecenia DMESG nie są specyficzne dla żadnego urządzenia; Zamiast tego wiadomości związane ze wszystkimi urządzeniami są wyświetlane jednocześnie. Możesz jednak wyświetlić komunikaty diagnostyczne dla konkretnego urządzenia, aby określić problemy związane tylko z tym urządzeniem.
Polecenie DMESG pozwala na to, uruchamiając polecenie Dmesg | grep -i „urządzenie”. Tutaj musisz wymienić urządzenie na nazwę urządzenia, którego komunikaty diagnostyczne chcesz wyświetlić. W naszym przypadku chcemy sprawdzić wiadomości diagnostyczne myszy. Dlatego zastąpiliśmy urządzenie myszą.
Po uruchomieniu tego polecenia wszystkie komunikaty diagnostyczne związane z mysią zostaną wyświetlone na terminalu, jak pokazano na poniższym obrazku. Możesz wyświetlić komunikaty diagnostyczne dowolnego urządzenia we/wy w ten sam sposób.
Przykład nr 7: Przeglądanie komunikatów diagnostycznych z ich poziomem nasilenia
Przeglądaliśmy wiadomości diagnostyczne o określonym poziomie nasilenia w przykładzie nr 3. Jeśli jednak chcemy wyświetlić wszystkie komunikaty diagnostyczne z ich poziomami nasilenia, możemy uruchomić polecenie DMESG -x. Flaga -x może być używana z poleceniem DMESG do wyświetlania komunikatów diagnostycznych z ich poziomami nasilenia.
Z następującego wyjścia można zobaczyć, że poziom nasilenia komunikatu diagnostycznego pojawia się na początku wiadomości.
Przykład nr 8: Wyczyszczenie historii wiadomości diagnostycznych
Tysiące zdarzeń odbywa się w systemie operacyjnym, który renderuje Twój system operacyjny, a te zdarzenia generują długą listę komunikatów diagnostycznych, jak pokazano w przykładzie nr 1. Jednak system Linux zapewnia również sposób na wyczyszczenie tego dziennika.
Aby wyczyścić historię wiadomości diagnostycznych, możesz uruchomić polecenie sudo dmesg -c. Aby wyczyścić historię wiadomości diagnostycznych, która jest ważna do celów kontroli, musisz uruchomić polecenie DMESG z uprawnieniami Sudo. W przeciwnym razie nie będziesz mógł wykonać tej operacji. Ponadto flaga -C w połączeniu z poleceniem DMESG jest odpowiedzialna za wyczyszczenie dziennika DMESG.
Po uruchomieniu tego polecenia nic nie zostanie wyświetlone na terminalu. Dlatego, aby sprawdzić, czy historia wiadomości diagnostycznych została wyczyszczona, ponownie uruchomimy polecenie DMESG. Tym razem polecenie DMESG nie zwróci żadnych wiadomości diagnostycznych na terminalu, ponieważ historia została wymazana.
Wniosek
Ten samouczek wprowadza komunikaty diagnostyczne generowane przez system operacyjny Linux i pokazuje, jak wyświetlić znaczniki czasu zdarzeń, które miały miejsce w systemie operacyjnym, jak rejestrować wszystkie zdarzenia określonego poziomu ciężkości i jak przeglądać komunikaty diagnostyczne związane z określone urządzenie. Można stworzyć bardziej zaawansowane odmiany polecenia DMESG udostępnione w tym artykule, aby uzyskać różne wyniki.