time 命令的用法

2021-05-23 06:32:46 字數 2744 閱讀 8252

【命令】time — 執行命令並計時

【格式】time [-p] command [arguments...]

【說明】

執行命令列"command [arguments...]",命令列執行結束時在標準輸出中列印執行該命令列的時間統計結果,其統計結果包含以下資料:

1)實際時間(real time): 從command命令列開始執行到執行終止的消逝時間;

2)使用者cpu時間(user cpu time): 命令執行完成花費的使用者cpu時間,即命令在使用者態中執行時間總和;

3)系統cpu時間(system cpu time): 命令執行完成花費的系統cpu時間,即命令在核心態中執行時間總和。

其中,使用者cpu時間和系統cpu時間之和為cpu時間,即命令占用cpu執行的時間總和。實際時間要大於cpu時間,因為linux是多工作業系統,往往在執行一條命令時,系統還要處理其它任務。

另乙個需要注意的問題是即使每次執行相同命令,但所花費的時間也是不一樣,其花費時間是與系統執行相關的。

例1:

1. # time date

2. sun mar 26 22:45:34 gmt-8 2006

3. 4. real    0m0.136s

5. user    0m0.010s

6. sys     0m0.070s

7. #

在例1中,執行命令"time date"(見第1行)。系統先執行命令"date",第2行為命令"date"的執行結果。第3-6行為執行命令"date"的時間統計結果,其中第4 行"real"為實際時間,第5行"user"為使用者cpu時間,第6行"sys"為系統cpu時間。以上三種時間的顯示格式均為 mmmnn[.fff]s。

在例1中,cpu時間 = 使用者cpu時間 + 系統cpu時間 = 0m0.010s + 0m0.070s = 0m0.080s,實際時間大於cpu時間,說明在date命令執行的同時,還有其它任務在執行。

【引數說明】

-p 以posix預設的時間格式列印時間統計結果,單位為秒。詳細的輸出格式見例2。

例2:

1. # time -p date

2. wed mar 27 00:33:11 gmt-8 2006

3. real 0.11

4. user 0.00

5. sys 0.02

6. #

在例2中,同樣執行命令"time date"(見第1行)。系統先執行命令 "date",第2行為該命令的執行結果。第3-5行為執行命令"date"的時間統計結果。注意本例的時間格式與例1中的時間格式差別,使用-p 引數後的時間顯示格式為nn.ff,其單位為秒。

【相關環境變數說明】

timeformat 自定義輸出的時間格式。

我們也可以通過環境變數timeformat來自定義輸出的時間格式[1]。格式中使用和標準c中的函式printf一致的轉義符,以及使用以下的轉義序列來指定輸出的時間格式:

%[prec][l][rus]

其中,選項prec為指定時間精度,即小數點後面的位數;選項l表示使用分秒(具體格式為:mmmnn[.fff]s)的格式;最後乙個字元表示時間的型別,其中r表示實際時間,u表示使用者cpu時間,s表示系統cpu 時間,它們的單位均為秒。

time命令預設輸出的時間格式同 timeformat=$'/nreal/t%3lr/nuser/t%3lu/nsys/t%3ls'。

使用-p引數的time命令輸出的時間格式同 timeformat=$'real %2r/nuser %2u/nsys %2s'。

例3:

1. # export timeformat=$'real %2r/nuser %2u/nsys %2s'

2. # time date

3. wed mar 27 00:52:03 gmt-8 2006

4. real 0.04

5. user 0.00

6. sys 0.01

7. #

比較例2和例3顯示結果,很容易發現例3雖然沒有使用引數-p,但其輸出的結果和例2一模一樣。

當然,我們也可以修改為任何自己喜歡的時間格式。

例4:

1. # export timeformat=$'/nhello, thinkerabc!/nreal time :       %lr/nuser cup time :   %lu/nsystem cpu time : %ls'

2. # time date

3. wed mar 27 01:09:26 gmt-8 2006 4.

5. hello, thinkerabc!

6. real time :       0m0.016s

7. user cup time :   0m0.006s

8. system cpu time : 0m0.008s

9. #

例4的第4-8行正是我們自定義的輸出格式。

從以上介紹了三種指定時間格式的方法,即預設的時間格式、使用引數-p的posix預設的時間格式和設定環境變數timeformat自定義的時間格式,linux系統使用的先後順序如下:

1.引數-p的posix預設時間格式;

2.環境變數timeformat自定義的時間格式;

3.預設的時間格式。

【退出狀態說明】

如果能執行command命令,則返回該命令的退出狀態,否則返回如下的退出狀態值:

127 命令未找到

126 命令找到,但不能執行

1-125 其它錯誤

python 中time的用法

在開始之前,首先要說明這幾點 索引 index 屬性 attribute 值 values 0tm year 年 比如2011 1tm mon 月 1 12 2tm mday 日 1 31 3tm hour 時 0 23 4tm min 分 0 59 5tm sec 秒 0 61 6tm wday ...

python的time用法記錄

time.time返回當前時間的時間戳 1970紀元後經過的浮點秒數 print time.time 1567847395.0670958 time time.localtime time.time print time time.struct time tm year 2019 tm mon 9,...

collatz函式,time的用法

編寫乙個名為 collatz 的函式,它有乙個名為 number 的引數。如果引數是偶數,那麼 collatz 就列印出 number 2,並返回該值。如果 number 是奇數,collatz 就打 印並返回 3 number 1。然後編寫乙個程式,讓使用者輸入乙個整數,並不斷對這個數呼叫 col...