Linux dmesg初学者命令教程(5个示例)
你知道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.
以下是一些Q&A风格的示例,可以让您更好地了解dmesg命令的工作原理。
Q1。 如何使用dmesg命令?
您可以开始使用dmesg命令sans any命令行选项。
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只显示用户空间消息?
如果要将dmesg的输出仅限制为用户空间消息,请使用-u命令行选项。
dmesg -u
结论
同意,dmesg不是你每天都需要的那种命令。 但是当有人(你曾就某些主题请求帮助)要求你提供内核消息时,这是一个转向的工具。 我经常在在线用户论坛上看到这种情况,有经验的用户要求内核输出。
在这个教程中,我们从初学者的角度讨论了dmesg命令(只是为了让你开始)。 完成我们在此讨论过的所有内容后,请转到该工具的手册页 。