如何从内核启动将 dmesg AKA 内核日志转储到单个 .txt 文件?

如何从内核启动将 dmesg AKA 内核日志转储到单个 .txt 文件?

我试图了解 SATA 主机设备通信,为此我在内核驱动程序代码中放入了大量调试消息。现在消息数量如此巨大,以至于我无法在 dmesg 日志中看到设备枚举的初始消息。同样,我修改了 CONFIG_LOG_BUF_SHIFT(=21) 配置变量以增加 dmesg 获取消息的环形缓冲区大小,但我仍然面临同样的问题。

那么,是否有任何方法可以将内核启动中的所有 dmesg 记录到特定文件中?

我在这里先向您的帮助表示感谢。

答案1

您可以使用:

cat /var/log/dmesg > file.txt

并使用:

head /var/log/dmesg

如果你想查看 dmesg 的第一行。

更多规格请参见“人头”。 “>”符号将“cat”的输出重定向到“file.txt”

答案2

有一个名为的命令dmesg会将日志打印到标准输出。您可以将标准输出重定向到文本文件。

dmesg > /path/to/dmesg.txt

你可以扩展这个。一个真正有用的选项是在您的~/.profile文件(在您的主目录中)中添加一行,该行在登录时附加 dmesg 的输出。只需添加一行:

dmesg >> /path/to/dmesg.txt

如果您只想要前几行(0.000000 条消息),您可以head像这样通过管道将其输入。

使用标准输出:

dmesg | head

head使用已保存的 .txt 文件。

head /path/to/dmesg.txt

差不多就这些了,希望对你有帮助!

编辑:顺便说一句,这确实包含 0.000000 条消息

相关内容