Dmesg linux что делает

Обновлено: 05.07.2024

Оригинал: Linux dmesg Command Tutorial for Beginners (5 Examples)
Автор: Himanshu Arora
Дата публикации: 3 июля 2018 года
Перевод: А. Кривошей
Дата перевода: январь 2019 г.

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

Команда Linux dmesg

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

И вот как справочная страница утилиты объясняет ее назначение:

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

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

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

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

часть вывода команды

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

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

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

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

часть вывода команды dmesg --level=err,warn

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

Пример вывода dmesg -T

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

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

Пример вывода dmesg | grep -i eth0

Пример вывода dmesg -u

Заключение

Здесь, в этом уроке, мы обсудили команду dmesg с точки зрения начинающих. Более подробную информацию можно получить, изучив справочную страницу команды.

Знаете ли вы, что ядро Linux загружает несколько драйверов устройств при загрузке системы?

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

Конечно, ядро также делает много других вещей.

Что делать, если вы хотите узнать информацию, связанную с этими действиями ядра?

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

Команда Linux dmesg

Синтаксис команды dmesg:

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

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

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

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

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

Если вы запустите dmesg в своей системе, вы увидите, что он выводит множество информации.

В зависимости от того, что вы ищете, вы можете фильтровать или ограничивать вывод.

Со своей стороны, dmesg предлагает вам эту способность через «уровни».

Ниже приведен полный список уровней (вместе с их объяснением):

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

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

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

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

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

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

Вот как вы можете это сделать:

В основном я видел этот случай на форумах онлайн-пользователей, где опытные пользователи просят вывод ядра.

Синтаксис и опции dmesg

Синтаксис команды dmesg очень простой. Надо набрать имя команды и если необходимо, то опции:

$ dmesg опции

Это далеко не все опции, а только самые интересные. Если вы хотите посмотреть другие, воспользуйтесь такой командой:

Поддерживаемые категории журналирования:

А вот доступные уровни журналирования:

Примеры использования dmesg



dmesg | grep CPU



Для того чтобы добавить цвет к выводу и включить постраничную навигацию вместо вывода текста одним большим куском используйте опцию -H:



Если вас интересуют только ошибки, можно отсеять их по уровню журналирования:

dmesg -l crit,err



Или же отфильтруйте категории user и daemon с помощью опции -f:

dmesg -f user,daemon

Выводы

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

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

В данной статье мы разберем, как работать с dmesg.

Синтаксис

Синтаксис команды выглядит следующим образом:

Важно! Возвращаясь к опции -C (очистка буфера), важно отметить, что данная возможность доступна только для root и пользователей с привилегиями sudo.

Примеры использования

Разумеется, выше были упомянуты лишь самые основные и популярные опции утилиты DMESG. Развернутый перечень утилит можно открыть, воспользовавшись строкой терминала. Для этих целей пользователю необходимо задать:

dmesg

Для ознакомления с полной временной меткой (она не предусмотрена по умолчанию), следует воспользоваться добавочной опцией:

Бывает так, что нужно посмотреть информацию о сетевом интерфейсе. Например сетевая карта время от времени отключается. Для этого необходимо сначала узнать имя интерфейса, с помощью утилиты ip, затем отфильтровать список через grep.
$ ip a

ip a

$ dmesg | grep -i enp0s3

Данные о сетевом интерфейсе

Посредством популярной утилиты можно посмотреть состояние оборудования, которое будет проверено ядром Linux. В некоторых ситуациях нужно отфильтровывать данные. К примеру:

$ dmesg | grep CPU

Это позволит увидеть только те данные, которые относятся к CPU.

dmesg имеет еще одно весомое преимущество перед аналогами: программа всегда обновляет информацию об используемом оборудовании, даже если пользователь меняет его очень часто (к примеру, подключает что-либо через USB-порт).

Взаимодействие с утилитами значительно упрощает работу с Linux и всеми аналоговыми операционными системами. Программа dmesg – яркий тому пример. С ней просмотр и контроль буфера ядра становится примитивной задачей, а состояние используемого оборудования больше не является труднодоступной информацией для пользователя. Dmesg контролирует состояние процессора, конфигурации памяти, SCSI и даже USB.

Ознакомьтесь со списком всех доступных опций команды, как это было указано выше, чтобы заиметь полноценный инструмент для работы с системой.

Читайте также: