date、sleep、usleep命令
date、sleep、usleep命令
date命令
date用于获取和设置操作系统的时间,还有hwclock是获取硬件时间。
date有个选项-d
,可以用来描述获取什么时候的时间,描述的方式非常开放,但不能使用now
关键字,其他的如3天前3 days ago
,3天后3 days
,昨天yesterday
,下周一next Monday
,epoch时间@EPOCH
等等。
Linux中设置date命令的显示格式:date [+format]
,其中+
表示从前面的时间中获取其中的格式部分,如date -d "yesterday" +"%Y"
获取的是昨天的年份部分。
format格式如下所示:标红色的较常用。
1 | %y: 年(后两位),00-99 |
下面是一些示例:
1 | [root@xuexi ~]# date +%F |
使用date命令可以计算时间差。例如:
1 | # 以下3个命令等价 |
再例如,给定一个时间,计算它的前几天,后几天。
1 | # 以下两条命令等价 |
给定一个日期,计算该日期所在星期的星期一是几月几号。例如,2018-05-12
是星期六,那么星期一是2018-05-07
。
1 |
|
date命令还可以计算延迟时间(两个时间点的时间差)。如果要计算精确度为秒级的延迟,可直接使用%s
计算,但如果要计算毫秒级、微秒级甚至是纳秒级的时间差,则需要对date的结果进行一番计算和转换。
1 |
|
sleep和usleep
在shell中常使用sleep
命令指定休眠时间,休眠的意思表示让当前进程进入睡眠状态。例如:
1 | sleep 5 |
sleep
默认的休眠单位为秒,因此上面表示休眠5秒钟。如果要休眠毫秒级、微秒级,则可以使用小数。例如下面命令表示休眠半秒钟:
1 | sleep 0.5 |
此外,还有专门的微秒级的休眠命令usleep
。例如:
1 | usleep 1000 |
表示休眠1000微秒,即1毫秒。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 骏马金龙!
评论