Введение
Команда времени используется для определения того, сколько времени требуется для выполнения данной команды. Это полезно для тестирования производительности скриптов и команд.
Например, если у вас есть два разных сценария, выполняющих одну и ту же работу, и вы хотите знать, какой из них работает лучше всего, вы можете использовать команду времени Linux, чтобы определить, как долго будет выполняться каждый сценарий.
Команда времени
Как Bash, так и Zsh, наиболее часто используемые оболочки Linux, имеют свои собственные встроенные версии команды времени, которые имеют приоритет над командой времени Gnu.
Вы можете использовать команду type
, чтобы определить, является ли время двоичным или встроенным ключевым словом.
type time
# Bash
time is a shell keyword
# Zsh
time is a reserved word
# GNU time (sh)
time is /usr/bin/time
Чтобы использовать команду времени Gnu, вы должны указать полный путь к двоичному файлу времени, обычно /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
То, что будет напечатано в качестве вывода, зависит от версии используемой вами команды времени:
# Bash
HTTP request sent, awaiting response... 200 OK
Length: 103135232 (98M) [application/x-xz]
Saving to: 'linux-4.19.9.tar.xz'
linux-4.19.9.tar.xz 100%[===================================================================================================================>] 98.36M 105MB/s in 0.9s
2020-02-01 15:34:54 (105 MB/s) - 'linux-4.19.9.tar.xz' saved [103135232/103135232]
real 0m6.866s
user 0m0.124s
sys 0m0.576s
- real, total или elapsed — это время от начала до конца звонка. С момента нажатия клавиши
Enter
до момента завершения командыwget
. - user - количество процессорного времени, проведенного в пользовательском режиме.
- system или sys - количество процессорного времени, затрачиваемого в режиме ядра.
Вывод
К настоящему времени вы должны хорошо понимать, как использовать команду time
. Если вы хотите узнать больше о команде time в Gnu, посетите справочную страницу time.