shell sleep毫秒_Shell脚本之date、sleep、usleep命令

1.1 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格式如下所示:标红色的较常用。符号意义描述

年%y年(后两位)last two digits of year (00..99)

%Y年year

月%m月month (01..12)

日%j年中天day of year (001..366)

%d月中天day of month (如01)

%w周中天day of week (0..6); 0 is Sunday

%u周中天day of week (1..7); 1 is Monday

周%U年中周(00-53)week number of year with Sunday as first day

%W年中周(00-53)week number of year with Monday as first day

时%H时(24时制)hour (00..23)

%I时(12时制)hour (01..12)

分%M分minute (00..59)

秒%S秒second (00..60)

%N纳秒ns of current minute

%s秒从1970-01-01到目前时间的秒数总数

完整

格式%T完整时间time; same as %H:%M:%S

%D日期完整格式date; same as %m/%d/%y

%F日期完整格式date; same as %Y-%m-%d

特殊

格式%n换行a newline

%ttab键a tab[root@xuexi ~]# date +%F2016-09-25

[root@xuexi ~]# date +"%F %T"     # 有空格需要使用双引号或引号来分隔2016-09-25 10:48:34

[root@xuexi ~]# date +"%Y-%m-%d %H:%M:%S"2016-09-25 10:47:49

使用date命令可以计算时间差。例如:# 以下3个命令等价

date -d "3 days ago" +%F

date -d "-3 days" +%F

date -d "now  - 3 days" +%F

再例如,给定一个时间,计算它的前几天,后几天。# 以下两条命令等价

date -d "2018-02-19 3 days ago" +%F

date -d "2018-02-19 - 3 days" +%F

给定一个日期,计算该日期所在星期的星期一是几月几号。例如,2018-05-12是星期六,那么星期一是2018-05-07。#!/bin/bash

src_date="2018-05-12"

src_weekday=`date -d $src_date +%w`

Mon_date=`date -d "$src_date - $(( src_weekday - 1 )) days" +%F`

echo $Mon_date

date命令还可以计算延迟时间(两个时间点的时间差)。如果要计算精确度为秒级的延迟,可直接使用%s计算,但如果要计算毫秒级、微秒级甚至是纳秒级的时间差,则需要对date的结果进行一番计算和转换。以下是秒级时间差计算方法,毫秒级计算方法见:计算毫秒级、微秒级时间差。#!/bin/bash

start_time=$(date +"%s")

find / -type f -name "*.db" &>/dev/null

end_time=$(date +"%s")

time_diff=$(( start_time - end_time ))

echo $time_diff

1.2 sleep和usleep

在shell中常使用sleep命令指定休眠时间,休眠的意思表示让当前进程进入睡眠状态。例如:sleep 5

sleep默认的休眠单位为秒,因此上面表示休眠5秒钟。如果要休眠毫秒级、微秒级,则可以使用小数。例如:sleep 0.5

表示休眠半秒钟。

此外,还有专门的微秒级的休眠命令usleep。例如:usleep 1000

表示休眠1000微秒,即1毫秒。

本文来自投稿,不代表访得立场,如若转载,请注明出处:http://www.found5.com//view/818.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值