对于Linux的运行时间,可以通过命令uptime来获取,但实际上的时间是记录在/proc/uptime这个文件里的,单位是秒,通过uptime命令获取到的是已经转换了为具体的运行时间。通过uptime获取运行时间的同时,还会打印出本地当前时间,以及CPU的负载,有时候进行监控或者其他需求的时候不需要这些东西,那可以直接从/proc/uptime里提取。

    来看范例:

 
  
  1. awk '{D=$1/86400;H=($1%86400)/3600;M=($1%3600)/60;S=$1%60;printf("系统已运行:%d天%d小时%d分%d秒\n",D,H,M,S)}' /proc/uptime 

    不精确到秒位的话,可以去掉那部分的代码了。

    看看效果:

    通过了uptime命令的对比的。

    awk中的数学计算是支持小数的,这里用了printf的格式输出,即%d,最后结果以十进制整数形式输出。更多awk和printf的用法可以参考系统帮助。