DMESG(1)

NAZWA
dmesg - wypisuje lub steruje buforem warstwy jądra

SKŁADNIA

dmesg [opcje]

dmesg --clear

dmesg --read-clear [opcje]

dmesg --console-level poziom

dmesg --console-on

dmesg --console-off

OPIS

dmesg służy do sprawdzenia bufora warstwy jądra (kernel ring buffer) lub sterowania nim.

Domyślnym działaniem jest wyświetlenie wszystkich wiadomości z bufora warstwy jądra.

OPCJE

Żadna z opcji --clear, --read-clear, --console-on, --console-off i --console-level nie może wystąpić równocześnie.

-C, --clear
    Czyści zawartość bufora.

-c, --read-clear
    Czyści zawartość bufora po jego pierwszym wyświetleniu.

-D, --console-off
    Wyłącza wypisywanie wiadomości na konsolę.

-d, --show-delta
    Wyświetla znacznik czas oraz różnicę czasu pomiędzy komunikatami. Jeśli opcja ta jest używana razem z --notime, to wypisywana jest tylko różnica czasu.

-E, --console-on
    Włącza wyświetlanie wiadomości na konsolę.

-e, --reltime
    Wyświetla czas lokalny i różnicę czasu w formacie czytelnym dla ludzi. Proszę zauważyć, że konwersja do czasu lokalnego może być niedokładna (zob. -T).

-F, --file plik
    Odczytuje komunikaty syslog z podanego pliku. Proszę zauważyć, że -F nie obsługuje wiadomości w formacie kmsg. Zob. opcja -K.

-f, --facility lista
    Ogranicza wyjście do podanej listy (z elementami oddzielonymi przecinkami) zagadnień. Na przykład:

    dmesg --facility=daemon

    wypisze wiadomości pochodzące wyłączenie od demonów systemowych. Listę obsługiwanych zagadnień przedstawia opcja --help.

-H, --human
    Włącza wyświetlanie czytelne dla ludzi. Zob. również --color, --reltime i --nopager.

-J, --json
    Używa formatu wyjściowego JSON. Formatem wyjściowym czasu jest wyłącznie format "sek.usek", poziom priorytetu dziennika nie jest domyślnie dekodowany (aby podzielić na zagadnienie i priorytet, proszę użyć opcji --decode), inne opcje sterowania formatem wyjściowym lub formatem czasu są po cichu ignorowane.

-K, --kmsg-file plik
    Odczytuje komunikaty /dev/kmsg z podanego pliku. Poszczególne rekordy powinny być rozdzielone bajtem NULL.

-k, --kernel
    Wyświetla wiadomości jądra.

-L, --color[=kiedy]
    Koloryzuje wynik. Opcjonalnym argumentem kiedy może być auto, never (nigdy) lub always (zawsze). Gdy nie poda się argumentu kiedy, domyślnym ustawieniem jest auto. Kolory mogą być wyłączone, aktualne wbudowane ustawienie domyślne pokaże opcja --help. Zob. również poniższy rozdział KOLORY.

-l, --level lista
    Ogranicza wyjście do podanej listy (z elementami oddzielonymi przecinkami) poziomów. Na przykład:

    dmesg --level=err,warn

    wypisze jedynie błędy i ostrzeżenia. Listę obsługiwanych poziomów przedstawia opcja --help.

    Dodanie do nazwy poziomu znaku plus +, spowoduje uwzględnienie również wszystkich wyższych (ważniejszych) poziomów np.:

    dmesg --level=err+

    wypisze poziomy err, crit, alert i emerg.

    Poprzedzenie go w ten sposób, obejmie również niższe (mniej ważne) poziomy.

-n, --console-level poziom
    Ustawia poziom na którym odbywa się wyświetlanie komunikatów na konsoli. Za poziom należy podstawić numer poziomu lub skróconą nazwę poziomu. Aby zapoznać się z listą obsługiwanych poziomów, należy sprawdzić wynik opcji --help.

    Na przykład, -n 1 lub -n emerg zapobiega pojawianiu się na konsoli wszelkich komunikatów poza awaryjnymi (panic). Wszystkie poziomy komunikatów są nadal zapisywane do /proc/kmsg, zatem wciąż można posługiwać się syslogd(8) do dokładnej kontroli, gdzie pojawiają się komunikaty jądra. Gdy używana jest opcja -n, to dmesg nie wyświetla ani nie czyści bufora warstwy jądra.

--noescape
    Znaki niedrukowalne i potencjalnie niebezpieczne (np. przełamane sekwencje wielobajtowe, znaki kontroli terminala itp.) są domyślnie cytowane w formacie \x<hex> (gdzie hex to liczba szesnastkowa) ze względów bezpieczeństwa. Opcja całkowicie wyłącza tę funkcję. W połączeniu z --raw może być to przydatne w celach diagnostycznych. Należy zachować ostrożność i nie używać opcji jako domyślnej.

-P, --nopager
    Nie przekazuje wyjścia na program stronicujący, który jest domyślnie włączony dla opcji --human output.

-p, --force-prefix
    Dodaje element, poziom lub znacznik czasu do każdego wiersza komunikatu wielowierszowego.

-r, --raw
    Wyświetla surowy bufor wiadomości np. nie przycina przedrostków poziomu dziennika; wszystkie znaki niedrukowalne są jednak wciąż cytowane (zob. również --noescape).

    Proszę zauważyć, że prawdziwy format surowy zależy od metody z którą dmesg odczytuje komunikaty jądra. Urządzenie /dev/kmsg używa innego formatu niż syslog(2). Dla kompatybilności wstecznej dmesg zwraca dane zawsze w formacie syslog(2). Można odczytać prawdziwie surowe dane z /dev/kmsg np. poleceniem "dd if=/dev/kmsg iflag=nonblock".

