En introduktion till Linux dmesg -kommando

An Introduction Linux S Dmesg Command



Varje operativsystem, inklusive Linux, utför vissa aktiviteter tyst utan att meddela användaren. Även om användaren inte är medveten om dessa aktiviteter, kan det vara nödvändigt att kontrollera dessa aktiviteter för att identifiera operativsystemproblem och de enheter som är anslutna till datorsystemet.

Lyckligtvis, för Linux -operativsystemet, loggas alla dessa aktiviteter i ringbufferten, som kan nås med kommandot diagnostiska meddelanden (eller dmesg). Kommandot dmesg i Linux kan användas för att visa alla meddelanden relaterade till händelserna som äger rum i ditt operativsystem. Den här artikeln lär dig hur du använder det här användbara kommandot i Linux.







Obs! För denna handledning använde vi Linux Mint 20



Kommando användning

Vi kommer att förklara användningen av kommandot diagnostiska meddelanden genom att diskutera några exempel.



Exempel #1: Visa alla diagnosmeddelanden

Vi kan se alla typer av diagnosmeddelanden samtidigt genom att utföra dessa steg.





Först måste vi klicka på genvägsikonen för Linux Mint 20 -terminalen för att starta den.

Du kan se den nyligen lanserade terminalen i bilden nedan:



Nu kör vi helt enkelt följande kommando i terminalen:

Om du kör det här kommandot visas en lång lista med diagnosmeddelanden på din terminal. Du kan rulla ner för att se alla meddelanden, som visas på bilden nedan:

Exempel #2: Visa diagnosmeddelanden sida för sida

I föregående exempel var listan över diagnostiska meddelanden mycket lång och opraktisk att läsa. Därför kanske du vill se dessa meddelanden sida för sida. vilket kan göras med hjälp av det mindre kommandot i Linux. I kommandot som visas nedan rör vi utmatningen av dmesg -kommandot till det mindre kommandot så att diagnosmeddelanden visas sida för sida.

Du kan se utmatningen av det modifierade dmesg -kommandot i bilden nedan.

När du har läst igenom den första sidan kan du trycka på mellanslagstangenten för att gå till nästa sida, och så vidare, tills den sista sidan har nåtts, som anges med SLUT -sökordet i följande bild:

Exempel 3: Visa diagnosmeddelanden med en specifik allvarlighetsnivå

Svårighetsgraden av diagnostiska meddelanden varierar beroende på vilket syfte de tjänar. Till exempel förmedlar vissa meddelanden allmän information, medan andra innehåller varningar. Du kan välja att se alla diagnosmeddelanden för en angiven svårighetsgrad enligt följande:

Kör först kommandot dmesg –level = LEVEL i din Linux Mint 20 -terminal. Här måste du ersätta LEVEL med en giltig nivå (t.ex. fel, varning, info, meddelande). I vårt exempel, eftersom vi vill visa alla diagnostiska meddelanden om felnivån, ersatte vi LEVEL med fel.

Detta kommando returnerar alla diagnosmeddelanden som har felnivån, som visas i följande bild:

Exempel #4: Visa Linux -versionen med dmesg Command

När vi körde dmesg -kommandot utan andra parametrar var utmatningen för stor för att kunna ses direkt. Tillsammans med all annan information visades versionen av ditt Linux -system också i den utmatningen, men det var svårt att hitta. Om du vill se din Linux -version med kommandot dmesg kan du köra följande kommando i din terminal:

Om du kör det här kommandot visas Linux -versionen på din terminal enligt bilden nedan:

Exempel #5: Visa diagnosmeddelanden med tidsstämplar

En händelse inträffar på ett operativsystem vid en viss tidpunkt. För loggnings- och granskningsuppgifter är det viktigt att titta på tidsstämplarna för händelserna i ditt operativsystem så att du kan ta reda på när ett problem uppstod. För att se tidsstämplarna för diagnosmeddelandena kan du köra kommandot nedan i din terminal:

Utmatningen i följande bild visar de exakta tidsstämplarna, inklusive dag, datum och tid, före varje diagnosmeddelande.

Exempel #6: Visa diagnosmeddelanden relaterade till en specifik enhet

Diagnostikmeddelandena som visas genom att köra dmesg -kommandot ensam är inte specifika för någon enhet; i stället visas meddelanden som rör alla enheter samtidigt. Men du kanske vill se diagnosmeddelandena för en viss enhet för att bara avgöra problemen som rör den enheten.

Kommandot dmesg låter dig göra det genom att köra kommandot dmesg | grep –i ENHET. Här måste du ersätta ENHET med namnet på den enhet vars diagnosmeddelanden du vill visa. I vårt fall vill vi kontrollera musens diagnostiska meddelanden. Därför har vi ersatt ENHET med mus.

När du kör det här kommandot visas alla diagnosmeddelanden relaterade till musen på din terminal, som visas i följande bild. Du kan se diagnosmeddelandena för alla I/O -enheter på samma sätt.

Exempel #7: Visa diagnosmeddelanden med deras allvarlighetsnivåer

Vi tittade på diagnosmeddelandena för en viss svårighetsgrad i exempel #3. Men om vi vill visa alla diagnosmeddelanden med deras svårighetsgrad kan vi köra kommandot dmesg –x. Flaggan -x kan användas med dmesg -kommandot för att visa diagnosmeddelandena med deras svårighetsgrad.

Du kan se från följande utdata att svårighetsgraden för ett diagnosmeddelande visas i början av meddelandet.

Exempel 8: Rensa historiken för diagnostiska meddelanden

Tusentals händelser äger rum i operativsystemet som gör ditt operativsystem, och dessa händelser genererar en lång lista med diagnostiska meddelanden, som visas i exempel #1. Linux -systemet ger dock också ett sätt att rensa denna logg.

För att rensa historiken för diagnostiska meddelanden kan du köra kommandot sudo dmesg –C. För att rensa diagnostikmeddelandehistoriken, vilket är viktigt för granskningsändamål, måste du köra kommandot dmesg med sudo -privilegier. Annars får du inte utföra denna operation. Dessutom är -C -flaggan, tillsammans med kommandot dmesg, ansvarig för att rensa dmesg -loggen.

När du har kört det här kommandot visas ingenting på din terminal. Därför, för att verifiera att diagnostikmeddelandets historia har rensats, kör vi dmesg -kommandot igen. Den här gången returnerar dmesg -kommandot inga diagnostiska meddelanden på din terminal eftersom historiken har raderats.

Slutsats

Denna handledning introducerar diagnosmeddelanden som genereras av Linux -operativsystemet och visar dig hur du visar tidsstämplar för händelser som inträffade på operativsystemet, hur du registrerar alla händelser med en viss allvarlighetsnivå och hur du ser diagnosmeddelanden relaterade till en specifik enhet. Mer avancerade variationer av dmesg -kommandot som delas i denna artikel kan produceras för att få olika resultat.