如何從核心啟動將 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 條訊息

相關內容