-S, --syslog
    Wymusza używanie przez dmesg interfejsu jądra syslog(2) do odczytu komunikatów jądra. Domyślnie korzysta się z /dev/kmsg zamiast syslog(2) od wersji jądra 3.5.0.

-s, --buffer-size rozmiar
    Do odpytania bufora jądra używa bufora o podanej wielkości. Domyślnie jest to 16392 (domyślny rozmiar bufora syslog jądra wynosił początkowo 4096, 8192 od wersji 1.3.54 i 16384 od wersji 2.1.113). Jeśli użytkownik ustawił bufor jądra większy od domyślnego, to można posłużyć się tą opcją do przeglądnięcia całego bufora.

-T, --ctime
    Wypisuje znaczniki czasu w formie czytelnej dla człowieka.

    Mogą one być niedokładne! Źródło czasu używane do dzienników nie jest aktualizowane po SUSPEND/RESUME (uśpieniu i wznowieniu) systemu. Znaczniki czasu są korygowane w odniesieniu do aktualnej różnicy pomiędzy chwilą rozruchu a zegarami monotonicznymi, co działa tylko dla komunikatów wypisanych po ostatnim wznowieniu systemu.

--since czas
    Wyświetla wpisy od podanego czasu. Czas można podać zarówno jakie wielkość absolutną jak i relatywną w języku angielskim (np. "1 hour ago"). Proszę zauważyć, że znaczniki czasu mogą być niedokładne (więcej informacji w opisie opcji --ctime).

--until czas
    Wyświetla wpisy do podanego czasu. Czas można podać zarówno jako wielkość absolutną jak i relatywną w języku angielskim (np. "1 hour ago"). Proszę zauważyć, że znaczniki czasu mogą być niedokładne (więcej informacji w opisie opcji --ctime).

-t, --notime
    Nie wypisuje znaczników czasu jądra.

--time-format format
    Wypisuje znacznik czasu w podanym formacie, którym może być ctime, reltime, delta, iso lub raw. Pierwsze trzy formaty są aliasami dla opcji specyficznych dla formatu czasu. Format raw używa domyślnego formatu znacznika czasu, w postaci sekund od rozruchu. Format iso jest implementacją programu dmesg formatu znacznika czasu ISO-8601. Celem tego formatu jest ułatwienie porównywania znaczników między dwoma systemami i innego przetwarzania tych danych. Format iso jest zdefiniowany następująco: RRRR-MM-DD<T>GG:MM:SS,<mikrosekundy>←+><przesunięcie strefy czasowej w porównaniu do UTC>.

    Format iso cierpi na tę samą przypadłość co ctime: czas może być niedokładny, jeśli system jest wstrzymywany i wznawiany.

    --time-format można podać wielokrotnie, z różnymi wartościami formatu, aby wypisać każdy podany format.

    delta zawsze występuje po ctime lub raw, jeśli poda się je jednocześnie.

-u, --userspace
    Wypisuje wiadomości z przestrzeni użytkownika.

-w, --follow
    Czeka na nowe komunikaty. Ta funkcja jest obsługiwana tylko w systemach z dającym się odczytać /dev/kmsg (od jądra 3.5.0).

-W, --follow-new
    Czeka i wyświetla tylko nowe wiadomości.

-x, --decode
    Dekoduje numery zagadnienia (ang. facility) i poziomu (priorytetu) do przedrostków czytelnych dla człowieka.

-h, --help
    Wyświetla ten tekst i wychodzi.

-V, --version
    Wyświetla wersję i wychodzi.

KOLORY

Kolorowanie wyjściowe zaimplementowano poprzez terminal-colors.d(5). Jawne kolorowanie można wyłączyć za pomocą pustego pliku

    /etc/terminal-colors.d/dmesg.disable

dla polecenia dmesg albo dla wszystkich narzędzi plikiem

    /etc/terminal-colors.d/disable

Od wersji 2.41, obsługiwana jest również zmienna środowiskowa $NO_COLOR, służąca do wyłączenia kolorowania wyjścia, o ile nie włączy się je wprost opcją wiersza poleceń.

Globalne ustawienie przesłonią $XDG_CONFIG_HOME/terminal-colors.d lub $HOME/.config/terminal-colors.d danego użytkownika.

Proszę zauważyć, że kolorowanie wyjścia może być domyślnie włączone i wówczas katalogi terminal-colors.d mogą jeszcze nie istnieć.

Logiczne nazwy kolorów obsługiwane przez dmesg to:

subsys
    Przedrostek podsystemu w komunikacie (np. "ACPI:").

time
    Znacznik czasu komunikatu.

timebreak
    Znacznik czasu komunikatu w krótkim formacie ctime, przy opcjach --reltime lub --human.

alert
    Tekst komunikatów o priorytecie: alert.

crit
    Tekst komunikatów o priorytecie: krytyczny.

err
    Tekst komunikatów o priorytecie: błąd.

warn
    Tekst komunikatów o priorytecie: ostrzeżenie.

segfault
    Tekst komunikatów informujących o błędzie segmentacji.

STATUS ZAKOŃCZENIA

dmesg może zwrócić błąd, informując o braku uprawnień. Zwykle jest to spowodowane opcją jądra dmesg_restrict; więcej informacji znajduje się w podręczniku systemowym syslog(2).

AUTORZY

dmesg był pierwotnie napisany przez

ZOBACZ TAKŻE

terminal-colors.d(5), syslogd(8)

ZGŁASZANIE BŁĘDÓW

Problemy należy zgłaszać w

DOSTĘPNOŚĆ

Polecenie dmesg jest częścią pakietu util-linux, który można pobrać ze strony