Někdy při práci na příkazovém řádku v Linuxu potřebujete vědět více o souboru. Můžete například chtít informace jako velikost souboru, číslo inodu, přístupová oprávnění, čas posledního přístupu nebo úpravy a další. Budete rádi, když víte, že existuje nástroj příkazového řádku stat který poskytuje všechny tyto informace najednou.
V tomto tutoriálu budeme diskutovat o základech statistik pomocí několika snadno pochopitelných příkladů. Ale než to uděláme, stojí za zmínku, že všechny zde uvedené příklady byly testovány na Ubuntu 16.04LTS.
Příkaz Linux stat
Příkaz stat v Linuxu umožňuje zobrazit stav souboru (nebo dokonce souborového systému). Zde je syntaxe příkazu:
stat [OPTION]... FILE...
Následuje několik příkladů ve stylu otázek a odpovědí, které vám poskytnou dobrou představu o tom, jak statistiky fungují.
O1. Jak používat příkaz stat?
Základní použití nástroje je velmi snadné – vše, co musíte udělat, je spustit příkaz 'stat' s názvem souboru, o kterém se chcete dozvědět více.
stat [filename]
Například:
stat test.txt
Můžete tedy vidět podrobnosti, jako je název souboru, velikost, typ souboru, přístupová oprávnění, UID a GID a také časy přístupu/úprav/změn.
Q2. Jak zajistit, aby statistika zobrazovala informace ve stručné podobě?
Stručná forma výstupu usnadňuje ostatním programům analyzovat výstup. Chcete-li v tomto formuláři vytvořit výstupní informace 'stat', použijte -t možnost příkazového řádku.
stat -t test.txt
Q3. Jak vytvořit statistické výstupní informace ve vlastním formátu?
K tomu použijte --format volba. Tato možnost vyžaduje zadání platné sekvence formátů, kterých je k dispozici mnoho. Například pro přístup k oprávněním/právům ve formě čitelné pro člověka použijte %A .
Například:
stat --format=%A test.txt
vytvoří následující výstup:
Podobně můžete použít %n pro název souboru %s pro velikost a %U pro uživatelské jméno vlastníka souboru.
Q4. Jak se liší volba --format od --printf?
V jádru obě možnosti dělají totéž. Rozdíl spočívá ve způsobu produkce výstupů. Zatímco --format vypíše nový řádek po každém použití, v případě --printf , není přidán žádný nový řádek. Zde je návod, jak manuálová stránka vysvětluje obojí:
-c --format=FORMAT
use the specified FORMAT instead of the default; output a new?
line after each use of FORMAT
--printf=FORMAT
like --format, but interpret backslash escapes, and do not out?
put a mandatory trailing newline; if you want a newline, include
\n in FORMAT
O5. Jak zajistit dereference statistik v případě, že vstupní soubor je odkaz?
I pro to existuje vyhrazená možnost:-L . Pokud je tedy vstupním souborem odkaz a chcete, aby jej při spuštění příkazu statistiky následovaly, spusťte jej následujícím způsobem:
stat -L [filename]
Závěr
Bylo by špatné říkat stat nemá křivku učení, ale množství úsilí, které nástroj vyžaduje, není mnoho, protože počet možností příkazového řádku, které nabízí, je omezený. Většinu z nich jsme zde již probrali. Pro více informací přejděte na manuálovou stránku nástroje.