Sudo使用 sudo 計時命令執行時間時,
使用 sudo 計時命令執行時間時,time
應該在 sudo
之前還是在 sudo
之後?
當用 來計時命令執行時間時
sudo
,time
應該在之前sudo
還是之後sudo
?time sudo command
或者
sudo time command
哪一個是正確的?
輸出對我來說似乎非常不同
[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 ~]$
為什麼他們會這樣?
time sudo command
執行你的 shell 的time
內置函式(如果有的話),而sudo time command
總是執行time
程序搜尋路徑中的執行檔 ($PATH
)。
time sudo command
包括命令花費的時間sudo
,而sudo time command
沒有。您應該使用
sudo time command
, 因為sudo
的處理時間很小但並不總是可以忽略不計,如果使用者需要輸入密碼,它的掛鐘時間可能會大很多。
看起來在 Debian Stretch 上不起作用“sudo time”
# sudo time ls sudo: time: command not found # time sudo ls created real 0m0,007s user 0m0,002s sys 0m0,006s
在 Debian 上:
# whereis time time: /usr/include/time.h /usr/share/man/man7/time.7.gz /usr/share/man/man3/time.3am.gz /usr/share/man/man2/time.2.gz
在 Debian 傑西上:
# whereis time time: /usr/bin/time /usr/include/time.h /usr/share/man/man3/time.3am.gz /usr/share/man/man1/time.1.gz /usr/share/man/man2/time.2.gz /usr/share/man/man7/time.7.gz