GNU/Linux >> Znalost Linux >  >> Linux

Stat Command v Linuxu

stat je nástroj příkazového řádku, který zobrazuje podrobné informace o daných souborech nebo souborových systémech.

Tento článek vysvětluje, jak používat stat příkaz.

Použití stat Příkaz #

Syntaxe pro stat příkaz je následující:

stat [OPTION]... FILE...

stat přijímá jeden nebo více vstupů FILE jmen a obsahuje řadu voleb, které řídí chování a výstup příkazu.

Podívejme se na následující příklad:

stat file.txt

Výstup bude vypadat nějak takto:

  File: file.txt
  Size: 4030      	Blocks: 8          IO Block: 4096   regular file
Device: 801h/2049d	Inode: 13633379    Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/   linuxize)   Gid: ( 1000/   linuxize)
Access: 2019-11-06 09:52:17.991979701 +0100
Modify: 2019-11-06 09:52:17.971979713 +0100
Change: 2019-11-06 09:52:17.971979713 +0100
 Birth: -

Při vyvolání bez jakýchkoli možností stat zobrazí následující informace o souboru:

  • Soubor – Název souboru.
  • Velikost – velikost souboru v bajtech.
  • Blocks – Počet přidělených bloků, které soubor zabere.
  • Vstupní blok – velikost každého bloku v bajtech.
  • Typ souboru – (např. běžný soubor, adresář, symbolický odkaz.)
  • Zařízení – Číslo zařízení v šestnáctkové a desetinné soustavě.
  • Inode – Číslo inodu.
  • Odkazy – počet pevných odkazů.
  • Přístup – oprávnění k souboru v numerických a symbolických metodách.
  • Uid – ID uživatele a jméno vlastníka.
  • Gid – ID skupiny a jméno vlastníka.
  • Kontext – kontext zabezpečení SELinux.
  • Přístup – Poslední přístup k souboru.
  • Upravit – Poslední změna obsahu souboru.
  • Změnit – poslední změna atributu nebo obsahu souboru.
  • Narození – Doba vytvoření souboru (nepodporováno v Linuxu).

Zobrazení informací o systému souborů #

Chcete-li získat informace o systému souborů, kde se daný soubor nachází, místo informací o souboru samotném použijte -f , (--file-system ) možnost:

stat -f file.txt

Výstup příkazu bude vypadat takto:

  File: "package.json"
    ID: 8eb53097b4494d20 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 61271111   Free: 25395668   Available: 22265851
Inodes: Total: 15630336   Free: 13979610

Když stat se vyvolá pomocí -f zobrazí následující informace:

  • Soubor – Název souboru.
  • ID – ID systému souborů v hex.
  • Namelen – Maximální délka názvů souborů.
  • Velikost základního bloku – Velikost každého bloku v systému souborů.
  • Blokuje:
    • Celkem – Celkový počet bloků v systému souborů.
    • Volné – Počet volných bloků v systému souborů.
    • Dostupné – Počet volných bloků dostupných uživatelům bez oprávnění root.
  • Inody:
    • Celkem – Celkový počet inodů v systému souborů.
    • Volný – Počet volných inodů v systému souborů.

Ve výchozím nastavení stat nesleduje symbolické odkazy. Pokud příkaz spustíte na symbolickém odkazu, výstup bude obsahovat informace o symbolickém odkazu, nikoli soubor, na který odkazuje:

stat /etc/resolv.conf
  File: /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
  Size: 39        	Blocks: 0          IO Block: 4096   symbolic link
Device: 801h/2049d	Inode: 8126659     Links: 1
Access: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-11-06 21:12:26.875956073 +0100
Modify: 2018-07-24 11:11:48.128794519 +0200
Change: 2018-07-24 11:11:48.128794519 +0200
 Birth: -

Chcete-li odkázat (sledovat) symbolický odkaz a zobrazit informace o souboru, na který symbolický odkaz odkazuje, použijte -L , (--dereference ) možnost:

stat -L /etc/resolv.conf
  File: /etc/resolv.conf
  Size: 715       	Blocks: 8          IO Block: 4096   regular file
Device: 17h/23d	Inode: 989         Links: 1
Access: (0644/-rw-r--r--)  Uid: (  101/systemd-resolve)   Gid: (  103/systemd-resolve)
Access: 2019-11-06 20:35:25.603689619 +0100
Modify: 2019-11-06 20:35:25.555689733 +0100
Change: 2019-11-06 20:35:25.555689733 +0100
 Birth: -

Přizpůsobení výstupu #

stat příkaz má dvě možnosti, které vám umožní upravit výstup podle vašich potřeb:-c , (--format="format" ) a --printf="format" .

Rozdíl mezi těmito dvěma možnostmi je ten, že když jsou dva nebo více souborů použity jako operanty --format automaticky přidá nový řádek po výstupu každého operandu. --printf interpretuje úniky zpětného lomítka.

Existuje mnoho formátovacích direktiv pro soubory a systémy souborů, které lze použít s --format a --printf .

Chcete-li například zobrazit pouze typ souboru, spustili byste:

stat --format="%F" /dev/null
character special file

Můžete kombinovat libovolný počet formátovacích direktiv a volitelně mezi nimi používat vlastní oddělovače. Oddělovač může být jeden znak nebo řetězec:

stat --format="%n,%F" /dev/null
/dev/null,character special file

Chcete-li interpretovat speciální znaky, jako je nový řádek nebo tabulátor, použijte --printf možnost:

stat --printf='Name: %n\nPermissions: %a\n' /etc

\n vytiskne nový řádek:

Name: /etc
Permissions: 755

stat může také zobrazovat informace ve stručné podobě. Tento formát je užitečný pro analýzu jinými nástroji.

Vyvolejte příkaz pomocí -t (--terse ) možnost vytisknout výstup ve stručné podobě:

stat -t /etc
/etc 12288 24 41ed 0 0 801 8126465 147 0 0 1573068933 1573068927 1573068927 0 4096

Úplný seznam všech formátovacích direktiv pro soubory a typ souborového systému naleznete v man stat nebo stat --help ve vašem terminálu.

Závěr č.

stat příkaz vypíše informace o daných souborech a souborových systémech.

V Linuxu může několik dalších příkazů zobrazit informace o daných souborech pomocí ls je nejpoužívanější, ale zobrazuje pouze část informací poskytovaných stat příkaz.

Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.


Linux
  1. Zkontrolujte stav souboru v systému Linux pomocí příkazu stat

  2. Příkaz wc pro Linux

  3. Linuxový příkaz grep

  1. 8 Příklady příkazů hlavy v Linuxu

  2. V příkladech příkazů v Linuxu

  3. soubor Příklady příkazů v Linuxu

  1. 8 Příklady příkazů Stat v Linuxu

  2. Linux Tail Command

  3. Linux Touch Command