Въведение в командата dmesg на Linux

An Introduction Linux S Dmesg Command



Всяка операционна система, включително Linux, извършва някои дейности безшумно, без да уведомява потребителя. Въпреки че потребителят не знае за тези дейности, може да се наложи да проверите тези дейности, за да идентифицирате проблемите с операционната система и устройствата, свързани с компютърната система.

За щастие, за операционната система Linux всички тези дейности се записват в пръстеновия буфер, който може да бъде достъпен с помощта на командата за диагностични съобщения (или dmesg). Командата dmesg в Linux може да се използва за показване на всички съобщения, свързани със събитията, които се случват във вашата операционна система. Тази статия ще ви научи как да използвате тази полезна команда в Linux.







Забележка: За този урок използвахме Linux Mint 20



Използване на командите

Ще обясним използването на командата за диагностични съобщения, като обсъдим няколко примера.



Пример #1: Преглед на всички диагностични съобщения

Можем да видим всички видове диагностични съобщения наведнъж, като изпълним тези стъпки.





Първо, трябва да кликнете върху иконата за бърз достъп на терминала Linux Mint 20, за да го стартирате.

Можете да видите новооткрития терминал на изображението по -долу:



Сега просто ще изпълним следната команда в терминала:

Изпълнението на тази команда ще покаже дълъг списък от диагностични съобщения на вашия терминал. Можете да превъртите надолу, за да видите всички съобщения, както е показано на изображението по -долу:

Пример #2: Преглед на диагностични съобщения страница по страница

В предишния пример списъкът с диагностични съобщения беше много дълъг и непрактичен за четене. Ето защо може да искате да видите тези съобщения страница по страница. което може да стане с помощта на командата less в Linux. В показаната по -долу команда пренасяме изхода на командата dmesg към командата less, така че диагностичните съобщения да се показват страница по страница.

Можете да видите резултата от модифицираната команда dmesg на изображението по -долу.

След като прочетете първата страница, можете да натиснете интервала, за да преминете към следващата страница и така нататък, докато се достигне последната страница, както е посочено от ключовата дума END на следното изображение:

Пример #3: Преглед на диагностични съобщения със специфично ниво на тежест

Нивата на тежест на диагностичните съобщения варират в зависимост от целта, на която служат. Например, някои съобщения предават обща информация, докато други съдържат предупреждения. Можете да изберете да видите всички диагностични съобщения с определено ниво на тежест, както следва:

Първо изпълнете командата dmesg –level = LEVEL във вашия терминал на Linux Mint 20. Тук трябва да замените LEVEL с валидно ниво (например грешка, предупреждение, информация, забележка). В нашия пример, тъй като искаме да видим всички диагностични съобщения на нивото на грешка, заменихме LEVEL с грешка.

Тази команда ще върне всички диагностични съобщения, които имат ниво на грешка, както е показано на следното изображение:

Пример #4: Преглед на версията на Linux с команда dmesg

Когато изпълнихме командата dmesg без никакви други параметри, изходът беше твърде голям, за да се види веднага. Наред с цялата друга информация, версията на вашата Linux система също се показваше в този изход, но беше трудно да се намери. Ако искате да видите вашата версия на Linux с командата dmesg, тогава можете да изпълните следната команда във вашия терминал:

Изпълнението на тази команда ще покаже версията на Linux на вашия терминал, както е показано на изображението по -долу:

Пример #5: Преглед на диагностични съобщения с времеви отметки

Събитие се случва в операционна система в определен момент. За регистрационните и одиторските задачи е важно да разгледате времевите отметки на събитията, които се случват във вашата операционна система, за да можете да разберете кога е възникнал проблем. За да видите часовите марки на диагностичните съобщения, можете да изпълните командата по -долу във вашия терминал:

Изходът на следното изображение показва точните часови марки, включително деня, датата и часа, преди всяко диагностично съобщение.

Пример #6: Преглед на диагностичните съобщения, свързани с конкретно устройство

Диагностичните съобщения, показвани само чрез изпълнението на командата dmesg, не са специфични за нито едно устройство; вместо това съобщенията, свързани с всички устройства, се показват едновременно. Може обаче да искате да видите диагностичните съобщения за конкретно устройство, за да определите проблемите, свързани само с това устройство.

Командата dmesg ви позволява да направите това, като изпълните командата dmesg | grep –i УСТРОЙСТВО. Тук трябва да замените DEVICE с името на устройството, чиито диагностични съобщения искате да видите. В нашия случай искаме да проверим диагностичните съобщения на мишката. Следователно заменихме DEVICE с мишка.

Когато изпълните тази команда, всички диагностични съобщения, свързани с мишката, ще бъдат показани на вашия терминал, както е показано на следното изображение. Можете да видите диагностичните съобщения на всяко I/O устройство по същия начин.

Пример #7: Преглед на диагностични съобщения с техните нива на сериозност

Разгледахме диагностичните съобщения с определено ниво на тежест в Пример #3. Ако обаче искаме да покажем всички диагностични съобщения с техните нива на тежест, тогава можем да изпълним командата dmesg –x. Флагът -x може да се използва с командата dmesg за показване на диагностичните съобщения с техните нива на тежест.

Можете да видите от следния изход, че нивото на тежест на диагностично съобщение се появява в началото на съобщението.

Пример #8: Изчистване на историята на диагностичните съобщения

Хиляди събития се случват в операционната система, която изобразява вашата ОС, и тези събития генерират дълъг списък от диагностични съобщения, както е показано в пример #1. Въпреки това, системата Linux също предоставя начин за изчистване на този дневник.

За да изчистите историята на диагностичните си съобщения, можете да изпълните командата sudo dmesg –C. За да изчистите историята на диагностичните съобщения, която е важна за целите на одита, трябва да изпълните командата dmesg с привилегии sudo. В противен случай няма да имате право да извършите тази операция. Освен това флагът -C, съчетан с командата dmesg, е отговорен за изчистването на дневника на dmesg.

След като изпълните тази команда, нищо няма да се покаже на вашия терминал. Следователно, за да проверим дали историята на диагностичните съобщения е изчистена, ще изпълним отново командата dmesg. Този път командата dmesg няма да върне никакви диагностични съобщения на вашия терминал, защото историята е изтрита.

Заключение

Този урок представя диагностичните съобщения, генерирани от операционната система Linux и ви показва как да видите времевите марки на събитията, настъпили в операционната система, как да запишете всички събития с определено ниво на тежест и как да видите диагностичните съобщения, свързани с конкретно устройство. По -усъвършенствани варианти на командата dmesg, споделени в тази статия, могат да бъдат създадени, за да се получат различни резултати.