Команда time используется, чтобы определить, сколько time занимает выполнение данной команды. Это полезно для тестирования производительности ваших скриптов и команд.
Например, если у вас есть два разных скрипта, выполняющих одну и ту же работу, и вы хотите знать, какой из них работает лучше, вы можете использовать команду time в Linux для определения продолжительности выполнения каждого скрипта.
Версии команды time
И Bash, и Zsh, наиболее широко используемые оболочки Linux, имеют свои собственные встроенные версии команды time, которые имеют приоритет над командой Gnu time.
Вы можете использовать команду type, чтобы определить, является ли время двоичным или встроенным ключевым словом.
type time
# Bash time is a shell keyword # Zsh time is a reserved word # GNU time (sh) time is /usr/bin/time
Чтобы использовать команду time в Gnu, вам нужно указать полный путь к двоичному файлу time, обычно /usr/bin/time используйте команду env или начальную обратную косую черту \time которая предотвращает использование обеих и встроенных функций.
Время Gnu позволяет вам форматировать выходные данные и предоставляет другую полезную информацию, такую как память ввода-вывода и IPC-вызовов.
Использование команды Time в Linux
В следующем примере мы собираемся измерить время, необходимое для загрузки ядра Linux, с помощью инструмента wget:
time wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.9.tar.xz
То, что будет напечатано как вывод, зависит от версии команды time, которую вы используете:
# Bash real 0m33.961s user 0m0.340s sys 0m0.940s # Zsh 0.34s user 0.94s system 4% cpu 33.961 total # GNU time (sh) 0.34user 0.94system 0:33.96elapsed 4%CPU (0avgtext+0avgdata 6060maxresident)k 0inputs+201456outputs (0major+315minor)pagefaults 0swaps
- реальное или общее или прошедшее (время настенных часов) – это время от начала до конца вызова. Это время от момента нажатия клавиши Enter до момента завершения команды wget.
- user – количество процессорного time, проведенного в пользовательском режиме.
- system или sys – количество процессорного time, проведенного в режиме ядра.
Заключение
К настоящему time вы должны хорошо понимать, как использовать команду time.