1. 程式人生 > >date、sleep和usleep命令

date、sleep和usleep命令

ber lpad div table 結果 oot 獲取 amp 使用

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命令