dmesg 可以查看linux 內(nèi)核信息
Linux命令dmesg用來顯示開機信息,kernel會將開機信息存儲在ring buffer中。您若是開機時來不及查看信息,可利用dmesg來查看。開機信息亦保存在/var/log目錄中,名稱為dmesg的文件里。
1. 列出加載到內(nèi)核中的所有驅動
我們可以使用如‘more’。 ‘tail’, ‘less?’或者‘grep’文字處理工具來處理‘dmesg’命令的輸出。由于dmesg日志的輸出不適合在一頁中完全顯示,因此我們使用管道(pipe)將其輸出送到more或者less命令單頁顯示。
[root@tecmint.com ~]# dmesg | more
[root@tecmint.com ~]# dmesg | less
2. 列出所有被檢測到的硬件
要顯示所有被內(nèi)核檢測到的硬盤設備,你可以使用‘grep’命令搜索‘sda’關鍵詞,如下:
[root@tecmint.com ~]# dmesg | grep sda
3.搜索包含特定字符串的被檢測到的硬件
由于‘dmesg’命令的輸出實在太長了,在其中搜索某個特定的字符串是非常困難的。因此,有必要過濾出一些包含‘usb’ ‘dma’ ‘tty’ ‘memory’等字符串的日志行。grep 命令?的‘-i’選項表示忽略大小寫。
[root@tecmint.com log]# dmesg | grep -i usb
[root@tecmint.com log]# dmesg | grep -i dma
[root@tecmint.com log]# dmesg | grep -i tty
[root@tecmint.com log]# dmesg | grep -i memory
參數(shù):
-c:顯示信息后,清除ring buffer中的內(nèi)容;
-s<緩沖區(qū)大小>:預設置為8196,剛好等于ring buffer的大??;
-n:設置記錄信息的層級。
dmsg的例子:
https://blog.csdn.net/wzb56_earl/article/details/50625705
#!/bin/sh
啟動日志記錄的時間?
uptime_ts=`cat /proc/uptime | awk '{ print $1}'`
#echo $uptime_ts
#awk -v 是把后面的數(shù)當成參數(shù)傳入 傳入的是uptime_ts
dmesg | awk -v uptime_ts=$uptime_ts 'BEGIN {
? ? now_ts = systime();
? ? #系統(tǒng)啟動時間uptime_ts
? ? #當前時間now_ts
? ? #已經(jīng)啟動了多長時間:start_ts
? ? start_ts = now_ts - uptime_ts;
? ? #print "system start time seconds:", start_ts;
? ? #print "system start time:", strftime("[%Y/%m/%d %H:%M:%S]", start_ts);
?}
{
? ? print strftime("[%Y/%m/%d %H:%M:%S]", start_ts + substr($1, 2, length($1) - 2)), $0
}'