如何使用“正常运行时间”显示自上次系统启动以来经过的时间?

我想显示自上次系统启动以来使用uptime时间所经过的uptime ,但我不希望它显示所有这些信息。 我只是想知道自上次系统启动以来经过了多少小时(即:18:17:59)

要以hh:mm:ss格式获取自上次系统引导以来经过的时间,您可以使用:

 awk '{print int($1/3600)":"int(($1%3600)/60)":"int($1%60)}' /proc/uptime 

/proc/uptime伪文件包含两个数字:

  • 第一个数字是系统在几秒钟内启动的时间。
  • 第二个数字是机器在几秒钟内闲置的时间。

因此,使用awk您可以获取第一个数字并将其转换为hh:mm:ss格式。

要在几秒钟内获得正常运行时间

 awk '{print $1}' /proc/uptime 

要在几分钟内获得正常运行时间

  echo $(awk '{print $1}' /proc/uptime) / 60 | bc 

要在几小时内获得正常运行时间

  echo $(awk '{print $1}' /proc/uptime) / 3600 | bc 

要获得精度的x位数,您可以添加scale = x,例如x = 2

 echo "scale=2; $(awk '{print $1}' /proc/uptime) / 3600" | bc 

试试这个:

 uptime | awk '{ print $3 }' 

实际上,它打印uptime产生的第三个单词。

显示日期的微不足道的修改:

 awk '{print int($1/86400)"days "int($1%86400/3600)":"int(($1%3600)/60)":"int($1%60)}' /proc/uptime