在dmesg中打印_讲解Linux下的Dmesg命令:格式化及过滤dmesg输出、清除环形缓冲区...
在本文中,我们将介绍Linux下dmesg命令的基础知识。Linux内核是操作系统的核心,它控制对系统资源(例如CPU、I/O设备、物理内存和文件系统)的访问,在引导过程中以及系统运行时,内核会将各种消息写入内核环形缓冲区,这些消息包括有关系统操作的各种信息。内核环形缓冲区是物理内存的一部分,用于保存内核的日志消息,它具有固定的大小,这意味着一旦缓冲区已满,较旧的日志记录将被覆盖。dmesg命令行实用程序用于在Linux和其他类似Unix的操作系统中打印和控制内核环形缓冲区,这对于检查内核启动消息和调试与硬件相关的问题很有用。
使用dmesg命令
dmesg命令的语法如下:
dmesg [OPTIONS]
在不带任何选项的情况下调用dmesg会将所有消息从内核环形缓冲区写入标准输出:
$ dmesg
默认情况下,所有用户都可以运行dmesg命令,但是,在某些系统上,非root用户可能会限制对dmesg的访问,在这种情况下,调用dmesg时,你将收到如下错误消息:
dmesg: read kernel buffer failed: Operation not permitted(dmesg:读取内核缓冲区失败:不允许操作)
内核参数kernel.dmesg_restrict指定无特权的用户是否可以使用dmesg查看来自内核日志缓冲区的消息,要删除限制,请将其设置为零:
$ sudo sysctl -w kernel.dmesg_restrict=0
通常,输出包含很多信息行,因此仅输出的最后一部分是可见的,要一次查看一页,请将输出通过管道传递到诸如less和more的pager实用程序:
$ dmesg --color=always | less
--color=always始终用于保留彩色输出。
如果要过滤缓冲区消息,请使用grep,例如,要仅查看与USB相关的消息,请键入:
$ dmesg | grep -i usb
dmesg从/proc/kmsg虚拟文件读取内核生成的消息,该文件提供了到内核环形缓冲区的接口,并且只能由一个进程打开,如果你的系统上正在运行syslog进程,并且你尝试使用cat(或更少)读取文件,该命令将挂起。
syslog守护程序将内核消息转储到/var/log/dmesg,因此也可以使用该日志文件:
$ cat /var/log/dmesg
格式化dmesg输出
dmesg命令提供了许多选项,可帮助你格式化和过滤输出。
dmesg最常用的选项之一是-H(-human),它使人可读的输出成为可能,此选项将命令输出通过管道传递到pager:
$ dmesg -H
要打印人类可读的时间戳,请使用-T(--ctime)选项:
$ dmesg -T
[Mon Oct 14 14:38:04 2019] IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready
时间戳格式也可以使用--time-format 选项设置,可以为ctime、reltime、delta、notime或iso,例如,要使用增量格式,请输入:
$ dmesg --time-format=delta
你还可以组合两个或多个选项:
$ dmesg -H -T
要实时观看dmesg命令的输出,请使用-w(--follow)选项:
$ dmesg --follow
过滤dmesg输出
你可以将dmesg输出限制为给定的设施和级别。
该功能代表创建消息的过程,dmesg支持以下日志功能:
kern-内核消息。
user-用户级别的消息。
mail-邮件系统。
daemon-系统守护程序。
auth-安全/授权消息。
syslog-内部syslogd消息。
lpr-行式打印机子系统。
news-网络新闻子系统。
-f(--facility )选项允许你将输出限制为特定的工具,该选件接受一个或多个逗号分隔的功能。
例如,要仅显示内核和系统守护程序消息,可以使用:
$ dmesg -f kern,daemon
每个日志消息都与一个显示消息重要性的日志级别相关联,dmesg支持以下日志级别:
emerg-系统无法使用。
alert-必须立即采取措施。
crit-关键条件。
err-错误条件。
warn-警告条件。
notice-正常但状况显着。
info-信息性。
debug-调试级别的消息。
-l(--level )选项将输出限制为定义的级别,该选项接受一个或多个逗号分隔的级别。
以下命令仅显示错误和严重消息:
$ dmesg -l err,crit
清除环形缓冲区
-C(--clear)选项允许你清除环形缓冲区:
$ sudo dmesg -C
只有root或具有sudo特权的用户才能清除缓冲区。
要在清除之前打印缓冲区内容,请使用-c(--read-clear)选项:
$ sudo dmesg -c
如果要在清除之前将当前dmesg日志保存在文件中,请将输出重定向到文件:
$ dmesg > dmesg_messages
结论
dmesg命令允许你查看和控制内核环形缓冲区,对内核或硬件问题进行故障排除时,此功能非常有用。
在你的终端中键入man dmesg以获取有关所有可用dmesg选项的信息。
相关主题
在dmesg中打印_讲解Linux下的Dmesg命令:格式化及过滤dmesg输出、清除环形缓冲区...相关推荐
- python os模块安装方法_基于python中pygame模块的Linux下安装过程(详解)
一.使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip.在Python3中,pip有时被称为pip3. 1.在Linux和OS X系统中检查 ...
- python中pygame模块下载_基于python中pygame模块的Linux下安装过程(详解)
pyhthon中pygame模块怎么安装?pyhthon中pygame模块怎么安装?鄙人为初二一名学生,闲来无事 钻研起电这句话还是建议问一下你们代课老师吧,因为你们老师是这方面专家,诺儿那边的话肯定 ...
- linux替换jar包目录,Linux下用jar命令替换war包中的文件【转】
问题背景:在Linux环境上的weblogic发布war包,有时候只是修改了几个文件,也要上传整个war包,这样很费时间,因此整理了一下Linux环境,更新单个文件的方法. 1.如果要替换的文件直接在 ...
- linux中ftp如何使用,linux下ftp如何使用
linux下ftp可以上传.下载文件 centos7环境: 1.检查是否安装过ftp服务 rpm -qa|grep vsftpd 如果没有输出则表示没有安装过 安装ftp yum -y install ...
- linux替换jar的文件,Linux下用jar命令替换war包中的文件【转】
问题背景:在Linux环境上的weblogic发布war包,有时候只是修改了几个文件,也要上传整个war包,这样很费时间,因此整理了一下Linux环境,更新单个文件的方法. 1.如果要替换的文件直接在 ...
- linux命令输入错误怎么弄,Linux下用shopt命令来帮我们自动纠错输入cd 错误
下面是关于shopt命令的一些参数的用法 选项 含义 cdable_vars 如果给cd内置命令的参数不是一个目录,就假设它是一个变量名,变量的值是将要转换到的目录 cdspell 纠正cd命令中目录 ...
- Linux下使用mail命令发送邮件
因为需要经常备份网站的数据,所以了解并学习了下linux下如何通过shell来发送邮件,这里以CentOS为例,使用mail命令来进行外部邮件的发送.mail命令的语法如下: Usage: mail ...
- linux格式化大于2t硬盘分区,linux下大于2tb硬盘格式化及挂载,linux下大于2t的分区方法,linux gpt分区表 管理 自动挂载分区...
linux下大于2tb硬盘格式化及挂载,linux下大于2t的分区方法,linux gpt分区表 管理 自动挂载分区 (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找 ...
- linux 下的vi命令汇总
linux 下的vi命令汇总 linux 下的vi 主要作用是什么? Vi是Unix及Linux系统bai下标准的编辑器,由美国加州大学伯克利分校的Bill Joy所创立. 基本上vi可以分为三种状态 ...
最新文章
- hpacucli查看HP服务器硬盘状态
- matlab降低视频帧数,如何更改视频的帧速率
- Til the Cows Come Home (最短路问题, 模板)
- 哈,你猜一个 TCP 连接上面能发多少个 HTTP 请求?
- PlentyOfFish.com .NET网站的又一传奇
- LeetCode刷题记录(2)
- 不同浏览器css引入外部字体的方式
- P4320-道路相遇,P5058-[ZJOI2004]嗅探器【圆方树,LCA】
- 0-安装Vagrant和使用
- E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用) E: 无法对目录 /var/lib/apt/lists/ 加锁 问题解决方法
- poj2280--Amphiphilic Carbon Molecules(扫描线+极角排序+转换坐标)
- 【Java】 归并排序的非递归实现
- 风险管理那些事:当你身边有头“熊
- 军用设备环境试验GJB150A-2009检测报告机构
- matlab导出prn文件怎么打开,prn文件介绍及打印方法
- 【算法01】—动态规划
- 云计算发展现状及未来趋势
- R语言编程环境的安装和运行
- 通俗易懂奈奎斯特定理和香农定理
- 上云利器,K8S应用编排设计器之快到极致
热门文章
- python解包操作_python基础篇笔记02 文件操作 序列解包**星号语法
- ajax局部刷新 php,PHP中ajax的局部刷新
- 淘宝热门类目如何获得免费流量?
- 运维墨菲定律,值得每天读一遍
- ubuntu16.04中文乱码空格+fabric.js生成图片跨域问题
- 在python中数据的输出用哪个函数名_在Python中,数据的输出用哪个函数名
- css 背景色透明但是内容图片不透明
- CDMA 1xRTT的分组数据业务(转)
- 使用ASP.NE+VUE开发一款简单记账WebAPP之七(vue.js构建记账统计页面)
- 将GUI添加到Windows Server Core和Hyper-V Core