Поиск по сайту:

Учебник по команде Linux dmesg для начинающих (5 примеров)


На этой странице

  1. Команда Linux dmesg
  2. Q1. Как использовать команду dmesg?
  3. Вопрос 2. Как ограничить вывод только ошибками и предупреждениями?
  4. Вопрос 3. Как заставить dmesg выводить метки времени на выходе?
  5. Q4. Как заставить dmesg отображать информацию, специфичную для устройства?
  6. В5. Как заставить dmesg отображать только сообщения пользовательского пространства?
  7. Заключение

Знаете ли вы, что ядро Linux загружает несколько драйверов устройств при загрузке системы? Фактически, когда ваша система запущена и работает, и вы подключаете аппаратное устройство, также загружается соответствующий драйвер устройства. Конечно, ядро также делает много других вещей. Что, если вы хотите узнать информацию, связанную с этими действиями ядра?

Что ж, существует команда, получившая название dmesg, которую вы можете использовать, если хотите получить доступ к сообщениям, напечатанным ядром. В этом уроке мы поймем, как работает инструмент dmesg, используя несколько простых для понимания примеров.

Команда Linux dmesg

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

dmesg [options]

И вот как это объясняет справочная страница инструментов:

dmesg is used to examine or control the kernel ring buffer. The default action is to display all 
messages from the kernel ring buffer.

Ниже приведены несколько примеров в стиле вопросов и ответов, которые должны дать вам лучшее представление о том, как работает команда dmesg.

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

Вы можете начать использовать команду dmesg без каких-либо параметров командной строки.

dmesg

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

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

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

   emerg - system is unusable
   alert - action must be taken immediately
    crit - critical conditions
     err - error conditions
    warn - warning conditions
  notice - normal but significant condition
    info - informational
   debug - debug-level messages

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

dmesg --level=err,warn

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

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

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

dmesg -T

Ниже приведен пример вывода:

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

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

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

dmesg | grep -i eth0

Ниже приведен пример вывода:

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

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

dmesg -u

Заключение

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

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