Хотя команда dmesg может отображать все содержимое буфера сообщений ядра Linux, есть способы заставить ее выбирать именно то, что вы хотите видеть.
Команда dmesg отображает содержимое буфера сообщений ядра с момента последней загрузки системы. В нем отображается множество подробностей о том, как работает система, и о проблемах, с которыми она может столкнуться, которые вы обычно не видите. Это может быть много данных, но есть несколько приемов для их сокращения.
Например, несмотря на то, что система, запрошенная ниже, работала всего чуть более трех дней, она собрала более тысячи строк данных.
Если вы наберете только команду dmesg, вы увидите все доступные данные. Доступ к sudo не требуется. Вы также можете перенаправить вывод dmesg командам more и less для сканирования или просто передать вывод в grep, но сама команда предоставляет множество опций для выбора наиболее важной информации из файла.
Одна из вещей, которую вы заметите, когда впервые начнете просматривать выходные данные dmesg, – это нумерация слева от каждой строки. Это дата/время, выраженные в секундах и наносекундах с момента последней загрузки. Они будут выглядеть вот так:
Вывод данных выше означает, что данные были записаны примерно через 17 с половиной секунд с момента последней загрузки системы. Количество секунд в одном дне – 86400. Исходя из этого:
Более простой способ просмотреть поле даты/времени – использовать опцию -T или -H, которая преобразует эти поля в даты и время, подобные тем, которые мы привыкли видеть.
Вы можете использовать команды, подобные приведенным ниже, чтобы выбрать сведения, связанные с оперативной памятью, жестким диском, USB-накопителем и последовательными портами.
Использование средств журнала
Вы можете выбрать содержимое dmesg на основе процесса, который сгенерировал сообщения. Поддерживаемые средства ведения журнала включают:
- kern – сообщения ядра
- user – случайные сообщения уровня пользователя
- mail – почтовая система
- daemon – системные демоны
- auth – сообщения безопасности / авторизации
- syslog – сообщения, генерируемые внутри syslogd
- lpr – подсистема линейных принтеров
- news – подсистема сетевых новостей
Как вы увидите в приведенных ниже примерах, некоторые команды не будут отображать выходные данные, поскольку соответствующие действия не регистрировались.
- Использование kern
- Использование user
- Использование mail
- Использование daemon
- Использование auth
- Использование syslog
- Использование lpr
- Использование news
Использование уровней
Команда dmesg также позволяет извлекать данные по уровням журнала. К ним относятся:
emerg – система не работает
alert – действие должно быть предпринято немедленно
crit – критические условия
err – условия ошибки
warn – условия предупреждения
notice – нормальное, но важное условие
info – информационный
debug – сообщения уровня отладки