Linux команды · 2 min read · Sep 19, 2025
Учебник по команде dmesg в Linux для начинающих (5 примеров)

Знаете ли вы, что ядро Linux загружает несколько драйверов устройств при загрузке системы? На самом деле, когда ваша система запущена и вы подключаете аппаратное устройство, соответствующий драйвер устройства также загружается. Конечно, ядро также выполняет много других задач. Что если вы хотите узнать информацию, связанную с этими действиями ядра?
Существует команда - названная dmesg - которую вы можете использовать, если хотите получить доступ к сообщениям, напечатанным ядром. В этом учебнике мы поймем, как работает инструмент dmesg, используя несколько простых примеров.
Команда dmesg в Linux
Команда dmesg позволяет вам выводить или управлять кольцевым буфером ядра. Вот ее синтаксис:
dmesg [options]А вот как страница man этого инструмента объясняет его:
dmesg используется для проверки или управления кольцевым буфером ядра. Действие по умолчанию - отображать все сообщения из кольцевого буфера ядра.Ниже приведены некоторые примеры в формате вопросов и ответов, которые должны дать вам лучшее представление о том, как работает команда dmesg.
Вопрос 1. Как использовать команду dmesg?
Вы можете начать использовать команду dmesg без каких-либо параметров командной строки.
dmesgНапример, вот небольшая часть вывода, который команда произвела в моем случае:

Вопрос 2. Как ограничить вывод только ошибками и предупреждениями?
Если вы запустите dmesg на своей системе, вы заметите, что он выводит множество информации. В зависимости от того, что вы ищете, вы можете захотеть отфильтровать или ограничить вывод. В свою очередь, dmesg предлагает вам эту возможность через ‘уровни’. Вот полный список уровней (вместе с их объяснением):
emerg - система неработоспособна
alert - действие должно быть предпринято немедленно
crit - критические условия
err - условия ошибки
warn - условия предупреждения
notice - нормальное, но значительное состояние
info - информационное
debug - сообщения уровня отладкиТак, например, если вы хотите ограничить вывод только ошибками и предупреждениями, вы можете сделать это следующим образом:
dmesg --level=err,warnВ моем случае вот часть вывода, который произвела вышеуказанная команда:

Вопрос 3. Как заставить dmesg выводить временные метки в выводе?
Иногда вы можете захотеть, чтобы временная метка была связана с сообщениями, которые производит dmesg. Это можно сделать с помощью параметра командной строки -T, который производит временные метки, удобные для чтения человеком.
dmesg -TВот пример вывода:

Таким образом, вы можете видеть, что временная метка предшествует каждому сообщению.
Вопрос 4. Как заставить dmesg отображать информацию, специфичную для устройства?
Предположим, вы хотите, чтобы dmesg отображал только информацию, связанную с интерфейсом eth0. Вот как вы можете это сделать:
dmesg | grep -i eth0Вот пример вывода:
Вопрос 5. Как заставить dmesg отображать только сообщения пользовательского пространства?
Если вы хотите ограничить вывод dmesg только сообщениями пользовательского пространства, используйте параметр командной строки -u.
dmesg -u
Заключение
Согласен, dmesg - это не та команда, которую вам нужно использовать каждый день. Но это инструмент, к которому стоит обратиться, когда кто-то (к кому вы обратились за помощью по определенной теме) просит вас предоставить сообщения ядра. Я в основном видел этот случай на онлайн-форумах пользователей, где опытные пользователи просят вывод ядра.
Здесь, в этом учебнике, мы обсудили команду dmesg с точки зрения начинающих (просто чтобы вы начали). Как только вы закончите практиковаться со всем, что мы обсудили здесь, перейдите на страницу man инструмента.
Get new posts in your inbox
No spam. Unsubscribe anytime.