En introduktion til Linux's dmesg Command

An Introduction Linux S Dmesg Command



Hvert operativsystem, herunder Linux, udfører nogle aktiviteter lydløst uden at underrette brugeren. Selvom brugeren ikke er opmærksom på disse aktiviteter, kan det være nødvendigt at kontrollere disse aktiviteter for at identificere problemer med operativsystemet og de enheder, der er knyttet til computersystemet.

Heldigvis logges alle disse aktiviteter i Linux -operativsystemet i ringbufferen, som kan tilgås ved hjælp af kommandoen diagnostiske meddelelser (eller dmesg). Kommandoen dmesg i Linux kan bruges til at vise alle meddelelser relateret til de begivenheder, der finder sted i dit operativsystem. Denne artikel lærer dig, hvordan du bruger denne nyttige kommando i Linux.







Bemærk: Til denne vejledning brugte vi Linux Mint 20



Kommandobrug

Vi vil forklare brugen af ​​kommandoen til diagnostiske meddelelser ved at diskutere et par eksempler.



Eksempel #1: Visning af alle diagnosemeddelelser

Vi kan se alle typer diagnostiske meddelelser på én gang ved at udføre disse trin.





Først skal vi klikke på genvejsikonet til Linux Mint 20 -terminalen for at starte det.

Du kan se den nyligt lancerede terminal på billedet herunder:



Nu vil vi simpelthen køre følgende kommando i terminalen:

Hvis du kører denne kommando, vises en lang liste med diagnostiske meddelelser på din terminal. Du kan rulle ned for at se alle meddelelser, som vist på billedet herunder:

Eksempel #2: Visning af diagnosemeddelelser Side for side

I det foregående eksempel var listen over diagnostiske meddelelser meget lang og upraktisk at læse. Derfor vil du måske se disse meddelelser side for side. hvilket kan gøres ved at bruge den mindre kommando i Linux. I kommandoen vist nedenfor leder vi output fra dmesg -kommandoen til den mindre kommando, så diagnostiske meddelelser vises side for side.

Du kan se output fra den ændrede dmesg -kommando i billedet herunder.

Når du har læst den første side igennem, kan du trykke på mellemrumstasten for at gå til den næste side og så videre, indtil den sidste side er nået, som angivet af END -søgeordet i følgende billede:

Eksempel #3: Visning af diagnosemeddelelser med et specifikt sværhedsgrad

Sværhedsgraden af ​​diagnostiske meddelelser varierer afhængigt af det formål, de tjener. Nogle meddelelser formidler f.eks. Generelle oplysninger, mens andre indeholder advarsler. Du kan vælge at se alle diagnosemeddelelser med et bestemt sværhedsgrad på følgende måde:

Først skal du køre kommandoen dmesg –level = LEVEL i din Linux Mint 20 -terminal. Her skal du udskifte LEVEL med et gyldigt niveau (f.eks. Fejl, advarsel, info, varsel). I vores eksempel, fordi vi vil se alle diagnostiske meddelelser om fejlniveauet, erstattede vi LEVEL med fejl.

Denne kommando returnerer alle diagnosemeddelelser, der har fejlniveauet, som vist i følgende billede:

Eksempel #4: Visning af Linux -versionen med dmesg Command

Da vi kørte dmesg -kommandoen uden andre parametre, var output for stort til at kunne ses med det samme. Sammen med alle de andre oplysninger blev versionen af ​​dit Linux -system også vist i dette output, men det var svært at finde. Hvis du ønsker at se din Linux -version med kommandoen dmesg, kan du køre følgende kommando i din terminal:

Hvis du kører denne kommando, vises Linux -versionen på din terminal som vist på billedet herunder:

Eksempel #5: Visning af diagnosemeddelelser med tidsstempler

En hændelse forekommer på et operativsystem på et bestemt tidspunkt. Ved logning og revision af opgaver er det vigtigt at se på tidsstemplerne for de begivenheder, der finder sted i dit operativsystem, så du kan finde ud af, hvornår et problem opstod. For at se tidsstemplerne for diagnosemeddelelserne kan du køre kommandoen herunder i din terminal:

Outputtet i det følgende billede viser de nøjagtige tidsstempler, inklusive dag, dato og klokkeslæt, før hver diagnosemeddelelse.

Eksempel #6: Visning af diagnosemeddelelser relateret til en bestemt enhed

De diagnostiske meddelelser, der vises ved at køre kommandoen dmesg alene, er ikke specifikke for nogen enhed; i stedet vises meddelelserne vedrørende alle enheder på én gang. Du vil dog muligvis se diagnosemeddelelserne for en bestemt enhed for kun at bestemme problemerne vedrørende den pågældende enhed.

Kommandoen dmesg giver dig mulighed for at gøre det ved at køre kommandoen dmesg | grep –i ENHED. Her skal du erstatte ENHED med navnet på den enhed, hvis diagnosemeddelelser du vil se. I vores tilfælde vil vi kontrollere musens diagnostiske meddelelser. Derfor har vi udskiftet ENHED med mus.

Når du kører denne kommando, vises alle diagnosemeddelelser relateret til musen på din terminal, som vist på følgende billede. Du kan se diagnosemeddelelser for enhver I/O -enhed på samme måde.

Eksempel #7: Visning af diagnosemeddelelser med deres sværhedsgrader

Vi så diagnosemeddelelserne om et bestemt sværhedsgrad i eksempel #3. Men hvis vi vil vise alle diagnosemeddelelser med deres sværhedsgrader, kan vi køre kommandoen dmesg –x. Flagget -x kan bruges med dmesg -kommandoen til at vise diagnosemeddelelserne med deres sværhedsgrad.

Du kan se på følgende output, at sværhedsgraden af ​​en diagnostisk meddelelse vises i begyndelsen af ​​meddelelsen.

Eksempel #8: Rydning af diagnosemeddelelseshistorikken

Tusindvis af hændelser finder sted i det operativsystem, der gengiver dit operativsystem, og disse hændelser genererer en lang liste med diagnostiske meddelelser, som vist i eksempel #1. Linux -systemet giver imidlertid også en måde at rydde denne log.

For at rydde din diagnosemeddelelseshistorik kan du køre kommandoen sudo dmesg –C. For at slette diagnosemeddelelseshistorikken, som er vigtig for revisionsformål, skal du køre kommandoen dmesg med sudo -rettigheder. Ellers får du ikke lov til at udføre denne handling. Desuden er -C -flag, kombineret med dmesg -kommandoen, ansvarlig for at rydde dmesg -loggen.

Når du har kørt denne kommando, vises intet på din terminal. Derfor vil vi køre kommandoen dmesg igen for at kontrollere, at historikken for diagnostiske meddelelser er blevet ryddet. Denne gang returnerer dmesg -kommandoen ingen diagnostiske meddelelser på din terminal, fordi historikken er blevet slettet.

Konklusion

Denne vejledning introducerer de diagnostiske meddelelser, der genereres af Linux -operativsystemet, og viser dig, hvordan du kan se tidsstemplerne for de hændelser, der opstod på operativsystemet, hvordan du registrerer alle hændelser af et bestemt sværhedsgrad og hvordan du får vist diagnosemeddelelser relateret til en bestemt enhed. Mere avancerede variationer af dmesg -kommandoen, der deles i denne artikel, kan produceres for at opnå forskellige resultater.