Śledzić czas wykonywania polecenia w systemie UNIX / LINUX?


Odpowiedzi:


165

Tak, użyj time <command>, na przykład

time ls

Skonsultuj się, man timeaby uzyskać więcej opcji. Link .


4
I znaczenie czasu rzeczywistego / użytkownika / sys jest ładnie omówione tutaj
prideout

Ta odpowiedź jest niedokładna dla użytkowników basha w systemie Linux. Strona podręcznika dokumentuje polecenie Gnu time, ale czas jest wbudowanym elementem bash, który nie ma wszystkich udokumentowanych tam opcji.
Ben Crowell

7

Posługiwać się

/usr/bin/time 

zamiast tego czas wbudowany w bash: jest bardziej konfigurowalny AFAIK.

e.g. /usr/bin/time --format=' \n---- \nelapsed time is %e'ls

O ile wiem, jest to ustawienie domyślne. Tak było w przypadku systemów CentOS 6, CentOS 7 i Debian 8, które sprawdziłem: user@host:~$ which time /usr/bin/time Wygląda na wersję 1.7 czasu GNU.
Toby,

4
@Toby: Mimo że "który" mówi, że to / usr / bin / time, w bash, wbudowane nadpisuje to. Jeśli robię time -f "\t%E real" lsw bash, pojawia się błąd, ale działa, jeśli tak /usr/bin/time -f "\t%E real" ls.
Ben Crowell

1
Masz rację. To bardzo interesujące i pouczające. Dzięki!
Toby

1
Nie używaj which. Użyj type -a:$ which time /usr/bin/time $ type -a time time is a shell keyword time is /usr/bin/time
Daniel-Dane

Pamiętaj, że używanie /usr/bin/timezapobiega używaniu aliasów bash. Do tego timepotrzebne jest wbudowane bash , w przeciwnym razie pojawi się błąd cannot run my_alias: No such file or directory.
Jamie S

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.