Dmesg
如何從命令行列印核心時間?
如何將
uptime
輸出轉換為自紀元以來的秒數以與dmesg
輸出進行比較?正常執行時間是否與核心消息時間具有相同的解析度?有沒有辦法比 from 更直接地獲取核心時間uptime
?➜ ~ echo "hi" > /dev/kmsg ➜ ~ dmesg | tail [ 859.214564] hi ➜ ~ uptime 10:08 up 2 days, 43 secs, 2 users, load averages: 1.69 1.64 1.54
根據您的 Unix 風格,
/proc
文件系統可能在某個地方有一個正常執行時間文件,其中包含您想要的資訊。Linux> cat /proc/uptime 5899847.37 23165596.55
uptime
以及同一時間的命令輸出:Linux> uptime 16:46:27 up 68 days, 6:51, 3 users, load average: 0.01, 0.02, 0.05
所以 5899847.37/86400 = 68.28527 –> 68 天 6 小時 51 分鐘。
自 1970 年 1 月 1 日以來,核心時間儲存為秒。您是否希望將其視為一個值?或者您是否希望查看核心認為的實際日期/時間?
對於後者,您可以只使用
date -u
.如果您想要自 1970 年 1 月 1 日(紀元)以來的目前秒數,並且已經
perl
安裝,您可以執行perl -e 'print time()."\n";'
您也可以使用該
date
命令,使用date +"%s"
它返回相同的資訊。如果您想知道系統執行了多長時間,那麼
uptime
是最好的工具。