Linux
如何知道在 dmesg 中要 grep 什麼?
我最近在使用無線網卡時遇到了一些問題,一個線上論壇建議
dmesg
使用grep firmware
. 這有幫助,我能夠立即找到問題!但是,前一個小時都在看,dmesg
由於資訊量太大,我無法辨識任何相關內容!on 怎麼知道在 dmesg 中 grep 做什麼?
當然,這是一個硬體問題,但我自己從來沒有想過要 grep 字元串“韌體”。對於不熟悉 grep 輸出的人
dmesg
,我如何才能對 grep 的輸出做出一些有根據的猜測?
像這樣的東西會很有用:
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 密鑰出現在其中,您可以嘗試 grepping for
/dev/sd
.剛剛找到這個頁面,其中包含有關如何在其中 grep 內容的合理建議:
由於 的輸出長度,將
dmesg
其輸出通過管道傳遞給 grep 會很方便,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