Odpowiedzi:
Dodaj timeprzed poleceniem, które chcesz zmierzyć. Na przykład: time ls.
Dane wyjściowe będą wyglądać następująco:
real 0m0.606s
user 0m0.000s
sys 0m0.002s
Wyjaśnienie real, useri sys(od man time):
real: Upływający rzeczywisty (zegar ścienny) czas wykorzystywany przez proces, w sekundach.user: Łączna liczba sekund procesora wykorzystywanych bezpośrednio przez proces (w trybie użytkownika), w sekundach.sys: Łączna liczba sekund CPU wykorzystywanych przez system w imieniu procesu (w trybie jądra), w sekundach.sudo apt-get install timejeśli używasz powłoki, która timenie jest wbudowana.
timewbudowany w Bash , ale man timedotyczyłby pliku wykonywalnego (np. /usr/bin/timeZ timepakietu), a jego wynik wyglądałby inaczej. Również w Bash możesz ubiegać się help timeo pomoc z wbudowanym.
Do pomiaru delta linia po linii spróbuj gnomon .
Jest to narzędzie wiersza poleceń, trochę jak ts moreutils, do dodawania informacji o znaczniku czasu do standardowego wyjścia innego polecenia. Przydatny w długotrwałych procesach, w których potrzebujesz historycznego zapisu tego, co trwa tak długo.
Przesłanie czegokolwiek do gnomona spowoduje wstawienie znacznika czasu do każdej linii, wskazując, jak długo ta linia była ostatnią linią w buforze - to znaczy, ile czasu zajęło wyświetlenie następnej linii. Domyślnie gnomon wyświetla sekundy, które upłynęły między każdą linią, ale można to skonfigurować.
sudo npm i gnomon -gjeśli masz npm. Nie jestem pewien, jak dobrze radzi sobie z liniami „postępu” za pomocą „\ r” (pozostawanie na tej samej linii): w takim przypadku chciałbym, aby liczyło to wszystko jako jedną długą linię, a nie osobne.
Możesz użyć time:
time ls -R
date +"%T" && cp -r ./file /destination/folder/here && date +"%T"
Uruchomienie tego polecenia w terminalu da ci całkowity czas na skopiowanie pliku
findpolecenie - bez 2>/dev/nullprzekierowania - wyświetla obfite Permission denied wiadomości. Jednak dodanie 2>/dev/nulldo tego polecenia powoduje przerwanie timeczęści tego polecenia. Następujące zapewnia dobry kompromis: 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"podając (np.) /usr/lib/libname-server-2.a find command took 3 sec Jako jedyny wynik.
time sudo find / -path /mnt -prune -o -name "*libname-server-2.a*" -print(tj. As sudo) - unikając licznych Permission deniedostrzeżeń.
Czasami potrzebuję stopera, aby policzyć, ile czasu zajmuje wykonanie takiego działania, jak uruchomienie aplikacji, w którym to przypadku wiele rozwiązań tutaj nie jest przydatnych.
Do tego lubię używać 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 daje więcej informacji
real, couserisyskiedy zwraca to polecenie?