Отслеживать время выполнения команды в UNIX / LINUX?


Ответы:


165

Да, использовать time <command>, например,

time ls

Проконсультируйтесь man timeо дополнительных вариантах. Ссылка .


4
И значение времени real / user / sys хорошо
раскрыто

Этот ответ неверен для пользователей bash в Linux. На странице руководства задокументирована команда Gnu time, но time - это встроенная функция bash, в которой описаны не все параметры.
Бен Кроуэлл

7

использование

/usr/bin/time 

вместо этого время, встроенное в bash: это более настраиваемое AFAIK.

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

Насколько я могу судить, это по умолчанию. Так было с системами CentOS 6, CentOS 7 и Debian 8, которые я проверил: user@host:~$ which time /usr/bin/time похоже, это версия 1.7 времени GNU.
Тоби

4
@Toby: Несмотря на то, что "which" говорит, что это / usr / bin / time, в bash встроенная функция отменяет это. Если я сделаю это time -f "\t%E real" lsв bash, я получаю сообщение об ошибке, но если я это сделаю, это будет работать /usr/bin/time -f "\t%E real" ls.
Бен Кроуэлл

1
Ты прав. Это очень интересно и поучительно. Спасибо!
Toby

1
Не используйте which. Использование type -a:$ which time /usr/bin/time $ type -a time time is a shell keyword time is /usr/bin/time
Daniel-Dane

Обратите внимание, что использование не /usr/bin/timeпозволяет вам использовать псевдонимы bash. Для этого timeнужен встроенный bash , иначе вы получите ошибку cannot run my_alias: No such file or directory.
Jamie S

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.