Track the time a command takes in UNIX/LINUX?
在Unix / Linux,有时间在简单的方法来跟踪一个人的命令?
是的,使用time ,例如
更多选项请咨询man time。链接。
- 而且,这里很好地介绍了real/user/sys times的含义。
- 对于Linux上的bash用户来说,这个答案是不准确的。手册页记录了GNU时间命令,但是时间是bash中的内置内容,它没有记录所有选项。
使用
相反,时间内置在bash中:它是更可配置的afaik。
1 2 3
| e.g. /usr/bin/time --format='
----
elapsed time is %e'ls |
- 据我所知,这是默认值。我检查过的Centos6、Centos7和Debian8系统就是这样:user@host:~$ which time /usr/bin/time看起来是GNU时间的1.7版本。
- @托比:尽管"which"说它是/usr/bin/time,但在bash中,builtin会覆盖它。如果我在bash中执行time -f"\t%E real" ls,我会得到一个错误,但是如果我执行/usr/bin/time -f"\t%E real" ls,它就会工作。
- 你说得对。这很有趣,很有启发性。谢谢!
- 不要使用which。使用type -a:$ which time /usr/bin/time $ type -a time time is a shell keyword time is /usr/bin/time
- 注意,使用/usr/bin/time可以防止使用bash别名。需要使用bash内置的time,否则会出现错误cannot run my_alias: No such file or directory。
下面是一秒钟的sleep的样子,与time一起计时:
1 2 3 4 5
| $ time sleep 1
real 0m1.001s
user 0m0.000s
sys 0m0.000s |