linux command ------ dmesg

Posted 流水灯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux command ------ dmesg相关的知识,希望对你有一定的参考价值。

驱动开发中使用函数 printk() 打印的信息可以通过 dmesg 查看

 

简介

‘dmesg’命令显示linux内核的环形缓冲区信息,我们可以从中获得诸如系统架构、cpu、挂载的硬件,RAM等多个运行级别的大量的系统信息。当计算机启动时,系统内核(操作系统的核心部分)将会被加载到内存中。在加载的过程中会显示很多的信息,在这些信息中我们可以看到内核检测到的硬件设备。

 

dmesg 命令的使用范例

‘dmesg’命令设备故障的诊断是非常重要的。在‘dmesg’命令的帮助下进行硬件的连接或断开连接操作时,我们可以看到硬件的检测或者断开连接的信息。‘dmesg’命令在多数基于Linux和Unix的操作系统中都可以使用。

 

我们可以使用如‘more’。 ‘tail’, ‘less ’或者‘grep’文字处理工具来处理‘dmesg’命令的输出。由于dmesg日志的输出不适合在一页中完全显示,因此我们使用管道(pipe)将其输出送到more或者less命令单页显示。

[[email protected] ~]# dmesg | more
[[email protected] ~]# dmesg | less

 在‘dmesg’命令后跟随‘head’命令来显示开始几行,‘dmesg | head -20′命令将显示开始的前20行。

[[email protected] ~]# dmesg | head  -20

 

 在‘dmesg’命令后跟随‘tail’命令(‘ dmesg | tail -20’)来输出‘dmesg’命令的最后20行日志,当你插入可移动设备时它是非常有用的。

[[email protected] ~]# dmesg | tail -20

由于‘dmesg’命令的输出实在太长了,在其中搜索某个特定的字符串是非常困难的。因此,有必要过滤打印出一些包含‘usb’ ‘dma’ ‘tty’ ‘memory’等字符串的日志行。grep 命令 的‘-i’选项表示忽略大小写。

[[email protected] log]# dmesg | grep -i usb
[[email protected] log]# dmesg | grep -i dma
[[email protected] log]# dmesg | grep -i tty
[[email protected] log]# dmesg | grep -i memory

我们可以使用如下命令来清空dmesg的日志。该命令会清空dmesg环形缓冲区中的日志。但是你依然可以查看存储在‘/var/log/dmesg’文件中的日志。你连接任何的设备都会产生dmesg日志输出。

[[email protected] log]# dmesg -c

在某些发行版中可以使用命令‘tail -f /var/log/dmesg’来实时监控dmesg的日志输出。watch -n 2"dmesg | tail -20"表示2s周期性的执行引号的内容

[[email protected] log]# watch -n 2 "dmesg | tail -20"

 

以上是关于linux command ------ dmesg的主要内容,如果未能解决你的问题,请参考以下文章

some Linux shell commands

markdown [Linux命令] linux命令#linux #commands

Linux commands

[Python] 利用commands模块执行Linux shell命令

Linux Bash Scripting - Command Chaining & Command lists

text 别名的缩写 - 别名custom_command =“linux_command”