Linux命令详解 — time

来源:互联网 发布:java程序员为什么转行 编辑:程序博客网 时间:2024/05/21 19:27

【命令】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 其它错误

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 善心汇会员被限制出行怎么办 苹果手机屏碎了怎么办 三国志2017仓库满了怎么办 至尊宝密保手机被改了怎么办 电脑版qq游戏途中死机怎么办 登陆企业qq服务器超时怎么办 qq登录不上怎么办错误00001 苹果手机白屏进不了界面怎么办 苹果8p手机白屏怎么办 苹果5s无法关机怎么办 三星手机白屏了怎么办 电脑能上qq打不开网页怎么办? 电脑打不开机怎么办黑屏 英雄杀连接不上怎么办 炫舞时登陆器卸下载失败怎么办 电视为什么会出现登录超时怎么办 登录app时提示请求超时怎么办 手机来短信断网怎么办 百度网络不给力怎么办 网络连接不给力怎么办 抖音网络不给力怎么办 玩lol老是掉线怎么办 无线网络连接有防火墙怎么办啊 千牛重新获取enc-k怎么办 为什么说不能获取对方信息怎么办 qq炫舞客户端被修改怎么办 win7玩穿越卡顿怎么办 玩dnf就蓝屏怎么办win7 平板玩fgo闪退怎么办 微信总是说空间不足怎么办 激活卡时遇到服务器错误怎么办 悦平台服务器错误是怎么办 手机银行提示登录服务器错误怎么办 qq漂流瓶封了怎么办 我的世界被冻结怎么办 qq里被屏蔽了怎么办 qq领手游礼包账号存在异常怎么办 笔记本电脑太卡怎么办最有效 华为平板电脑忘记开机密码怎么办 平板电脑忘记开机密码怎么办 平板电脑忘了开机密码怎么办