当使用 sudo 计时命令执行时间时,`time` 应该在 `sudo` 之前还是在 `sudo` 之后?

mis*_*yes 7 sudo time

当用 计时命令执行时间时sudotime应该在之前sudo还是之后sudo

time sudo command
Run Code Online (Sandbox Code Playgroud)

或者

sudo time command
Run Code Online (Sandbox Code Playgroud)

哪一个是正确的?

输出对我来说似乎非常不同

    [esolve@xxt ~]$ sudo time ls
    193.144.21.131_udp.folder  lockfile         run_udp.sh    udp_folder
    50IP.txt                   my_ip_host_site  send_udp_log  udp_receiver
    ip_each_site               raw_udp_client   ssh.log
    0.00user 0.00system 0:00.00elapsed ?%CPU (0avgtext+0avgdata 3088maxresident)k
    0inputs+0outputs (0major+236minor)pagefaults 0swaps


    [esolve@xxt ~]$ time sudo ls        
    193.144.21.131_udp.folder  lockfile         run_udp.sh    udp_folder
    50IP.txt                   my_ip_host_site  send_udp_log  udp_receiver
    ip_each_site               raw_udp_client   ssh.log

    real    0m0.004s
    user    0m0.003s
    sys     0m0.002s
    [esolve@xxt ~]$
Run Code Online (Sandbox Code Playgroud)

为什么他们是这样?

Gil*_*il' 15

time sudo commandtime如果shell 有内置命令,则sudo time command执行它,而始终time在程序搜索路径 ( $PATH) 中执行可执行文件。

time sudo command包括sudo命令所用的时间,sudo time command而不包括。

您应该使用sudo time command,因为sudo的处理时间很小但并不总是可以忽略不计,如果用户需要输入密码,它的挂钟时间可能会大很多。