如何知道 dmesg 中要 grep 的内容?

如何知道 dmesg 中要 grep 的内容?

我最近在无线网卡方面遇到了一些问题,在线论坛建议使用 进行dmesg搜索grep firmware。这很有帮助,我能够立即找到问题!然而,前一个小时我都在看dmesg,由于信息量巨大,我无法识别出任何相关内容!

on 如何知道要在 dmesg 中 grep 查找什么内容?

当然,这是一个硬件问题,但我自己从来没有想过用 grep 来查找字符串“firmware”。给某人不是非常熟悉 的输出dmesg,我如何对 grep 的内容做出一些有根据的猜测?

答案1

像这样的东西会很有用:

dmesg | grep -iC 3 "what you are looking for" 

例如,如果正在寻找您的视频卡,您可以尝试:

dmesg | grep -iC 3 "video"

或者:

dmesg | grep -iC 3 "graphics" 

C 3标志将在匹配的字符串之前和之后打印 3 行,只是为了给您一些关于结果的上下文。但作为@tohecz说,有成千上万种可能性。

一切都取决于您要寻找什么......声音、wifi、USB、串口、读卡器...

如果您希望其中出现 USB 密钥,您可以尝试 grep for /dev/sd


刚刚发现这一页,其中包含有关如何 grep 那里的内容的合理建议:

由于 的输出的长度dmesg,可以方便地将其输出通过管道传递给 grep,这是一个过滤器,用于搜索包含其后的字符串(即字符序列)的任何行。该-i 选项可用于告诉 grep 忽略字符串中字母的大小写(即小写或大写)。例如,以下命令列出了USB内核消息中对(通用串行总线)设备的所有引用:

dmesg | grep -i usb

以下命令告诉 dmesg 显示所有串行端口(由字符串 tty 表示):

dmesg | grep -i tty

dmesg 和 grep 组合还可用于显示系统上有多少可用物理内存(即 RAM):

dmesg | grep -i memory

以下命令检查以确认 HDD 正在 DMA(直接内存访问)模式下运行:

dmesg | grep -i dma

相关内容