你好,游客 登录 注册 搜索
背景:
阅读新闻

date、sleep和usleep命令

[日期:2017-08-28] 来源:cnblogs.com/f-ck-need-u  作者:f-ck-need-u [字体: ]

1.1 date命令

date用于获取和设置操作系统的时间,还有hwclock是获取硬件时间。

date有个选项"-d",可以用来描述获取什么时候的时间,描述的方式非常开放,但不能使用"now"关键字,其他的如3天前"3 days ago",3天后"3 days",昨天"yesterday",下周一"next Monday"等等。

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

%t

tab键

a tab

 
[root@linuxidc ~]# date +%F
2016-09-25

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

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

使用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.linuxidc.com/Linux/2017-08/146545.htm

linux
相关资讯       date命令  sleep命令  usleep命令 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款