概述
dmesg 顯示核心在開機時產生的訊息、硬體初始化資訊、驅動程式載入狀態、系統錯誤等核心環形緩衝區的內容。此緩衝區具有固定大小,當有新訊息進入時,舊訊息可能會被覆蓋。
主要特點
- 檢查系統開機訊息
- 硬體偵測與初始化資訊
- 驅動程式載入與錯誤診斷
- 核心當機或崩潰資訊
- 即時核心事件監控 (使用部分選項)
主要選項
dmesg 命令提供多種選項來控制和過濾核心訊息的輸出。
輸出格式與控制
訊息過濾
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`dmesg` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用範例
展示如何使用 dmesg 命令檢查核心訊息並過濾特定資訊。
基本核心訊息輸出
dmesg
輸出核心環形緩衝區的所有內容。
可讀性高的輸出 (分頁與顏色)
dmesg -H
將輸出透過分頁器處理並套用顏色,以提高捲動和可讀性。
帶有人類可讀時間資訊的輸出
dmesg -T
在訊息中加入精確的時間戳記,方便了解發生時間。
過濾 USB 相關訊息
dmesg | grep -i usb
結合 dmesg 輸出和 grep,搜尋 USB 裝置相關訊息。
僅輸出錯誤 (error) 等級的訊息
dmesg -l err
從核心環形緩衝區過濾並僅輸出 'err' 等級的訊息。
即時追蹤新的核心訊息
dmesg -w
每當有新的核心訊息發生時,立即在終端機上輸出。對於系統監控很有用。
提示與注意事項
dmesg 是強大的診斷工具,但其輸出量龐大,因此掌握有效的用法很重要。
常用組合
dmesg 單獨使用時功能有限,與其他文字處理工具組合使用時更為強大。
- `dmesg | less`: 當輸出過長時,以分頁方式查看
- `dmesg | grep -i 'error|fail'`: 搜尋錯誤或失敗訊息
- `dmesg -T | tail`: 查看最新的幾行核心訊息
- `dmesg | head -n 20`: 查看前 20 行 (通常是開機初期訊息)
注意事項:清空緩衝區 (-c)
`-c` 選項會清空核心環形緩衝區,可能導致重要日誌遺失。此選項僅應在除錯時,需要從特定時間點開始收集新訊息時謹慎使用。
dmesg 與 journalctl 的區別
dmesg 僅顯示核心環形緩衝區的訊息,而 `journalctl` 是一個更全面的工具,用於管理和查詢 systemd 日誌中記錄的所有系統日誌 (包括核心、服務、應用程式等)。在較新的系統中,`journalctl` 可能更受青睞。