Zdá se, že v Linuxu vždy existuje důmyslný způsob, jak věci udělat. Pro jakýkoli úkol je vždy k dispozici více než jeden nástroj příkazového řádku, který jej provede lepším způsobem. Příkaz Linux stat je nástroj příkazového řádku používaný k zobrazení podrobných informací o souboru. V této příručce zdůrazňujeme 8 použití příkazů stat v Linuxu. Toto funguje ve všech distribucích Linuxu.
Příkaz Linux stat
Příkaz stat si představte jako lepší verzi příkazu ls -l. Zatímco parametr -l poskytuje více podrobností o souborech, jako je vlastnictví souboru a oprávnění, příkaz stat jde hlouběji pod pokličku a poskytuje velké množství informací o souboru.
Syntaxe příkazu statistik pro Linux je uvedena takto:
$ stat [MOŽNOST] název_souboru
1) Příkaz Stat bez argumentů
Ve své nejjednodušší podobě – bez jakýchkoli parametrů – příkaz stat zobrazí výchozí výstup. To zahrnuje velikost a typ souboru, typ zařízení, číslo inodu, UID, GID, počet odkazů a data přístupu/úpravy souboru.
Chcete-li například zobrazit podrobnosti o souboru, který se nachází v aktuálním domovském adresáři, spusťte:
$ stat file1.txt
Upřesněme výstup:
- Soubor:Zobrazí název souboru.
- Velikost :Velikost souboru v bajtech.
- Blok:Počet bloků přidělených souboru.
- Blok IO:Toto je velikost bajtů každého bloku.
- Zařízení : Číslo zařízení v šestnáctkovém nebo desítkovém formátu.
- Inode:Toto je číslo inodu souboru.
- Odkazy :Počet pevných odkazů spojených se souborem.
- Přístup:Oprávnění k souboru v symbolickém nebo číselném formátu.
- Uid : ID uživatele a jméno vlastníka.
- Gid : ID skupiny a jméno vlastníka.
- Kontext:kontext zabezpečení SeLinux
- Typ souboru :Ukazuje, o jaký typ souboru se jedná (zda jde o běžný soubor, symbolický odkaz atd.).
- Přístup:Zobrazuje poslední přístup k souboru.
- Upravit:Ukazuje, kdy byl obsah souboru naposledy změněn.
- Změnit:Ukazuje, kdy byla naposledy změněna metadata souboru, např. oprávnění a vlastnictví.
2) Zobrazení informací o více souborech
Můžete zobrazit podrobnou zprávu o více souborech zadáním souborů na příkazovém řádku jeden po druhém, jak je znázorněno.
$ stat file1.txt file2.pdf
3) Zobrazit stav systému souborů
Stav souborového systému, na kterém se soubor nachází, můžete zkontrolovat pomocí volby -f, jak je znázorněno. To vám dává velikost bloku, celkovou a dostupnou paměť, abychom zmínili jen několik atributů.
$ stat -f /home
4) Zobrazte informace ve stručné formě
Volba -t se používá k zobrazení informací ve stručném formátu, jak je uvedeno:
$ stat -t file1.txt
5) Povolit sledování symbolických odkazů
Obvykle, pokud spustíte příkaz stat na symbolickém odkazu, poskytne vám pouze informace o odkazu, nikoli soubor, na který odkaz odkazuje. Vezměte si například symbolický odkaz /usr/share/zoneinfo/America/Cayman.
$ stat /usr/share/zoneinfo/America/Cayman
Ve výše uvedeném příkladu symbolický odkaz /usr/share/zoneinfo/America/Cayman ukazuje na ( ->) Panamu. Symbolický odkaz má pouze 6 bajtů.
Chcete-li získat informace o souboru, na který odkaz odkazuje, použijte volbu -L známou také jako dereference možnost.
$ stat -L /usr/share/zoneinfo/America/Cayman
To nyní zobrazuje informace o souboru, nikoli odkaz, i když výstup naznačuje, že se jedná o odkaz. Je to proto, že jsme to předali jako argument s příkazem stat.
6) Sekvenční formátování
Z předchozích příkladů jsme viděli, že příkaz stat vytiskne na terminál příval informací. Pokud chcete konkrétní informace, můžete si přizpůsobit výstup pomocí sekvence formátů, abyste poskytli přesně to, co potřebujete, a ponechat další podrobnosti.
Mezi oblíbené výrazy používané k přizpůsobení výstupu patří –printf nebo –format option
Chcete-li například zobrazit pouze inode souboru, použijte sekvenci formátu %i, jak je znázorněno. Operand \n vytiskne nový řádek.
$ stat --printf='%i\n' file1.txt
Pro zobrazení přístupových práv a uid (ID uživatele) použijte formátovací sekvence %a a %u.
$ stat --printf='%a:%u\n' file1.txt
Volba –format vytiskne nový řádek bez nutnosti dalšího operandu.
$ stat --format='%a:%F' file1.txt
Zde je úplný seznam formátovacích sekvencí, které můžete použít:
- %a Zobrazuje přístupová práva v osmičkovém formátu.
- %A Zobrazuje přístupová práva ve formátu čitelném pro člověka.
- %b Toto je počet přidělených bloků (viz %B).
- %B velikost v bajtech každého bloku hlášená %b.
- %C Zobrazuje řetězec kontextu zabezpečení SELinux.
- %d Zobrazuje číslo zařízení v desítkovém formátu.
- %D Číslo zařízení v hexadecimálním formátu.
- %f Zobrazuje nezpracovaný režim v šestnáctkové soustavě.
- %F Zobrazuje typ souboru.
- %g Vytiskne ID skupiny vlastníka.
- %G Vytiskne název skupiny vlastníka.
- %h Zobrazuje počet pevných odkazů.
- %i Vytiskne číslo inodu.
- %m Vytiskne bod připojení.
- %n Zobrazí název souboru
- %N Zobrazuje název souboru v uvozovkách s dereferencí, pokud jde o symbolický odkaz
- %o Vytiskne nápovědu k optimální velikosti I/O přenosu.
- %s celková velikost, v bajtech.
- %t hlavní typ zařízení v hex, pro speciální soubory znakového/blokového zařízení
- %T menší typ zařízení v šestnáctkové soustavě, pro speciální soubory znakového/blokového zařízení
- %u Zobrazuje uživatelské ID vlastníka.
- %U Vytiskne uživatelské jméno vlastníka.
- %w Odhaluje čas narození souboru, čitelné pro člověka; – pokud neznáme.
- %W Vytiskne čas narození souboru, sekundy od epochy; 0, pokud není známo.
- %x Čas posledního přístupu, čitelné pro člověka.
- %X Čas posledního přístupu, sekundy od epochy.
- %y Zobrazuje čas poslední úpravy, čitelné pro člověka.
- %Y Vytiskne čas poslední úpravy, sekundy od epochy.
- %z Toto je čas poslední změny, člověku čitelný.
- %Z Čas poslední změny, sekundy od epochy.
7) Získání nápovědy s příkazem stat
Pro více možností příkazu použijte volbu –help s příkazem stat, jak je znázorněno.
$ stat --help
Můžete také navštívit manuálové stránky příkazu stat, run
$ man stat
8) Kontrola verze statu
Nakonec pro kontrolu verze příkazu stat spusťte příkaz:
$ stat --version
To jsme pro vás připravili v tomto průvodci. Jak vidíte, příkaz stat jde nad rámec toho, co vám dává příkaz ls, a je ideální pro shromažďování podrobných informací o souboru nebo systému souborů.
Přečtěte si také :14 užitečných příkladů příkazů „ls“ v systému Linux