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

Например, вот небольшая часть вывода, который команда произвела в моем случае:

Как использовать команду dmesg

Вопрос 2. Как ограничить вывод только ошибками и предупреждениями?

Если вы запустите dmesg на своей системе, вы заметите, что он выводит множество информации. В зависимости от того, что вы ищете, вы можете захотеть отфильтровать или ограничить вывод. В свою очередь, dmesg предлагает вам эту возможность через ‘уровни’. Вот полный список уровней (вместе с их объяснением):

   emerg - система неработоспособна  
   alert - действие должно быть предпринято немедленно  
    crit - критические условия  
     err - условия ошибки  
    warn - условия предупреждения  
  notice - нормальное, но значительное состояние  
    info - информационное  
   debug - сообщения уровня отладки

Так, например, если вы хотите ограничить вывод только ошибками и предупреждениями, вы можете сделать это следующим образом:

dmesg --level=err,warn

В моем случае вот часть вывода, который произвела вышеуказанная команда:

Как ограничить вывод только ошибками и предупреждениями

Вопрос 3. Как заставить dmesg выводить временные метки в выводе?

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

dmesg -T

Вот пример вывода:

Как заставить dmesg выводить временные метки в выводе

Таким образом, вы можете видеть, что временная метка предшествует каждому сообщению.

Вопрос 4. Как заставить dmesg отображать информацию, специфичную для устройства?

Предположим, вы хотите, чтобы dmesg отображал только информацию, связанную с интерфейсом eth0. Вот как вы можете это сделать:

dmesg | grep -i eth0

Вот пример вывода:

Вопрос 5. Как заставить dmesg отображать только сообщения пользовательского пространства?

Если вы хотите ограничить вывод dmesg только сообщениями пользовательского пространства, используйте параметр командной строки -u.

dmesg -u

Как заставить dmesg отображать только сообщения пользовательского пространства

Заключение

Согласен, dmesg - это не та команда, которую вам нужно использовать каждый день. Но это инструмент, к которому стоит обратиться, когда кто-то (к кому вы обратились за помощью по определенной теме) просит вас предоставить сообщения ядра. Я в основном видел этот случай на онлайн-форумах пользователей, где опытные пользователи просят вывод ядра.

Здесь, в этом учебнике, мы обсудили команду dmesg с точки зрения начинающих (просто чтобы вы начали). Как только вы закончите практиковаться со всем, что мы обсудили здесь, перейдите на страницу man инструмента.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.