我最近在无线网卡方面遇到了一些问题,在线论坛建议使用 进行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