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.