Příkaz time v Linuxu zobrazuje, jak dlouho trvá, než se příkaz spustí. Používá se spolu s dalšími příkazy k analýze času potřebného k provedení.
Příkaz time se hodí pro měření výkonu skriptů. Čas strávený je důležitou metrikou pro měření výkonu.
Pomocí příkazu time
Použití příkazu time v Linuxu je stejně jednoduché jako napsat „time“ před příkaz, který chcete provést. Podívejme se, jak dlouho trvá zobrazení výstupu příkazu ls:
$ time ls

Získáme výstup, který se skládá ze tří různých typů časů. Za chvíli se k nim dostaneme.
Zkusme jiný příkaz:
$ time ping linuxfordevices.com

Výstup příkazu time následuje po výstupu příkazu, se kterým jej spouštíme.
Tři typy časů na konci jsou skutečné, uživatelské asys.
- Skutečný :Toto je čas od okamžiku uskutečnění hovoru do okamžiku, kdy je hovor dokončen. Toto je čas, který uplynul při měření v reálném čase.
- Uživatel :Toto je množství času procesoru stráveného v uživatelském režimu.
- Sys :Toto je množství času CPU stráveného v režimu jádra. sys je zkratka pro systémový čas.
Verze příkazu time v Linuxu
Existují různé verze příkazu time. Abych byl konkrétní, tři. Jsou to:
- Bash
- Zsh
- Čas GNU (sh)
Můžete vidět, který z nich používáte s :
$ type time
Podle verze, kterou používáte, získáte následující výstup:
BASH
time is a shell keyword
ZSH
time is a reserved word
Čas GNU
time is /usr/bin/time

Bash a Zsh mají své vlastní vestavěné verze příkazu time, které mají přednost před příkazem GNU time, pokud jsou nainstalovány. Abychom mohli využít čas z GNU, musíme to výslovně zmínit. To uvidíme příště.
1. Časový příkaz GNU (výchozí)
Pro přístup k příkazu time z GNU použijte:
$ /usr/bin/time

Příkaz Time z GNU poskytuje podrobnější výstup.
$ /usr/bin/time ls

Jednou z výhod příkazu GNU time je to, že se s ním snadno hraje. Chcete-li zobrazit výstup podrobným způsobem, použijte volbu -v pomocí příkazu time.
$ /usr/bin/time -v ls

Příkaz GNU time vám umožňuje formátovat výstup a uložit jej do souboru. To uvidíme příště.
2. Uložení výstupu do souboru
Chcete-li výstup uložit do souboru, použijte -o možnost pomocí příkazu GNU time. Příkaz k tomu je:
$ /usr/bin/time -o time_output.txt ls

Příkaz vytvoří soubor s názvem time_output.txt a poté do něj uložte výstup.
Chcete-li připojit výstup na konec existujícího souboru, použijte příkaz :
$ /usr/bin/time -a /home/smart/time-output.txt ls
3. Formátování výstupu času GNU
Další dostupnou variantou příkazu GNU time je to, že jej lze formátovat a reprezentovat přívětivějším způsobem. Pro formátování výstupu -f flag se používá spolu s příkazem time.
Příkaz GNU time poskytuje řadu specifikátorů prostředků, které lze v příkazu použít.
Chcete-li získat seznam specifikátorů prostředků, použijte příkaz :
$ man /usr/bin/time

Způsob použití je:
$ /usr/bin/time -f "\t%C [Command name],\t%K [Total memory usage],\t%E [Time Elapsed]" ping journaldev.com
\t přidá tabulátor mezi výstup.

Závěr
Viděli jsme použití příkazu time a jeho výchozí verze příkazu v akci. Použití příkazu time k měření výkonu příkazů/skriptů je velmi běžné. Chcete-li se dozvědět více o příkazu time, podívejte se na jeho manuálovou stránku.