使用以下方法很容易找到第一个问题的答案type
:
$ type time
time is a shell keyword
$ type /usr/bin/time
/usr/bin/time is /usr/bin/time
所以第一个命令使用内置的 bash,而后者则遵循外部程序。但是,不知道您使用的是什么系统,我不知道该程序来自哪里。在 Gentoo Linux 上,默认情况下没有/usr/bin/time
,唯一可用的实现是具有不同输出的GNU time 。
也就是说,我尝试了一个类似于你的命令(假设它正在处理 1G 文件),并得到以下结果:
$ time sed -e 's/0//g' big-file > big-file2
real 0m40.600s
user 0m31.295s
sys 0m4.174s
$ /usr/bin/time sed -e 's/0//g' big-file > big-file2
35.06user 3.31system 0:40.58elapsed 94%CPU (0avgtext+0avgdata 3488maxresident)k
8inputs+2179176outputs (0major+276minor)pagefaults 0swaps
如您所见,数字相似。
然后,鉴于您的结果(0
用户空间时间是完全不可能的),我会说您/usr/bin/time
只是坏了。这可能值得向其作者报告错误。