date、sleep和usleep命令
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 |
[[email protected] ~]# date +%F 2016-09-25 [[email protected] ~]# date +"%F %T" # 有空格需要使用雙引號或引號來分隔 2016-09-25 10:48:34 [[email protected] ~]# 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.cnblogs.com/f-ck-need-u/p/7048359.html
轉載請註明出處:http://www.cnblogs.com/f-ck-need-u/p/7427262.html
註:若您覺得這篇文章還不錯請點擊下右下角的推薦,有了您的支持才能激發作者更大的寫作熱情,非常感謝!
date、sleep和usleep命令