Vyhledávání na webu

5 Příklady příkazů 'stat' pro nováčky v Linuxu


příkaz stat je užitečný nástroj pro zobrazení stavu souboru nebo systému souborů. Získává informace, jako je typ souboru; přístupová práva v osmičkovém a čitelném jazyce; SELinux bezpečnostní kontextový řetězec; čas narození souboru, poslední přístup, poslední úprava dat, poslední změna stavu v čitelném stavu i v sekundách od epochy a mnoho dalšího.

Má možnost zadat vlastní formát namísto výchozího pro zobrazování informací. V této příručce se podíváme na pět příkladů příkazů stat pro nováčky v Linuxu.

Zkontrolujte stav souboru Linux

1. Nejjednodušší způsob, jak použít stat, je poskytnout mu soubor jako argument. Následující příkaz zobrazí velikost, bloky, IO bloky, typ souboru, hodnotu inode, počet odkazů a mnoho dalších informací o souboru /var/log/syslog, jak je znázorněno na snímku obrazovky:

$ stat /var/log/syslog

File: '/var/log/syslog'
  Size: 26572     	Blocks: 56         IO Block: 4096   regular file
Device: 80ah/2058d	Inode: 8129076     Links: 1
Access: (0640/-rw-r-----)  Uid: (  104/  syslog)   Gid: (    4/     adm)
Access: 2018-04-06 09:42:10.987615337 +0530
Modify: 2018-04-06 11:09:29.756650149 +0530
Change: 2018-04-06 11:09:29.756650149 +0530
 Birth: -

Zkontrolujte stav systému souborů

2. V předchozím příkladu příkaz stat zacházel se vstupním souborem jako s normálním souborem, avšak pro zobrazení stavu systému souborů místo stavu souboru použijte volbu -f.

$ stat -f /var/log/syslog

File: "/var/log/syslog"
    ID: ce97e63d2201c974 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 84769790   Free: 16012830   Available: 11700997
Inodes: Total: 21544960   Free: 20995459

Můžete také zadat adresář/systém souborů jako argument, jak je znázorněno.

$ stat -f /

File: "/"
    ID: ce97e63d2201c974 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 84769790   Free: 16056471   Available: 11744638
Inodes: Total: 21544960   Free: 21005263

Povolit sledování symbolických odkazů

3. Protože Linux podporuje odkazy (symbolické a pevné odkazy), určité soubory mohou mít jeden nebo více odkazů nebo mohou dokonce existovat v souborový systém.

Chcete-li povolit sledování odkazů, použijte příznak -L, jak je znázorněno.

$ stat -L /

 File: '/'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 80ah/2058d	Inode: 2           Links: 25
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-04-09 10:55:55.119150525 +0530
Modify: 2018-02-20 11:15:54.462893167 +0530
Change: 2018-02-20 11:15:54.462893167 +0530
 Birth: -

K zobrazení informací použijte vlastní formát

4. stat také umožňuje použít konkrétní nebo vlastní formát namísto výchozího. Parametr -c se používá k určení použitého formátu, po každém použití sekvence formátu vytiskne nový řádek.

Alternativně můžete použít volbu --printf, která umožňuje interpretaci sekvencí escape zpětného lomítka a vypíná tisk konce nového řádku. Chcete-li například vytisknout nový řádek, musíte ve formátu použít \n.

stat --printf='%U\n%G\n%C\n%z\n' /var/log/secure

Význam sekvencí formátů pro soubory použité ve výše uvedeném příkladu:

  • %U – uživatelské jméno vlastníka
  • %G – název skupiny vlastníka
  • %C – řetězec kontextu zabezpečení SELinux
  • %z – čas poslední změny stavu, čitelné pro člověka

5. Zde je příklad, který ukazuje použití akceptovaných formátových sekvencí pro systémy souborů.

stat --printf='%n\n%a\n%b\n' /

Význam formátovacích sekvencí použitých ve výše uvedeném příkazu.

  • %n – zobrazuje název souboru
  • %a – tisk volných bloků dostupných pro uživatele, kteří nejsou superuživateli
  • %b – vypíše celkový počet bloků dat v systému souborů

Tisk informací ve stručné formě

6. Volbu -t lze použít k vytištění informací ve stručné formě.

$ stat -t /var/log/syslog

/var/log/syslog 12760 32 81a0 104 4 80a 8129076 1 0 0 1523251873 1523256421 1523256421 0 4096

Jako poslední poznámka, váš shell může mít svou vlastní verzi statu, podrobnosti o možnostech, které podporuje, najdete v dokumentaci vašeho shellu. Chcete-li zobrazit všechny přijaté sekvence výstupních formátů, podívejte se na stránku stat man.

man stat 

V tomto článku jsme vysvětlili pět příkladů statických příkazů pro nováčky v Linuxu. Chcete-li se zeptat na jakékoli otázky, použijte níže uvedený formulář zpětné vazby.