dmesg是一个从/var/log/dmesg
读取内容的命令。与less /var/log/dmesg
相比,比较好的一点是,我可以使用-T标志进行人类可读的时间输出。
现在我想看看/var/log/dmesg.0
,看看我的电脑是怎么崩溃的。该文件包含上一次会话的日志。但是我想使用dmesg命令中的-T标志。或者类似的东西。
知道怎么做吗?
我不介意使用图形化工具,但最好的方法是使用cli解决方案。
发布于 2017-02-18 16:01:53
虽然行动有点晚了..。
我使用Fedora,但是如果您的系统使用journalctl
,那么您可以通过以下方式轻松地从先前的关机/崩溃(以dmesg -T
格式)获取内核消息(dmesg )。
注意:还有一个-o short
和-o short-iso
,它只给出日期,和日期时间分别以iso格式。
journalctl -o short-precise -k -b all
journalctl -o short-precise -k
journalctl -o short-precise -k -b -1
journalctl -o short-precise -k -b -2
Feb 18 21:41:26.917400 localhost.localdomain kernel: usb 2-4: USB disconnect, device number 12
Feb 18 21:41:26.917678 localhost.localdomain kernel: usb 2-4.1: USB disconnect, device number 13
Feb 18 21:41:27.246264 localhost.localdomain kernel: usb 2-4: new high-speed USB device number 22 using xhci_hcd
Feb 18 21:41:27.419395 localhost.localdomain kernel: usb 2-4: New USB device found, idVendor=05e3, idProduct=0610
Feb 18 21:41:27.419581 localhost.localdomain kernel: usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Feb 18 21:41:27.419739 localhost.localdomain kernel: usb 2-4: Product: USB2.0 Hub
Feb 18 21:41:27.419903 localhost.localdomain kernel: usb 2-4: Manufacturer: GenesysLogic
可以通过以下方式查看您可以回顾的引导量。
journalctl --list-boot
journalctl --list-boot
的输出如下所示。
-6 cc4333602fbd4bbabb0df2df9dd1f0d4 Sun 2016-11-13 08:32:58 JST—Thu 2016-11-17 07:53:59 JST
-5 85dc0d63e6a14b1b9a72424439f2bab4 Fri 2016-11-18 22:46:28 JST—Sat 2016-12-24 02:38:18 JST
-4 8abb8267e06b4c26a2466562f3422394 Sat 2016-12-24 08:10:28 JST—Sun 2017-02-12 12:31:20 JST
-3 a040f5e79a754b2a9055ac2598d430e8 Sun 2017-02-12 12:31:36 JST—Sat 2017-02-18 21:31:04 JST
-2 6c29e3b6f6a14f549f06749f9710e1f2 Sat 2017-02-18 21:31:15 JST—Sat 2017-02-18 22:36:08 JST
-1 42fd465eacd345f7b595069c7a5a14d0 Sat 2017-02-18 22:51:22 JST—Sat 2017-02-18 23:08:30 JST
0 26ea10b064ce4559808509dc7f162f07 Sat 2017-02-18 23:09:25 JST—Sun 2017-02-19 00:57:35 JST
发布于 2015-01-26 10:49:11
为了澄清一个基本的误解,dmesg
不读/var/log/dmesg
。它直接从内核环缓冲区读取,并提供最新的N条消息。在引导过程接近尾声时,将调用dmesg
将引导消息写入/var/log/dmesg
(该文件的旧版本按通常的方式旋转)。
一旦您运行了syslog (syslogd
、rsyslogd
、syslog-ng
等)它从内核缓冲区读取并写入文件(如/var/log/kern.log
)。(这是针对Debian的,其他系统也会有所不同)。假设您的系统能够在磁盘崩溃之前写入磁盘并刷新磁盘缓冲区,那么您将在那里找到内核即将崩溃的尖叫声。
在我的Debian系统中,/var/log/kern.log
文件包含人类可读的时间戳。
发布于 2015-08-12 13:25:45
在Debian中,dmesg
日志存储为:
/var/log/dmesg
(活动和未压缩)/var/log/dmesg.0
(最后一次会话和未压缩)/var/log/dmesg.1.gz
(倒数第二和压缩)/var/log/dmesg.2.gz
(倒数第二和压缩)/var/log/dmesg.3.gz
(第4位来自最后和压缩)/var/log/dmesg.4.gz
(第5位来自最后和压缩)如果您具有适当的权限,则可以使用cat
、more
或less
读取普通权限,而对于压缩权限则可以使用zcat
、zmore
或zless
读取它们。
https://unix.stackexchange.com/questions/181067
复制相似问题