En introduksjon til Linuxs dmesg -kommando

An Introduction Linux S Dmesg Command



Hvert operativsystem, inkludert Linux, utfører noen aktiviteter lydløst uten å varsle brukeren. Selv om brukeren ikke er klar over disse aktivitetene, kan det være nødvendig å sjekke disse aktivitetene for å identifisere problemer med operativsystemet og enhetene som er koblet til datasystemet.

Heldigvis, for Linux -operativsystemet, logges alle disse aktivitetene inn i ringbufferen, som kan nås ved hjelp av kommandoen diagnostiske meldinger (eller dmesg). Kommandoen dmesg i Linux kan brukes til å vise alle meldingene knyttet til hendelsene som finner sted i operativsystemet. Denne artikkelen vil lære deg hvordan du bruker denne nyttige kommandoen i Linux.







Merk: For denne opplæringen brukte vi Linux Mint 20



Kommandobruk

Vi vil forklare bruken av kommandoen diagnostiske meldinger ved å diskutere noen få eksempler.



Eksempel 1: Visning av alle diagnosemeldinger

Vi kan se alle typer diagnostiske meldinger samtidig ved å utføre disse trinnene.





Først må vi klikke på snarveisikonet til Linux Mint 20 -terminalen for å starte den.

Du kan se den nylig lanserte terminalen på bildet nedenfor:



Nå skal vi bare kjøre følgende kommando i terminalen:

Hvis du kjører denne kommandoen, vises en lang liste med diagnostiske meldinger på terminalen din. Du kan rulle ned for å se alle meldingene, som vist på bildet nedenfor:

Eksempel 2: Visning av diagnosemeldinger side for side

I forrige eksempel var listen over diagnostiske meldinger veldig lang og upraktisk å lese. Derfor vil du kanskje se disse meldingene side for side. som kan gjøres ved å bruke den mindre kommandoen i Linux. I kommandoen som vises nedenfor, sender vi utgangen fra dmesg -kommandoen til den mindre kommandoen slik at diagnosemeldinger vises side for side.

Du kan se utdataene fra den modifiserte dmesg -kommandoen i bildet nedenfor.

Når du har lest gjennom den første siden, kan du trykke på mellomromstasten for å gå til neste side og så videre til den siste siden er nådd, som angitt av END -søkeordet i følgende bilde:

Eksempel 3: Visning av diagnosemeldinger med et spesifikt alvorlighetsnivå

Alvorlighetsgraden av diagnostiske meldinger varierer avhengig av formålet de tjener. Noen meldinger formidler for eksempel generell informasjon, mens andre inneholder advarsler. Du kan velge å se alle diagnosemeldingene med et spesifisert alvorlighetsnivå som følger:

Kjør først kommandoen dmesg –level = LEVEL i Linux Mint 20 -terminalen. Her må du erstatte LEVEL med et gyldig nivå (f.eks. Feil, advarsel, info, varsel). I vårt eksempel, fordi vi ønsker å se alle diagnostiske meldinger om feilnivået, erstattet vi LEVEL med feil.

Denne kommandoen returnerer alle diagnosemeldingene som har feilnivået, som vist i følgende bilde:

Eksempel #4: Visning av Linux -versjonen med dmesg Command

Da vi kjørte dmesg -kommandoen uten andre parametere, var utgangen for stor til å vises med en gang. Sammen med all annen informasjon ble versjonen av Linux -systemet ditt også vist i denne utgangen, men det var vanskelig å finne. Hvis du ønsker å se Linux -versjonen med dmesg -kommandoen, kan du kjøre følgende kommando i terminalen:

Hvis du kjører denne kommandoen, vises Linux -versjonen på terminalen din som vist på bildet nedenfor:

Eksempel #5: Visning av diagnosemeldinger med tidsstempler

En hendelse skjer på et operativsystem på et bestemt tidspunkt. For logging og revisjon av oppgaver er det viktig å se på tidsstemplene for hendelsene som finner sted i operativsystemet ditt, slik at du kan finne ut når et problem oppstod. For å se tidsstemplene til diagnosemeldingene, kan du kjøre kommandoen nedenfor i terminalen:

Utdataene i bildet nedenfor viser de nøyaktige tidsstemplene, inkludert dag, dato og klokkeslett, før hver diagnosemelding.

Eksempel 6: Visning av diagnosemeldinger relatert til en bestemt enhet

Diagnosemeldingene som vises ved å kjøre dmesg -kommandoen alene, er ikke spesifikke for noen enhet; i stedet vises meldingene knyttet til alle enheter samtidig. Det kan imidlertid være lurt å se diagnosemeldingene for en bestemt enhet for å avgjøre problemene knyttet til den enheten.

Kommandoen dmesg lar deg gjøre det ved å kjøre kommandoen dmesg | grep –i ENHET. Her må du erstatte ENHET med navnet på enheten hvis diagnosemeldinger du vil se. I vårt tilfelle vil vi sjekke diagnosemeldingene til musen. Derfor har vi erstattet ENHET med mus.

Når du vil kjøre denne kommandoen, vil alle diagnosemeldingene knyttet til musen vises på terminalen din, som vist i bildet nedenfor. Du kan se diagnosemeldingene til en hvilken som helst I/O -enhet på samme måte.

Eksempel 7: Visning av diagnosemeldinger med alvorlighetsgraden

Vi så på diagnosemeldingene om et bestemt alvorlighetsnivå i eksempel 3. Men hvis vi vil vise alle diagnosemeldingene med alvorlighetsgraden, kan vi kjøre kommandoen dmesg –x. Flagget -x kan brukes med dmesg -kommandoen for å vise diagnosemeldingene med alvorlighetsgraden.

Du kan se fra følgende utgang at alvorlighetsgraden til en diagnostisk melding vises i begynnelsen av meldingen.

Eksempel 8: Sletting av diagnosemeldingsloggen

Tusenvis av hendelser finner sted i operativsystemet som gjengir operativsystemet, og disse hendelsene genererer en lang liste med diagnostiske meldinger, som vist i eksempel 1. Imidlertid gir Linux -systemet også en måte å slette denne loggen.

For å slette diagnosemeldingsloggen din, kan du kjøre kommandoen sudo dmesg –C. For å slette diagnosemeldingshistorikken, som er viktig for revisjonsformål, må du kjøre dmesg -kommandoen med sudo -rettigheter. Ellers får du ikke lov til å utføre denne operasjonen. Videre er -C -flagget, kombinert med dmesg -kommandoen, ansvarlig for å slette dmesg -loggen.

Når du har kjørt denne kommandoen, vil ingenting vises på terminalen din. Derfor, for å bekrefte at diagnosemeldingshistorikken er slettet, kjører vi dmesg -kommandoen igjen. Denne gangen vil dmesg -kommandoen ikke returnere noen diagnostiske meldinger på terminalen din fordi historikken er slettet.

Konklusjon

Denne opplæringen introduserer diagnostiske meldinger generert av Linux -operativsystemet og viser deg hvordan du kan se tidsstemplene for hendelsene som skjedde på operativsystemet, hvordan du registrerer alle hendelser med et spesifisert alvorlighetsnivå og hvordan du ser diagnosemeldingene knyttet til en bestemt enhet. Mer avanserte varianter av dmesg -kommandoen som deles i denne artikkelen, kan produseres for å oppnå forskjellige resultater.