Linux-kommandoer

En introduktion til Linux's dmesg Command

En introduktion til Linux's dmesg Command
Hvert operativsystem, inklusive 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 operativsystemproblemer og de enheder, der er knyttet til computersystemet.

Heldigvis for Linux-operativsystemet er alle disse aktiviteter logget i ringbufferen, som du kan få adgang til ved hjælp af kommandoen diagnostiske meddelelser (eller dmesg). Dmesg-kommandoen i Linux kan bruges til at vise alle de meddelelser, der er relateret til de begivenheder, der finder sted i dit operativsystem. Denne artikel vil lære dig, hvordan du bruger denne nyttige kommando i Linux.

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

Kommandobrug

Vi forklarer brugen af ​​diagnosemeddelelseskommandoen ved at diskutere et par eksempler.

Eksempel 1: Visning af alle diagnostiske meddelelser

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

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

Du kan se den nystartede terminal i billedet nedenfor:

Nu kører vi blot følgende kommando i terminalen:

At køre denne kommando viser en lang liste med diagnostiske meddelelser på din terminal. Du kan rulle ned for at se alle beskederne, som vist på billedet nedenfor:

Eksempel 2: Visning af diagnostiske meddelelser side efter side

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

Du kan se output fra den modificerede dmesg-kommando i billedet nedenfor.

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

Eksempel # 3: Visning af diagnostiske meddelelser med et specifikt alvorlighedsniveau

Alvorlighedsniveauerne af diagnostiske meddelelser varierer afhængigt af det formål, de tjener. For eksempel giver nogle meddelelser generel information, mens andre indeholder advarsler. Du kan vælge at få vist alle diagnostiske meddelelser på et specificeret sværhedsgrad som følger:

Kør først kommandoen dmesg -level = LEVEL i din Linux Mint 20-terminal. Her skal du erstatte LEVEL med et gyldigt niveau (f.eks.g., fejle, advare, info, meddelelse). I vores eksempel, fordi vi ønsker at se alle diagnostiske meddelelser på fejlniveauet, erstattede vi LEVEL med err.

Denne kommando returnerer alle de diagnostiske meddelelser, der har fejlniveauet, som vist på 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 se på en gang. Sammen med alle de andre oplysninger blev versionen af ​​dit Linux-system også vist i denne output, men det var svært at finde. Hvis du ønsker at se din Linux-version med dmesg-kommandoen, kan du køre følgende kommando i din terminal:

Kørsel af denne kommando viser Linux-versionen på din terminal som vist på billedet nedenfor:

Eksempel 5: Visning af diagnostiske meddelelser med tidsstempler

En begivenhed sker i et operativsystem på et bestemt tidspunkt. Til logning og auditering 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 diagnosticeringsmeddelelserne kan du køre kommandoen nedenfor i din terminal:

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

Eksempel 6: Visning af diagnosticeringsmeddelelser relateret til en bestemt enhed

De diagnostiske meddelelser, der vises ved at køre dmesg-kommandoen alene, er ikke specifikke for nogen enhed; i stedet vises meddelelserne relateret til alle enheder på én gang. Du kan dog muligvis se diagnosticeringsmeddelelserne for en bestemt enhed for kun at bestemme de problemer, der er relateret til den pågældende enhed.

Dmesg-kommandoen 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 diagnostiske meddelelser du vil se. I vores tilfælde ønsker vi at kontrollere musens diagnostiske meddelelser. Derfor har vi erstattet DEVICE med mus.

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

Eksempel 7: Visning af diagnostiske meddelelser med deres alvorlighedsniveauer

Vi har set de diagnostiske meddelelser af et bestemt sværhedsgrad i eksempel # 3. Men hvis vi ønsker at vise alle diagnostiske meddelelser med deres sværhedsgrader, kan vi køre kommandoen dmesg -x. Flagget -x kan bruges med kommandoen dmesg til at vise diagnostiske meddelelser med deres sværhedsgrad.

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

Eksempel 8: Rydning af historikken om diagnostiske meddelelser

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

For at rydde din diagnostiske meddelelseshistorik kan du køre kommandoen sudo dmesg -C. For at rydde historikken om diagnostiske meddelelser, som er vigtig til revisionsformål, skal du køre dmesg-kommandoen 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 der ikke noget på din terminal. Derfor kører vi kommandoen dmesg igen for at kontrollere, at historikken om diagnostiske meddelelser er blevet ryddet. Denne gang vil dmesg-kommandoen ikke returnere nogen diagnostiske meddelelser på din terminal, fordi historikken er blevet slettet.

Konklusion

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

Sådan installeres og afspilles Doom på Linux
Introduktion til undergang Doom-serien opstod i 90'erne efter frigivelsen af ​​den originale Doom. Det var et øjeblikkeligt hit, og fra den tid af har...
Vulkan til Linux-brugere
Med hver nye generation af grafikkort ser vi spiludviklere skubbe grænserne for grafisk troskab og komme et skridt tættere på fotorealisme. Men på tro...
OpenTTD vs Simutrans
Oprettelse af din egen transportsimulering kan være sjovt, afslappende og ekstremt lokkende. Derfor skal du sørge for at prøve så mange spil som mulig...