已校对

This commit is contained in:
carolinewuyan 2014-08-11 16:26:39 +08:00
parent 7baac3f61f
commit 07f568788c

View File

@ -1,19 +1,21 @@
在linux系统中处理故障和收集系统信息的7种dmesg用法
Linux系统中dmesg命令处理故障和收集系统信息的7种用法
==========================================================
dmesg命令显示linux内核的环形缓冲区信息我们可以从中获得诸如系统架构cpu挂载的硬件RAM等多个运行级别的大量的系统信息。当计算机启动时系统内核操作系统的核心部分将会被加载到内存中。在加载的过程中会显示很多的信息在这些信息中我们可以看到内核检测硬件设备。
dmesg命令显示linux内核的环形缓冲区信息我们可以从中获得诸如系统架构、cpu、挂载的硬件RAM等多个运行级别的大量的系统信息。当计算机启动时系统内核操作系统的核心部分将会被加载到内存中。在加载的过程中会显示很多的信息在这些信息中我们可以看到内核检测硬件设备。
![dmesg Command Examples](http://www.tecmint.com/wp-content/uploads/2014/07/dmesg-Command-Examples.png)
dmesg 命令的使用范例
dmesg命令设备故障的诊断是非常重要的。在dmesg命令的帮助下进行硬件的连接或断开连接操作时我们可以看到硬件的检测或者断开连接的信息。dmesg命令在多数基于**Linux**和**Unix**的操作系统中都可以使用。
下面我们展示一些最负盛名的dmesg命令工具以及其实际使用举例。dmesg命令的使用语法如下。
# dmesg [options...]
### 1. 列出加载到内核中的所有驱动 ###
我们可以使用如‘**more**’。 **tail**, **less** ’或者‘**grep**文字处理工具来处理dmesg命令的输出。由于dmesg日志的输出不适合在一页中完全显示因此我们使用管道pipe将其输出送到more或者less命令中进行分页显示。
我们可以使用如‘**more**’。 **tail**, **less** ’或者‘**grep**文字处理工具来处理dmesg命令的输出。由于dmesg日志的输出不适合在一页中完全显示因此我们使用管道pipe将其输出送到more或者less命令页显示。
[root@tecmint.com ~]# dmesg | more
[root@tecmint.com ~]# dmesg | less
@ -49,7 +51,7 @@ dmesg 命令的使用范例
[ 0.000000] NX (Execute Disable) protection: active
.....
### 列出所有被检测到的硬件 ###
###2. 列出所有被检测到的硬件 ###
要显示所有被内核检测到的硬盘设备,你可以使用‘**grep**’命令搜索‘**sda**’关键词,如下:
@ -72,6 +74,8 @@ dmesg 命令的使用范例
### 3. 只输出dmesg命令的前20行日志 ###
dmesg命令后跟随head命令来显示开始几行dmesg | head -20命令将显示开始的前20行。
[root@tecmint.com ~]# dmesg | head -20
[ 0.000000] Initializing cgroup subsys cpuset
@ -95,9 +99,9 @@ dmesg 命令的使用范例
[ 0.000000] BIOS-e820: [mem 0x000000007dc5cc00-0x000000007dc5ebff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x000000007dc5ec00-0x000000007fffffff] reserved
### 只输出dmesg命令最后20行日志 ###
###4. 只输出dmesg命令最后20行日志 ###
当我们插入可以出的硬件是dmesg命令后跟随tail命令来输出dmesg命令的最后20行日志是非常有用的。
dmesg命令后跟随tail命令 dmesg | tail -20来输出dmesg命令的最后20行日志,当你插入可移动设备时它是非常有用的。
[root@tecmint.com ~]# dmesg | tail -20
@ -123,6 +127,7 @@ dmesg 命令的使用范例
readahead-collector: finished
### 5. 搜索包含特定字符串的被检测到的硬件 ###
由于dmesg命令的输出实在太长了在其中搜索某个特定的字符串是非常困难的。因此有必要过滤出一些包含**usb** **dma** **tty** **memory**’等字符串的日志行。[grep 命令][1] 的‘**-i**’选项表示忽略大小写。
[root@tecmint.com log]# dmesg | grep -i usb
@ -166,7 +171,7 @@ dmesg 命令的使用范例
[root@tecmint.com log]# watch "dmesg | tail -20"
**结论**dmesg命令在系统dmesg记录实时更改或产生的情况下是非常有用的。你可以使用man dmesg来获取关于dmesg更多的信息。
**结论**dmesg命令在系统dmesg记录实时更改或产生的情况下是非常有用的。你可以使用man dmesg来获取更多关于dmesg的信息。
----------
@ -178,13 +183,13 @@ Narad Shrestha
- [Facebook profile][f]
- [Google+ profile][g]
他在IT领域拥有超过10年的丰富经验其中包括各种Linux发行版开源软件和网络。 Narad始终坚持与人分享知识和自如的运用新技术。
他在IT领域拥有超过10年的丰富经验其中包括各种Linux发行版开源软件和网络工作。 Narad始终坚持与他人分享IT知识和自如地运用新技术。
--------------------------------------------------------------------------------
via: http://www.tecmint.com/dmesg-commands/
译者:[cvsher](https://github.com/cvsher) 校对:[校对者ID](https://github.com/校对者ID)
译者:[cvsher](https://github.com/cvsher) 校对:[Caroline](https://github.com/carolinewuyan)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出