Як я можу виконати певну команду?


67

(Еквівалент linux TimeThis.exe)

Щось на зразок:

timethis wget foo.com
Receiving foo.com  
...

wget foo.com took 3 seconds.

Відповіді:


93

Спробуйте просто timeзамість timethis.

Хоча майте на увазі, що часто є вбудована оболонка у версії часу та двійкова версія, яка дає результати в різних форматах:

$ time wget -q -O /dev/null https://unix.stackexchange.com/

real    0m0.178s
user    0m0.003s
sys     0m0.005s

проти

$ \time wget -q -O /dev/null https://unix.stackexchange.com/
0.00user 0.00system 0:00.17elapsed 4%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+613minor)pagefaults 0swaps

На відміну від програми "timethis", ви отримуєте три значення назад. Це розбито на те, що таке "системний час" при використанні "часу" в командному рядку , але коротше: реальний означає "час настінного годинника", а користувач і системи показують час тактового процесора, розділений між звичайним кодом і системними викликами.


26

Використовуючи виконуваний файл timeзамість вбудованої оболонки, ви можете вказати вихідний формат та значення. Наприклад, отримайте реальний минулий час разом із назвою команди та параметрами

/usr/bin/time --format='%C took %e seconds' sleep 3
sleep 3 took 3.00 seconds

Зауважте, що вам потрібно вказати шлях time, інакше ви користуєтеся вбудованою оболонкою за замовчуванням.


4
зауважте, що: шлях важливий. Не використовуйте просто час у баш. Натомість використовуйте / usr / bin / time
CodeFarmer

1
яка різниця, якщо /usr/binє в їхній ПАТІ?
Галуа

@galois Різниця полягає в тому, що без явного шляху timeбуде використана вбудована утиліта оболонки .
Кусалаланда

Можна також використовувати command timeабо \timeвиконувати утиліту замість вбудованої.
forcefsck

0

@galois: у різних оболонках є кілька «вбудованих» команд, які мають перевагу над будь-яким на шляху. Зазвичай це вигідно; вбудовані модулі, як правило, працюватимуть швидше (тому що не викликають зовнішній файл) і зазвичай дають бажаний результат (тобто, у випадку команди time, вам зазвичай не важливо, яку версію ви використовуєте, якщо ви не хочете використовувати " --формат "прапор).

Тож "час" без будь-яких спеціальних символів (як /), щоб він виглядав так, як шлях закінчиться вбудованим, незалежно від того, як виглядає ваш PATH.

Щоб змусити оболонку використовувати зовнішню команду часу, потрібно вказати шлях

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.