Руководства по командной строке

Man » Онлайн-руководство dmesg - подробная онлайн-документация для страницы руководства dmesg

🌍
dmesg - просмотр или управление кольцевым буфером ядра

СИНТАКСИС

dmesg [опции]

dmesg --clear

dmesg --read-clear [опции]

dmesg --console-level уровень

dmesg --console-on

dmesg --console-off

ОПИСАНИЕ

dmesg используется для просмотра или управления кольцевым буфером ядра.

По умолчанию отображаются все сообщения из кольцевого буфера ядра.

ОПЦИИ

Опции --clear, --read-clear, --console-on, --console-off и --console-level являются взаимоисключающими.

-C, --clear

Очистить кольцевой буфер.

-c, --read-clear

Очистить кольцевой буфер после первого отображения его содержимого.

-D, --console-off

Отключить вывод сообщений на консоль.

-d, --show-delta

Отобразить временную метку и время, прошедшее между сообщениями. Если используется вместе с --notime, то отображается только время между сообщениями без временной метки.

-E, --console-on

Включить вывод сообщений на консоль.

-e, --reltime

Отобразить местное время и разницу во времени в удобочитаемом формате. Обратите внимание, что преобразование в местное время может быть неточным (см. -T для получения дополнительной информации).

-F, --file файл

Считывать сообщения syslog из указанного файла. Обратите внимание, что -F не поддерживает сообщения в формате kmsg. Вместо этого используйте -K.

-f, --facility список

Ограничить вывод указанным (разделенным запятыми) списком объектов. Например:

dmesg --facility=daemon

отображает только сообщения от системных демонов. Для получения списка всех поддерживаемых объектов см. вывод команды --help.

-H, --human

Включить удобочитаемый вывод. См. также --color, --reltime и --nopager.

-J, --json

Использовать формат вывода JSON. Формат времени выводится только в формате "сек.микросек", уровень приоритета сообщений по умолчанию не декодируется (используйте --decode, чтобы разделить на объект и приоритет), другие опции для управления форматом вывода или форматом времени игнорируются.

-K, --kmsg-file файл

Считывать сообщения из /dev/kmsg из указанного файла. Различные записи, как ожидается, будут разделены нулевым байтом.

-k, --kernel

Выводить сообщения ядра.

-L, --color[=when]

Выполнить цветовое выделение вывода. Необязательный аргумент when может быть auto, never или always. Если аргумент when не указан, он по умолчанию имеет значение auto. Цвета можно отключить; для текущих встроенных значений по умолчанию см. вывод команды --help. См. также раздел ЦВЕТА ниже.

-l, --level список

Ограничить вывод указанным (разделенным запятыми) списком уровней. Например:

dmesg --level=err,warn

отображает только сообщения об ошибках и предупреждения. Для получения списка всех поддерживаемых уровней см. вывод команды --help.

Добавление знака плюс + к имени уровня также включает все более высокие уровни. Например:

dmesg --level=err+

отображает уровни err, crit, alert и emerg.

Префикс также включает все более низкие уровни.

-n, --console-level уровень

Установить уровень, при котором сообщения выводятся на консоль. Уровень представляет собой номер уровня или аббревиатуру имени уровня. Для получения списка всех поддерживаемых уровней см. вывод команды --help.


Например, -n 1 или -n emerg предотвращают отображение всех сообщений, кроме сообщений уровня emergency (panic), в консоли. Все уровни сообщений по-прежнему записываются в /proc/kmsg, поэтому syslogd(8) можно использовать для точного контроля над тем, где отображаются сообщения ядра. При использовании опции -n, dmesg не будет печатать и не будет очищать буфер сообщений ядра.

^ -noescape По умолчанию для соображений безопасности непечатаемые и потенциально небезопасные символы (например, поврежденные многобайтовые последовательности, управляющие символы терминала и т. д.) экранируются в формате \x<hex>. Эта опция отключает эту функцию. Ее можно использовать, например, для отладки вместе с --raw. Будьте осторожны и не используйте ее по умолчанию.

^ P, --nopager Не передавать вывод в программу-паджинатор. По умолчанию программа-паджинатор включена для --human.

^ p, --force-prefix Добавлять информацию об объекте, уровне или времени к каждой строке многострочного сообщения.

^ r, --raw Выводить необработанный буфер сообщений, т.е. не удалять префиксы уровня протоколирования, но все непечатаемые символы все равно экранируются (см. также --noescape).

Обратите внимание, что фактический необработанный формат зависит от метода, которым dmesg считывает сообщения ядра. Устройство /dev/kmsg использует другой формат, чем syslog(2). Для обеспечения обратной совместимости dmesg всегда возвращает данные в формате syslog(2). Можно считывать фактические необработанные данные из /dev/kmsg, например, с помощью команды dd if=/dev/kmsg iflag=nonblock.

