GNU/Linux >> Znalost Linux >  >> Linux

Linux time Command Tutorial pro začátečníky (s příklady)

Někdy, když spouštíte program, možná budete chtít znát jeho využití systémových prostředků. Například kolik času proces strávil v režimu jádra a uživatelském režimu a další informace.

Naštěstí existuje nástroj – nazvaný čas - který je speciálně postaven pro tento účel. V tomto článku probereme základy příkazu 'time' pomocí několika snadno srozumitelných příkladů.

Ale než to uděláme, stojí za zmínku, že všechny příklady v tomto tutoriálu byly testovány na počítači Ubuntu 18.04 LTS.

Příkaz Linux time

Příkaz time v Linuxu umožňuje spouštět programy a sumarizovat jejich využití systémových prostředků. Následuje jeho syntaxe:

čas [MOŽNOSTI] PŘÍKAZ [ARGS]

Manuálová stránka nástroje to popisuje takto:


čas spuštění programu COMMAND s libovolnými danými argumenty ARG....  Po dokončení COMMAND čas zobrazí
informace o zdrojích používaných COMMAND (ve výchozím nastavení na standardním chybovém výstupu).

Pokud PŘÍKAZ ukončí s nenulovým stavem, čas zobrazí varovnou zprávu a stav ukončení.

čas určuje, které informace se mají zobrazit o zdrojích používaných PŘÍKAZEM z
řetězec FORMAT. Pokud není na příkazovém řádku zadán žádný formát, ale je nastavena proměnná prostředí TIME
, použije se jako formát její hodnota. V opačném případě se použije výchozí formát vestavěný do času.

Možnosti pro čas se musí objevit na příkazovém řádku před COMMAND. Cokoli na příkazovém řádku za
COMMAND je předáno jako argumenty COMMAND.

Následuje několik příkladů ve stylu otázek a odpovědí, které by vám měly poskytnout lepší představu o tom, jak příkaz time funguje.

Q1. Jak používat příkaz time?

Základní použití je jednoduché – stačí spustit 'time' s příkazem/programem, který chcete spustit jako vstup.

Například jsem použil příkaz time následujícím způsobem:

time ping howtoforge.com

A tady je výstup:

PING howtoforge.com (104.24.0.68) 56(84) bajtů dat.
64 bajtů od 104.24.0.68 (104.24.0.68):icmp_seq=1 ttl=59 čas=93,8 ms
64 bajtů od 104.24.0.68 (104.24.0.68):icmp_seq=2 ttl=59 čas=91,5 ms
64 bajtů od 104.24.0.68 (104.24.0.68):icmts<9 čas=19=3. />64 bajtů z 104.24.0.68 (104.24.0.68):icmp_seq=4 ttl=59 čas=102 ms
^C
--- howtoforge.com statistiky ping ---
4 přenesené pakety, 4 přijaté, 0 % ztráta paketů, čas 3003 ms
rtt min/avg/max/mdev =91,510/95,249/102,490/4,267 ms

skutečné    0m3,472s
uživatel    0 mil. 0 000 s
sys    0m0,004s

Poslední tři řádky ve výstupu jsou přidány příkazem time. Zatímco 'real' znamená čas nástěnných hodin, který příkaz 'ping' zabral od provedení do ukončení, 'user' a 'sys' jsou čas, který zabere 'ping' uživatelského prostoru a prostoru jádra, v tomto pořadí. Podrobnosti o těchto třech časech jsou k dispozici zde.

Q2. Jak přimět 'time' zapisovat svůj výstup do souboru?

Pokud chcete, aby příkaz time zapisoval svůj výstup do souboru místo do terminálu, použijte volbu -o příkazového řádku, která jako vstup očekává název souboru/cestu.

Například:

/usr/bin/time -o /home/himanshu/time-output.txt ping howtoforge.com

Tento příkaz zobrazí výstup pingu na stdout, zatímco výstup příkazu 'time' bude zapsán do textového souboru.

