time
。例如:time ls
。
输出结果将会是:
real 0m0.606s
user 0m0.000s
sys 0m0.002s
关于real
、user
和sys
的解释(来自man time
):
real
:进程使用的经过的真实(挂钟)时间,以秒为单位。user
:进程直接使用的CPU秒数(在用户模式下),以秒为单位。sys
:系统代表进程使用的CPU秒数(在内核模式下),以秒为单位。要进行逐行差量测量,请尝试gnomon。
它是一个命令行实用程序,有点像moreutils的ts,可以在另一个命令的标准输出之前添加时间戳信息。对于长时间运行的进程非常有用,您可以获得历史记录以了解耗时情况。
将任何内容传输到gnomon将在每一行前面添加一个时间戳,指示该行是缓冲区中的最后一行的时间长度-也就是说,下一行出现所花费的时间。默认情况下,gnomon将显示每行之间经过的秒数,但这是可配置的。
npm
,可以使用sudo npm i gnomon -g
来安装它(这是链接中的一个错误,幸运的是URL还是正确的)。不确定它对于使用'\r'的"progress"行的处理效果如何(保持在同一行):在这种情况下,我希望它将其视为一个长行而不是多个分开的行。 - Tomasz Gandortime
:
time ls -R
date +"%T" && cp -r ./file /destination/folder/here && date +"%T"
在终端中运行此命令将为您提供复制文件所需的总时间。
find
命令 - 没有2>/dev/null
重定向 - 会产生大量的“权限被拒绝”消息。然而,加上2>/dev/null
会破坏该命令中的time
部分。以下提供了一个很好的折中方案:START="$(date +"%s")" && find 2>/dev/null / -path /mnt -prune -o -name "*libname-server-2.a*" -print; END="$(date +"%s")"; TIME="$((END - START))"; printf 'find command took %s sec\n' "$TIME"
,它的唯一输出结果是(e.g.) /usr/lib/libname-server-2.a find command took 3 sec
。 - Victoria Stuarttime sudo find / -path /mnt -prune -o -name "*libname-server-2.a*" -print
(即作为 sudo
)-- 避免那些让人头疼的 Permission denied
警告。 - Victoria Stuart有时候我需要一个秒表来计算一些动作的时间,比如我的应用程序启动时间,这种情况下这里提供的许多解决方案都不太有用。
对于这种情况,我喜欢使用sw。
wget -q -O - http://git.io/sinister | sh -s -- -u https://raw.githubusercontent.com/coryfklein/sw/master/sw
sw
- start a stopwatch from 0, save start time in ~/.sw
sw [-r|--resume]
- start a stopwatch from the last saved start time (or current time if no last saved start time exists)
- "-r" stands for --resume
time -v command
-v 提供更多信息
brew install gnu-time
安装 GNU Time,并使用 gtime
命令代替 time
命令。 - Alex Fortintime
程序,你可以使用/usr/bin/time -v COMMAND
或者command time -v COMMAND
。:) - user unknowntime
命令的输出略有不同。
解释输出的方法如下:
time sleep 10
sleep 10 0.00s user 0.00s system 0% cpu 10.011 total
最后一个数字以真实生活中的秒表记录的方式给出总时间(这是您99%时间想要的)。其他数值在这里进行解释。
打开bashrc文件
gedit ~\.bashrc
找到以下文本:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\] :\[\033[01;34m\]\w\[\033[00m\]\$ '
然后替换为:
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\] [\d|\t]:\[\033[01;34m\]\w\[\033[00m\]\$ '
重新启动终端以进行检查。
time
命令的shell,您可能需要执行sudo apt-get install time
来安装它。 - poolietime
内置命令的输出,但是man time
将涉及一个可执行文件(例如/usr/bin/time
,来自time
软件包),其输出将不同。在Bash中,您可以运行help time
以获取有关内置命令的帮助。 - wjandreatime echo foo
不显示时间。在使用time
命令时,是否有办法独立显示时间? - Vencovsky