^ S, --syslog Принудительно использовать dmesg интерфейс syslog(2) ядра для чтения сообщений ядра. По умолчанию, начиная с ядра 3.5.0, используется /dev/kmsg, а не syslog(2).

^ s, --buffer-size size Использовать буфер указанного размера для запроса к буферу сообщений ядра. По умолчанию это 16392. (Исходный размер буфера системного журнала ядра составлял 4096, затем 8192 начиная с версии 1.3.54 и 16384 начиная с версии 2.1.113.) Если вы установили больший размер буфера ядра, то эта опция может быть использована для просмотра всего буфера.

^ T, --ctime Выводить удобочитаемые временные метки.

Имейте в виду, что временная метка может быть неточной! Источник времени, используемый для журналов, не обновляется после приостановки/возобновления системы. Временные метки корректируются в соответствии с текущей разницей между временем загрузки и монотонными часами, это работает только для сообщений, напечатанных после последней приостановки.

^ -since time Отображать записи, начиная с указанного времени. Поддерживается субсекундная точность. Время можно указать как в абсолютном, так и в относительном формате (например, "1 час назад"). Имейте в виду, что временная метка может быть неточной, см. --ctime для получения дополнительной информации.

^ -until time Отображать записи до указанного времени. Поддерживается субсекундная точность. Время можно указать как в абсолютном, так и в относительном формате (например, "1 час назад"). Имейте в виду, что временная метка может быть неточной, см. --ctime для получения дополнительной информации.

^ t, --notime Не выводить временные метки ядра.

^ -time-format format Выводить временные метки в указанном формате, который может быть ctime, reltime, delta, iso или raw. Первые три формата являются псевдонимами для опций, специфичных для формата времени. Формат raw использует формат временной метки по умолчанию, показывая секунды с момента загрузки. Формат iso — это реализация формата временной метки ISO-8601 в dmesg. Цель этого формата — упростить сравнение временных меток между двумя системами и любое другое их использование. Определение временной метки iso выглядит следующим образом: YYYY-MM-DD<T>HH:MM:SS,<microseconds>←+><смещение часового пояса от UTC>.


Формат ISO имеет ту же проблему, что и ctime: время может быть неточным при приостановке и возобновлении работы системы.

--time-format может использоваться несколько раз с разными значениями для параметра format, чтобы вывести каждый указанный формат.

Дельта всегда следует за ctime или raw, если они указаны вместе.

-u, --userspace

Выводить сообщения из пользовательского пространства.

-w, --follow

Ожидать появления новых сообщений. Эта функция поддерживается только в системах с доступным для чтения /dev/kmsg (начиная с версии ядра 3.5.0).

-W, --follow-new

Ожидать и выводить только новые сообщения.

-x, --decode

Декодировать номера facility и level (уровня) в удобочитаемые префиксы.

-h, --help

Отобразить текст справки и выйти.

-V, --version

Отобразить версию и выйти.

ЦВЕТА

Цветовое оформление вывода реализовано с помощью функциональности terminal-colors.d(5). Неявное цветовое оформление может быть отключено путем создания пустого файла

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

для команды dmesg или для всех инструментов путем создания файла

/etc/terminal-colors.d/disable

Начиная с версии 2.41, также поддерживается переменная среды $NO_COLOR для отключения цветового оформления вывода, если оно не включено явно с помощью опции командной строки.

Пользовательские каталоги $XDG_CONFIG_HOME/terminal-colors.d или $HOME/.config/terminal-colors.d переопределяют глобальные настройки.

Обратите внимание, что цветовое оформление вывода может быть включено по умолчанию, и в этом случае каталоги terminal-colors.d не обязательно должны существовать.

Логические имена цветов, поддерживаемые dmesg:

subsys

Префикс подсистемы сообщения (например, "ACPI:").

time

Временная метка сообщения.

timebreak

Временная метка сообщения в кратком формате ctime в выходных данных --reltime или --human.

alert

Текст сообщения с уровнем журнала "alert".

crit

Текст сообщения с уровнем журнала "critical".

err

Текст сообщения с уровнем журнала "error".

warn

Текст сообщения с уровнем журнала "warning".

segfault

Текст сообщения, информирующего об ошибке сегментации.

СТАТУС ВЫХОДА

dmesg может завершиться с ошибкой "отказано в разрешении". Обычно это вызвано настройкой dmesg_restrict в ядре, подробности см. в syslog(2).

АВТОРЫ

Карел Зак <_>

dmesg была первоначально написана Теодором Цо <_>.

ССЫЛКИ

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

СООБЩЕНИЕ ОБ ОШИБКАХ

Для сообщений об ошибках используйте систему отслеживания ошибок [https://github.com/util-linux/util-linux/issues].

ДОСТУПНОСТЬ

Команда dmesg является частью пакета util-linux, который можно загрузить с Linux Kernel Archive [https://www.kernel.org/pub/linux/utils/util-linux/].