在使用 Ubuntu 或其他 Linux 系统时,你是否曾遇到过系统突然卡顿、硬件无法识别,或者驱动加载失败等问题?这时候,
dmesg命令就是你的“系统诊断医生”。本文将手把手教你如何使用 Ubuntu dmesg命令 查看内核消息,帮助你快速定位和解决系统问题。

什么是 dmesg?
dmesg(display message 或 driver message)是 Linux 系统中用于打印或控制内核环形缓冲区(kernel ring buffer)内容的命令。每当系统启动、硬件插入、驱动加载或发生内核事件时,相关信息都会被记录到这个缓冲区中。
这些信息对 系统故障排查 至关重要,尤其当你需要确认 USB 设备是否被识别、硬盘是否报错,或显卡驱动是否加载成功时。
基本用法:查看所有内核消息
打开终端(Ctrl+Alt+T),输入以下命令:
这会输出大量信息,通常从系统启动开始的所有内核日志都会显示出来。由于内容太多,建议配合分页工具使用: 按空格翻页,按 q 退出。 实际使用中,我们通常只关心特定类型的日志。以下是几个常见场景的过滤方法: 有时为了测试新硬件或排除旧日志干扰,你可以清空当前的 dmesg 缓冲区: ⚠️ 注意:此操作不可逆,且需要 root 权限。仅在明确知道后果时使用。 在现代 Ubuntu 系统(使用 systemd)中, 但 通过本教程,你应该已经掌握了 Ubuntu dmesg命令 的基本用法、常用过滤技巧以及在 系统故障排查 中的实际应用场景。记住, 下次当你的 Wi-Fi 适配器突然消失,或者外接硬盘无法识别时,不妨打开终端,输入 希望这篇 dmesg使用教程 对你有所帮助。欢迎收藏并在实践中不断练习!dmesgdmesg | less实用技巧:过滤关键信息
1. 查找 USB 设备相关日志
dmesg | grep -i usb2. 查看硬盘或 SATA 错误
dmesg | grep -i error# 或更具体地:dmesg | grep -i sda3. 显示带时间戳的日志(便于分析时间线)
dmesg -T 注意:
-T
选项依赖系统日志服务(如 systemd-journald)。如果系统刚启动不久或时间未同步,可能显示不准确。清空 dmesg 缓冲区(谨慎操作)
sudo dmesg -Cdmesg 与 journalctl 的区别
journalctl
也能查看内核日志:journalctl -kdmesg
更轻量、直接读取内核缓冲区,适合在系统资源紧张或 journal 服务异常时使用。两者结合使用,能更全面地进行 Linux内核日志 分析。总结
dmesg
是 Linux 系统管理员和普通用户都应熟悉的强大工具。dmesg | tail -20
,看看内核最近说了什么!
