![我如何才能始终测量终端进程的执行时间?](https://linux22.com/image/941655/%E6%88%91%E5%A6%82%E4%BD%95%E6%89%8D%E8%83%BD%E5%A7%8B%E7%BB%88%E6%B5%8B%E9%87%8F%E7%BB%88%E7%AB%AF%E8%BF%9B%E7%A8%8B%E7%9A%84%E6%89%A7%E8%A1%8C%E6%97%B6%E9%97%B4%EF%BC%9F.png)
我试图让终端始终显示我通过命令行调用的进程的执行时间(即,我想知道该进程需要多长时间才能完成)。
我知道如果在命令前输入时间,最后它会显示执行时间,但我们的想法是除了命令之外不输入任何内容,并在可能的情况下在最后接收执行时间。
答案1
使用tcsh
和设置time
为每个命令计时的一个非常简单的方法是安装并使用 shell tcsh
(而不是bash
Ubuntu 中的标准)并设置变量time
,
tester@my-laptop:~$ sudo apt install tcsh
tester@my-laptop:~$ tcsh
my-laptop:~> set time
my-laptop:~> sleep 3
0.003u 0.000s 0:03.00 0.0% 0+0k 0+0io 0pf+0w
my-laptop:~>
显示每个提示的打印时间bash
也许在提示符中有一个时钟就足够了,这样当命令完成并且终端窗口返回提示符时你就能看到“挂钟时间”?
为了这个目的,一个粗略的交互输入提示将是
PS1='$(date '+%T') $ '
或添加到当前提示
PS1='$(date '+%T') '"$PS1"
使用以下命令重置为标准提示符
source ~/.bashrc
答案2
像这样运行带有时间的命令(这是一个 shell 关键字,又称命令)。time foobar
或者time sleep 1
。另一个例子是
#!/bin/bash
#how big is your file system
time tree /