linux 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:
# time date
Sun Mar :: GMT- real 0m0.136s
user 0m0.010s
sys 0m0.070s
#
在例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=$'nrealt%3lRnusert%3lUnsyst%3lS'。
使用-p参数的time命令输出的时间格式同 TIMEFORMAT=$'real %2Rnuser %2Unsys %2S'。
例3:
1. # export TIMEFORMAT=$'real %2Rnuser %2Unsys %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 : %lRnuser CUP time : %lUnsystem 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 其它错误
修改系统日期与时间date -s "2012-11-03 10:25:25"
[root@localhost ~]# date
2012年 11月 02日 星期五 00:08:27 UTC
[root@localhost ~]# date -s "2012-11-03 10:25:25"
2012年 11月 03日 星期六 10:25:25 UTC
[root@localhost ~]# date
2012年 11月 03日 星期六 10:25:27 UTC
linux time命令参数--执行命令并计时的更多相关文章
- 详解如何在 Linux 启动时自动执行命令或脚本
我一直很好奇,在启动 Linux 系统并登录的过程中到底发生了什么事情.按下开机键或启动一个虚拟机,你就启动了一系列事件,之后会进入到一个功能完备的系统中,有时,这个过程不到一分钟.当你注销或者关机时 ...
- linux集群批量执行命令
因为工作需要,需要修改集群中机器的配置,一台一台的修改太浪费时间,就想能不能通过自动化脚本批量执行命令,尝试写一个,自己shell不熟悉,写的有点渣渣 if [ "$#" -ne ...
- Linux:ssh远程执行命令并自动退出
ssh命令格式: [root@localhost ~]# ssh --helpusage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c ...
- Linux基础命令---间歇执行命令---watch
[watch] watch指令可以间歇性的执行程序,将输出结果以全屏的方式显示,默认是2s执行一次. watch指令下发后,将会一直被执行,直到被中断. [语法] watch \ [-d h v t] ...
- linux下shell中执行命令的顺序问题
在shell中有很多种命令的同义词,到底先执行的是哪一个命令呢,我们可以借助type -a命令来检查. 为了测试我们就对type本身做一条alias: alias type=type 然后我们通过ty ...
- linux下设置php执行命令
第一种方法: 打开用户根目录下的: vi ~/.bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bash ...
- Linux基础命令---间歇执行命令watch
watch watch指令可以间歇性的执行程序,将输出结果以全屏的方式显示,默认是2s执行一次.watch将一直运行,直到被中断. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS ...
- linux指定nologin用户执行命令
为了安全,使用nologin账号来运行程序, su -s /bin/bash -c "ls" www 这条命令到底做了什么呢?su -s 是指定shell,这里www用户是nolo ...
- python 使用标准库连接linux实现scp和执行命令
import stat import pexpect 只显示关键代码: sqldb = localpath+database //获取database名字 if os.path.exists(sqld ...
随机推荐
- iOS sqlite数据库实现(转)
转载自:http://www.cnblogs.com/macroxu-1982/archive/2012/10/01/2709960.html 1 实现过程添加libsqlite3组件 选择项目后,在 ...
- 【BZOJ1468】Tree
Description 给你一棵TREE,以及这棵树上边的距离.问有多少对点它们两者间的距离小于等于K Input N(n<=40000) 接下来n-1行边描述管道,按照题目中写的输入 接下来是 ...
- Core love JavaScript
Core love JavaScript 前言 在 ASP.NET 团队的 Github 的主页上,有这样一个开源项目叫:"JavaScriptsServices",那么什么是 J ...
- gif格式的图片不能存在与包含js目录的路径中?
如题:gif格式的图片不能存在与包含js目录的路径中?是我的设置问题?还是真不能存在于js目录中. 今天纠结了一下午,某个项目中的效果就是出不来,找了差不多两个半小时... 在D盘新建一个js和jss ...
- [转]LINQ操作数据库
查询表达式(LINQ)简介 C#3.0新语特性和改进,这些新特性在我们编写程序时为我们提供了非常大的帮助.从这篇开始,我们开始一起来探讨LINQ. LINQ是Language Integrated Q ...
- Ubuntu环境下手动配置zookeeper
配置zookeeper 注意:因为是单机伪分布式配置,故同一机器上有3个server zookeeper文件格式如下 home---zookeeper---server0---zookeeper | ...
- Android ListView相关 头和尾 headView footerView
ListView还可以添加头和尾部,而这头和尾就是View对象, 可以使用listView.addHeadView(view)方法和listView.addFootView(view)方法分别添加头和 ...
- linux samba.tar.gz安装和配置
安装步骤: 1. tar -xzvf samba-3.5.10.tar.gz2. cd samba-3.5.103. cd source34. ./autogen.sh 如果出现:./autogen ...
- highcharts 柱形堆叠图
<!doctype html> <html lang="en"> <head> <script type="text/javas ...
- [Unity菜鸟] 笔记2 —— 问题篇
记录在学习<Unity 3.x 游戏开发 经典教材>时遇到的各种问题与笔记 1. 初始不能降低Terrain的高度,需要到Terrain设置的第二个按钮中将Height从0调高 (注意:最 ...