有没有办法将时间输出重定向到linux中的文件?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (134)

关于Linux上的定时程序的一个小问题:Time命令允许测量程序的执行时间:

[ed@lbox200 ~]$ time sleep 1

real    0m1.004s
user    0m0.000s
sys     0m0.004s

效果很好。但是,如果我试图将输出重定向到一个文件,就不行。

[ed@lbox200 ~]$ time sleep 1 > time.txt

real    0m1.004s
user    0m0.001s
sys     0m0.004s

[ed@lbox200 ~]$ cat time.txt 
[ed@lbox200 ~]$ 

我知道还有其他的方法实现-o选项,但我的问题是没有这些选项的命令。

有什么建议吗?

提问于
用户回答回答于

试一试

{ time sleep 1 ; } 2> time.txt

它将“time”的STDERR和命令合并到time.txt中。

或使用

{ time sleep 1 2> sleep.stderr ; } 2> time.txt

它将STDERR从“sleep”放入文件“sleep.stderr”,而只有“time”中的STDERR进入“time.txt”

用户回答回答于

使用time在一组括号中对命令进行计时。

例如:

$ (time ls) > outfile 2>&1

或者:

$ (time ls) > ls_results 2> time_results

扫码关注云+社区

领取腾讯云代金券