Toto je jednoduchý příkaz, který měří... uhodli jste čas. Nejedná se však o aplikaci s hodinami. Měří čas potřebný ke spuštění programu nebo skriptu.
[email protected]:~$ time ./script.sh
real 0m12.010s
user 0m0.004s
sys 0m0.006s
Časový příkaz a jeho výstup vysvětlím za minutu.
Existuje několik různých verzí časového nástroje. Zde se podíváme na verzi Bash, protože to je ta, se kterou se ve svém systému pravděpodobně setkáte. Existuje také verze Zsh a verze GNU.
Vyhněte se zmatkům a ověřte svou verzi nyní.
[email protected]:~$ type time
time is a shell keyword
Pokud váš výstup vypadá takto, je to perfektní. To znamená, že používáte bash. Příkaz provádí stejnou úlohu ve všech svých iteracích, takže pokud nepoužíváte bash, nebojte se, stále budete schopni porozumět tomu, co se děje. Může však vypadat úplně jinak.
Použití příkazu time
Příkaz Time měří následující:
- reálný čas:celkový uplynulý čas
- uživatel:Zpracování OS v uživatelském režimu
- sys:Zpracování OS v režimu jádra
Lze jej použít s libovolným příkazem nebo s pomocí potrubí.
Čas s textovou aplikací
Podívejme se na příklad s nano. Nano je terminálový textový editor. Pokud spustím nano a poté okamžitě ukončím aplikaci (Ctrl+X), bude výstup vypadat takto:
time nano
real 0m1.465s
user 0m0.031s
sys 0m0.006s
Čas s aplikací GUI
To také funguje s aplikací GUI. Výstup bude vrácen, jakmile bude aplikace normálně ukončena nebo pokud na terminálu dojde k přerušení (CTRL+C).
time firefox
real 0m6.784s
user 0m4.962s
sys 0m0.459s
Tradiční verze GNU
Jak jsem se již dotkl, většina uživatelů Linuxu spouští Bash, který v podstatě používá zkratku k vytváření obsahu čitelného pro člověka. Plnou verzi GNU můžete spustit pomocí řídicího znaku \
. Tím se obejde vestavěná zkratka.
Tentokrát použiji pouze příkaz spánku k vytvoření fiktivní úlohy. Číslo je doba trvání v sekundách. Uvidíte to také v reálném čase výstupu.
Všimněte si, že protože se jedná o fiktivní úkol, není mu věnován žádný skutečný čas na zdroje.
[email protected]:~$ \time sleep 3
0.00user 0.00system 0:03.00elapsed 0%CPU (0avgtext+0avgdata 1944maxresident)k
0inputs+0outputs (0major+75minor)pagefaults 0swaps
Tento výstup je trochu obtížnější číst, ale také sdílí některé informace o využití paměti RAM, které by vám mohly pomoci.
Čas GNU -p =(bash) čas
Výstup, který normálně vidíte u verze bash, je něco jako alias GNU time run s -p
možnost.
[email protected]:~$ \time -p sleep 3
real 3.00
user 0.00
sys 0.00
Jak můžete vidět, dává nám to stejný výstup, jako kdybychom jej spustili pomocí zkratky bash.
Závěr
Líbil se vám náš průvodce časovým příkazem? Doufám, že vás všechny tyto tipy naučily něco nového.
Pokud se vám tato příručka líbí, sdílejte ji na sociálních sítích. Pokud máte nějaké připomínky nebo dotazy, zanechte je níže. Pokud máte nějaké návrhy na témata, která byste rádi viděli, klidně je také zanechte. Děkuji za přečtení.