
我試圖了解 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 條訊息