【Linux】一步一步学Linux——dmesg命令(74)
00. 目录
文章目录
- 00. 目录
- 01. 命令概述
- 02. 命令格式
- 03. 常用选项
- 04. 参考示例
- 05. 附录
01. 命令概述
dmesg命令被用于检查和控制内核的环形缓冲区。kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息保存在/var/log/dmesg
文件里。
02. 命令格式
dmesg [选项]
03. 常用选项
选项:-C, --clear 清除内核环形缓冲区(ring butter)-c, --read-clear 读取并清除所有消息-D, --console-off 禁止向终端打印消息-d, --show-delta 显示打印消息之间的时间差-e, --reltime 以易读格式显示本地时间和时间差-E, --console-on 启用向终端打印消息-F, --file <文件> 用 文件 代替内核日志缓冲区-f, --facility <列表> 将输出限制为定义的设施-H, --human 易读格式输出-k, --kernel 显示内核消息-L, --color 显示彩色消息-l, --level <列表> 限制输出级别-n, --console-level <级别> 设置打印到终端的消息级别-P, --nopager 不将输出通过管道传递给分页程序-r, --raw 打印原生消息缓冲区-S, --syslog 强制使用 syslog(2) 而非 /dev/kmsg-s, --buffer-size <大小> 查询内核环形缓冲区所用的缓冲区大小-T, --ctime 显示易读的时间戳(如果您使用了SUSPEND/RESUME 则可能不准)-t, --notime 不打印消息时间戳-u, --userspace 显示用户空间消息-w, --follow 等待新消息-x, --decode 将设施和级别解码为可读的字符串-h, --help 显示此帮助并退出-V, --version 输出版本信息并退出支持的日志设施:kern - 内核消息user - 随机的用户级消息mail - 邮件系统daemon - 系统守护进程auth - 安全/认证消息syslog - syslogd 内部生成的消息lpr - 行打印机子系统news - 网络新闻子系统支持的日志级别(优先级):emerg - 系统无法使用alert - 操作必须立即执行crit - 紧急条件err - 错误条件warn - 警告条件notice - 正常但重要的条件info - 信息debug - 调试级别的消息
04. 参考示例
4.1 列出加载到内核中的所有驱动
dmesg
命令设备故障的诊断是非常重要的。在dmesg
命令的帮助下进行硬件的连接或断开连接操作时,我们可以看到硬件的检测或者断开连接的信息。dmesg
命令在多数基于Linux和Unix的操作系统中都可以使用。
[root@itcast ~]# dmesg
4.2 列出所有被检测到的硬件
要显示所有被内核检测到的硬盘设备,你可以使用grep命令搜索sda
关键词
[root@itcast ~]# dmesg | grep sda
[ 3.051454] sd 0:0:0:0: [sda] 209715200 512-byte logical blocks: (107 GB/100 GiB)
[ 3.051559] sd 0:0:0:0: [sda] Write Protect is off
[ 3.051562] sd 0:0:0:0: [sda] Mode Sense: 61 00 00 00
[ 3.051700] sd 0:0:0:0: [sda] Cache data unavailable
[ 3.051702] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 3.053408] sda: sda1 sda2 sda3
[ 3.054299] sd 0:0:0:0: [sda] Attached SCSI disk
[ 3.558354] XFS (sda3): Mounting V5 Filesystem
[ 4.188185] XFS (sda3): Ending clean mount
[ 12.636995] Adding 4194300k swap on /dev/sda2. Priority:-1 extents:1 across:4194300k FS
[ 12.922553] XFS (sda1): Mounting V5 Filesystem
[ 14.708567] XFS (sda1): Ending clean mount
[root@itcast ~]#
4.3 只输出dmesg命令的前10行日志
[root@itcast ~]# dmesg | head
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.10.0-862.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) ) #1 SMP Fri Apr 20 16:44:24 UTC 2018
[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-862.el7.x86_64 root=UUID=6fa6fd5d-0115-4ec3-b993-19322c836a32 ro rhgb quiet LANG=zh_CN.UTF-8
[ 0.000000] Disabled fast string operations
[ 0.000000] e820: BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009ebff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000009ec00-0x000000000009ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000000dc000-0x00000000000fffff] reserved
[root@itcast ~]#
4.4 只输出dmesg命令最后10行日志
[root@itcast ~]# dmesg | tail
[117804.072174] IPv6: ADDRCONF(NETDEV_UP): ens33: link is not ready
[117804.078051] e1000: ens33 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[117804.079860] IPv6: ADDRCONF(NETDEV_UP): ens33: link is not ready
[117804.079873] IPv6: ADDRCONF(NETDEV_CHANGE): ens33: link becomes ready
[117831.955328] psmouse serio1: VMMouse at isa0060/serio1/input0 lost synchronization, throwing 2 bytes away.
[117833.738722] psmouse serio1: resync failed, issuing reconnect request
[124926.680233] IPv6: ADDRCONF(NETDEV_UP): ens33: link is not ready
[124926.693764] IPv6: ADDRCONF(NETDEV_UP): ens33: link is not ready
[124932.700536] e1000: ens33 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[124932.701799] IPv6: ADDRCONF(NETDEV_CHANGE): ens33: link becomes ready
[root@itcast ~]#
4.5 搜索包含特定字符串的被检测到的硬件
由于‘dmesg’命令的输出实在太长了,在其中搜索某个特定的字符串是非常困难的。因此,有必要过滤出一些包含‘usb’ ‘dma’ ‘tty’ ‘memory’等字符串的日志行。grep 命令 的‘-i’选项表示忽略大小写。
[root@itcast ~]# dmesg | grep -i usb
[root@itcast ~]# dmesg | grep -i dma
[root@itcast ~]# dmesg | grep -i tty
[root@itcast ~]# dmesg | grep -i memory
4.6 清空dmesg缓冲区日志
[root@itcast ~]# dmesg -c
我们可以使用如下命令来清空dmesg的日志。该命令会清空dmesg环形缓冲区中的日志。但是你依然可以查看存储在‘/var/log/dmesg’文件中的日志。你连接任何的设备都会产生dmesg日志输出。
4.7 实时监控dmesg日志输出
[root@itcast ~]# tail -f /var/log/dmesg
[ 14.708567] XFS (sda1): Ending clean mount
[ 14.880408] floppy0: no floppy controllers found
[ 14.880489] work still pending
[ 14.988537] device-mapper: uevent: version 1.0.3
[ 14.988785] device-mapper: ioctl: 4.37.0-ioctl (2017-09-20) initialised: dm-devel@redhat.com
[ 15.604238] RPC: Registered named UNIX socket transport module.
[ 15.604240] RPC: Registered udp transport module.
[ 15.604241] RPC: Registered tcp transport module.
[ 15.604242] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 15.783627] type=1305 audit(1563324893.915:3): audit_pid=581 old=0 auid=4294967295 ses=4294967295 res=1//或者
[root@itcast ~]# watch "dmesg |tail"
05. 附录
参考:【Linux】一步一步学Linux系列教程汇总
参考:https://linux.cn/article-3587-1.html
~]# watch “dmesg |tail”
## 05. 附录参考:[【Linux】一步一步学Linux系列教程汇总](https://blog.csdn.net/dengjin20104042056/article/details/94669639)参考:https://linux.cn/article-3587-1.html
【Linux】一步一步学Linux——dmesg命令(74)相关推荐
- 学linux作用,linux有必要学吗?学linux有什么作用,学linux能干什么
Linux是一种自由和开放源码的类UNIX操作系统.Linux有必要学吗?学Linux有什么作用,学Linux能干什么?Linux最大的作用就是提高效率.当你习惯在Linux命令行下工作,再回到win ...
- LINUX学习之路(学LINUX必看)
很多同学接触Linux不多,对Linux平台的开发更是一无所知.而现在的趋势越来越表明,作为一 个优秀的软件开发人员,或计算机IT行业从业人员,掌握Linux是一种很重要的谋生资源与手段.下来我将会结 ...
- linux学习需要什么基础,学linux需要什么基础?
近几年来,随着计算机网络的发展,越来越多的人学习 linux.对于想要从事运维工作或者从事智能开发方面的同学来说,学习 linux 是必要的.linux 的学习并不简单,那么这篇文章 w3cschoo ...
- 分享--linux 学习之路(学linux必看)
很多同学接触Linux不多,对Linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员, 掌握Linux是一种很重要的谋生资源与手段. 下来我将 ...
- 英语不好学linux运维难吗,学Linux系统难吗?学好Linux运维需要多久
随着近年来经济的快速发展,企业对Linux人才的需求也越来越高.许多人认为,Linux是一个非常简单的行业,然而,Linux行业是一个综合了云计算.Linux运维.Linux开发.Linux编程等多方 ...
- 不会linux的php难找工作,学linux系统难吗
这是 Linux初学者经常会问的问题,其实Linux和Windows一样都属于操作系统,对于大部分人来说,对Windows操作系统十分熟悉,而对Linux操作系统没有使用过,所以觉得很难,其实,只要熟 ...
- linux lamp实验报告,新手学Linux--构建lamp
本人前不久开始学习Linux,俗话说得好,好记性不如烂笔头,于是决定将平日所学所做实验,记录下来,以备回顾.由于本人是个初学者,所以借鉴了很多网上的资料,但在此处写出来的都是经过本人思考和多次实验的记 ...
- Linux其实没那么难学
互联网技术总是更新迭代的,因为2020年的一场疫情,影响着中国乃至整个世界,就在这一年,网络直播,远程办公,在线教育等等的互联网产物进入了众多人的世界,当然,这其中离不开程序员的功劳. 李开复曾经说过 ...
- 大学生为什么要学Linux?Linux有什么优点?
前言 Linux是一种自由和开放源码的类UNIX操作系统.Linux有必要学吗?学Linux有什么作用,学Linux能干什么?Linux最大的作用就是提高效率.当你习惯在Linux命令行下工作,再回到 ...
最新文章
- Python中printf函数中逗号引发的区别
- abs传感器电压有几伏电_CC6501、CC6502、CC6503 高性能线性霍尔传感器IC
- Facebook称其新的AI技术可以更快发现仇恨言论
- outlook地址薄导入到FOXMAIL
- c# treeView 取消选择事件
- 协方差矩阵, 相关系数矩阵
- Linux下samba服务的错误处理
- VirtualCopy()操作I/O口 物理地址为什么要移8位
- ubuntu14.04源无法更新--jdk安装出错解决方法
- 一个简单的基于 DirectShow 的播放器 2(对话框类)
- js判断IE浏览器的方法
- C# int byte数组互转 int byte[]互转
- Vmware+Virtualbox+Ubuntu+debian+USB转串口+kermit
- glnxa64 matlab 什么版本_发现了一个MATLAB的小bug
- 高德地图获取经纬度坐标
- 下载win7原版ios系统文件
- Gmail注册时手机号无法验证
- Java 编写程序,求出几何形状(长方形、正方形、圆形)的周长和面积。
- 在网页中嵌入QQ聊天、阿里旺旺聊天、邮件发送等代码
- 中英双语版Arnold for Cinema 4D 2023(c4d阿诺德渲染器插件)
热门文章
- 关于织梦系统不支持php中GD库的问题
- 新闻视频 36:整合首页 用到 Repeater 主要用gridview /gridview去掉边框用到 BorderWidth=”0” inner join和 left...
- pro c中varchar类型变量的arr函数是做什么用
- vs.net 2003 错误:无法生成项目输出组“内容文件来自stuschool(活动)”
- 每日程序C语言14-小球反弹高度问题
- Promises/A+规范中文翻译
- Java黑皮书课后题第7章:7.4(分析成绩)编写一个程序,读入个数不确定的考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的。输入一个负数表示输入结束。假设最高分是100
- 【S4 导数据】S/4HANA导数,只会LSMW远远不够(转)
- using可以用于释放操作,相当于Dispose()
- 怎样让外界无法改变自定义view的尺寸大小