POZNÁMKA :Použili jsme /usr/bin/time místo 'time', protože vestavěný příkaz time shell nenabízí volbu -o.

Ve výchozím nastavení se při každém spuštění tohoto příkazu výstupní soubor přepíše. Pokud však chcete, můžete se ujistit, že je nový výstup připojen pomocí volby -a příkazového řádku.

Q3. Jak zajistit, aby čas produkoval podrobný výstup?

To lze provést pomocí volby příkazového řádku -v. Když jsem například použil tuto možnost při spuštění příkazu 'time' pomocí příkazu 'ping', ve výstupu příkazu 'time' byly vytvořeny následující podrobnosti:

Časování příkazu:"ping howtoforge.com"
    Čas uživatele (sekundy):0,00
    Systémový čas (sekundy):0,00
    Procento CPU, které tato úloha získala:0 %
    Uplynulý čas (nástěnné hodiny) (h:mm:ss nebo m:ss):0:11,77
    Průměrná velikost sdíleného textu (kbajty):0
    Průměrná velikost nesdílených dat (kbajty):0
    Průměrná velikost zásobníku (kbajty):0
    Průměrná celková velikost (kbajty):0
    Maximální velikost rezidentní sady (kbajty):3064
    Průměrná velikost rezidentní sady (kbajty):0
    Hlavní (vyžadující vstupně-výstupní) chyby stránky:0
    Velké chyby stránky (obnovení rámce):158
    Dobrovolné přepnutí kontextu:14
    Nedobrovolné přepnutí kontextu:0
Swaps:0
    Vstupy systému souborů:0
    Výstupy systému souborů:0
    Odeslané zprávy soketu:0
    Přijaté zprávy soketu:0
    Doručené signály:0
    Velikost stránky (bajtů):4096
    Stav ukončení:0

Takže můžete vidět, že příkaz time vytváří v tomto režimu spoustu dalších detailů.

4. čtvrtletí. Jak přizpůsobit výstup příkazu času?

Příkaz time také nabízí možnost příkazového řádku „formát“, která vám umožní přizpůsobit výstup tohoto nástroje. Poskytuje sadu specifikátorů prostředků, které můžete použít k načtení jakéhokoli typu informací podporovaných příkazem 'time' (viz předchozí část).

Například příkaz time v následujícím provedení:

/usr/bin/time -f "\t%C [Podrobnosti příkazu],\t%K [Celkové využití paměti],\t%k [Počet přijatých signálů zpracovaných]" ping howtoforge.com

vytvořil tento výstup:

ping howtoforge.com [Podrobnosti příkazu],    0 [Celkové využití paměti],    0 [Počet přijatých signálů zpracovaných]

Manuální stránka příkazu time obsahuje podrobnosti týkající se možnosti formátování příkazového řádku.

Závěr

Příkaz time většinou používají vývojáři softwaru a testeři. Není však na škodu to znát, i když mezi ně nepatříte, protože nikdy nevíte, kdy to budete potřebovat. Více informací o tomto příkazu lze získat prostřednictvím manuálové stránky nástroje.


Linux
  1. Rozšíření Linuxu Command Tutorial pro začátečníky (s příklady)

  2. Výukový program příkazů Linux factor pro začátečníky (s příklady)

  3. Linux ano Příkazový kurz pro začátečníky (s příklady)

  1. Linux nproc Command Tutorial pro začátečníky (s příklady)

  2. Výukový program pro Linux tac Command pro začátečníky (s příklady)

  3. Uživatelé Linuxu Výukový program příkazů pro začátečníky (s příklady)

  1. Výukový program příkazu Linux sum pro začátečníky (s příklady)

  2. Výukový program příkazu spánku pro Linux pro začátečníky (s příklady)

  3. Výukový program příkazů se základním názvem Linuxu pro začátečníky (s příklady)