Это простая команда, которая измеряет … как вы уже догадались, время. Это не приложение часов, хотя. Эта команда измеряет время, затраченное на запуск программы или сценария.
destroyer@andreyex:~$ time ./script.sh real 0m15.010s user 0m0.003s sys 0m0.005s
Мы объясним команду времени и ее вывод через минуту.
Есть несколько разных версий утилиты time. Здесь мы рассмотрим версию Bash, поскольку она наиболее вероятна в вашей системе. Существует также версия Zsh и версия GNU.
Давайте избежим путаницы и проверим вашу версию сейчас.
destroyer@andreyex:~$ type time time is a shell keyword
Если ваш вывод выглядит так, это прекрасно. Это означает, что вы используете Bash. Команда выполняет одну и ту же задачу на всех своих итерациях, поэтому, если вы не используете bash, не бойтесь, вы все равно сможете понять, что происходит. Тем не менее, это может выглядеть совсем по-другому.
Используя команду time
Команда time измеряет следующее:
- в режиме реального времени: общее время истекло
- пользователь: обработка ОС в пользовательском режиме
- sys: обработка ОС в режиме ядра
Он может быть использован с любой командой или переданными командами.
Время с текстовым приложением
Давайте посмотрим на пример с nano. Nano – это текстовый редактор на основе терминала. Если мы запускаем nano, а затем быстро завершаем его работу через приложение (Ctrl + X), вывод будет выглядеть так:
time nano real 0m1.465s user 0m0.031s sys 0m0.006s
Время с приложением GUI
Это также работает с приложением GUI. Выходные данные будут возвращены после нормального выхода из приложения или при вводе прерывания (CTRL + C) на терминале.
time firefox real 0m6.784s user 0m4.962s sys 0m0.459s
Традиционная версия GNU
Как мы уже говорили ранее, большинство пользователей Linux используют Bash, который, по сути, использует ярлык для создания удобочитаемого контента. Вы можете запустить полную версию GNU, используя escape-символ \. Это обойдет встроенный ярлык.
На этот раз мы просто используем команду sleep, чтобы создать фиктивную работу. Число – это продолжительность в секундах. Вы также увидите, как это отражается в реальном времени на выходе.
Обратите внимание, что, поскольку это фиктивная задача, на нее не выделяется фактическое время ресурсов.
destroyer@andreyex:~$ \time sleep 3 0.00user 0.00system 0:03.00elapsed 0%CPU (0avgtext+0avgdata 1944maxresident)k 0inputs+0outputs (0major+75minor)pagefaults 0swaps
Этот вывод немного сложнее для чтения, но он также содержит некоторую информацию об использовании оперативной памяти, которая может оказаться полезной.
Время GNU -p = (bash) время
Вывод, который вы обычно видите в версии bash, похож на псевдоним времени GNU, запускаемый с опцией -p.
destroyer@andreyex:~$ \time -p sleep 5 real 5.00 user 0.00 sys 0.00
Как видите, это дает нам тот же вывод, как если бы мы запускали его с помощью ярлыка bash.
Вывод
Вам понравился наш путеводитель по time? Мы надеемся, что все эти советы научили вас чему-то новому.
Если вам нравится эта статья, пожалуйста, поделитесь им в социальных сетях. Если у вас есть какие-либо комментарии или вопросы, оставьте их ниже. Если у вас есть предложения по темам, которые вы бы хотели охватить, не стесняйтесь также оставлять их. Спасибо за прочтение.