温馨提示×

怎样过滤debian dmesg信息

小樊
42
2026-09-28 16:43:06
栏目: 智能运维

在 Debian(以及其他 Linux 发行版)中,dmesg 用于显示内核环形缓冲区的信息。你可以通过以下几种方式过滤 dmesg 输出,根据需求不同方法也不同。


一、使用 grep 过滤关键字

最常见的做法:

dmesg | grep usb

忽略大小写:

dmesg | grep -i error

显示关键字及其前后行:

dmesg | grep -C 3 "nvme"

只显示某个设备:

dmesg | grep eth0

二、按日志级别过滤(推荐)

dmesg 本身支持按日志级别过滤。

查看支持的级别

dmesg -l help

常见级别:

  • emerg
  • alert
  • crit
  • err
  • warn
  • notice
  • info
  • debug

只显示错误或更严重的信息

dmesg -l err,crit,alert,emerg

只显示警告和错误

dmesg -l warn,err

三、按时间和颜色显示(更易读)

dmesg -T --color=always

结合 grep:

dmesg -T | grep -i "fail"

四、使用 journalctl(systemd 系统)

Debian 若使用 systemd(默认),dmesg 信息也在 journal 中:

journalctl -k

按优先级(0–3 为严重错误):

journalctl -k -p err

按时间:

journalctl -k --since "2024-01-01" --until "2024-01-02"

五、实时监控 dmesg(类似 tail -f)

dmesg -w

过滤实时输出:

dmesg -w | grep usb

六、按设备/驱动过滤示例

网络

dmesg | grep -i e1000

磁盘 / RAID

dmesg | grep -i "sda\|nvme\|md"

内存

dmesg | grep -i "memory"

七、保存并分析

dmesg > dmesg.txt
less dmesg.txt

如果你能说明具体想过滤什么类型的信息(如 USB、网卡、崩溃、启动错误等),我可以给你更精确的命令示例。

0 踩