Linux dmesg初学者命令教程(5个示例)

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命令(只是为了让你开始)。 完成我们在此讨论过的所有内容后,请转到该工具的手册页

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