Linux – administrace systému - 12 - Uživatelé
Obsah:
- Pomocí příkazu
stat
- Zobrazení informací o systému souborů
- Dereference (Follow) Symlinks
- Přizpůsobení výstupu
- Závěr
stat
je obslužný program 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 příkaz
stat
.
Pomocí příkazu
stat
Syntaxe příkazu
stat
je následující:
stat… FILE…
stat
přijímá jeden nebo více názvů vstupních
FILE
a obsahuje řadu možností, 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 asi 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 voleb se zobrazí následující informace o souboru:
- Soubor - Název souboru. Velikost - Velikost souboru v bytech. Bloky - Počet přidělených bloků, které soubor zabírá. Blok - Velikost v bajtech každého bloku. Typ souboru - (např. Normální soubor, adresář, symbolický odkaz…) Zařízení - číslo zařízení v hex a desetinné čárce.Inode - Inode number.Links - Počet pevných odkazů.Access - Oprávnění k souborům v numerických a symbolických metodách. ID a jméno vlastníka.Kontext - bezpečnostní kontext SELinuxu. Přístup - naposledy, kdy byl soubor přístupný.Modify - naposledy, kdy byl obsah souboru změněn.Změnit - naposledy, kdy byl změněn atribut nebo obsah souboru. Čas vytvoření souboru (není podporován v systému Linux).
Zobrazení informací o systému souborů
Chcete-li získat informace o systému souborů, kde se daný soubor nachází, namísto informací o samotném souboru použijte volbu
-f
, (
--file-system
):
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
Při vyvolání
stat
s volbou
-f
se zobrazí následující informace:
- Soubor - Název souboru.ID - ID systému souborů v hex.Namelen - Maximální délka názvů souborů.Fundamental size size - Velikost každého bloku v systému souborů.Blocks:
- Celkem - Počet celkových bloků v systému souborů.Free - 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.
- Celkem - Počet celkových inodů v systému souborů.Free - Počet volných inodů v systému souborů.
Dereference (Follow) Symlinks
Ve výchozím
stat
nesleduje symbolický odkaz. Pokud spustíte příkaz na symbolu, bude výstup obsahovat informace o symbolu, 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 ukončit (sledovat) symbolický odkaz a zobrazit informace o souboru, na který tento odkaz odkazuje, použijte volbu
-L
, (
--dereference
):
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
Příkaz
stat
má dvě možnosti, které vám umožňují přizpůsobit výstup podle vašich potřeb:
-c
, (
--format="format"
) a
--printf="format"
.
Rozdíl mezi těmito dvěma možnostmi spočívá v tom, že pokud jsou dva nebo více souborů použity jako operátoři -
--format
automaticky přidá nový řádek po každém výstupu operandu.
--printf
interpretuje
--printf
lomítko.
Existuje mnoho směrnic pro formátování souborů a systémů souborů, které lze použít s
--format
a
--printf
.
Chcete-li například zobrazit pouze typ souboru, který byste použili:
stat --format="%F" /dev/null
character special file
Můžete kombinovat libovolný počet direktiv formátování a mezi nimi případně použít 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 karta, použijte volbu
--printf
:
stat --printf='Name: %n\nPermissions: %a\n' /etc
vytiskne nový řádek:
Name: /etc Permissions: 755
stat
může také zobrazovat informace v napjaté podobě. Tento formát je užitečný pro analýzu jinými nástroji.
--terse
příkaz s volbou
-t
(
--terse
) a vytiskněte výstup v těsné podobě:
stat -t /etc
/etc 12288 24 41ed 0 0 801 8126465 147 0 0 1573068933 1573068927 1573068927 0 4096
Úplný seznam všech směrnic pro formátování souborů a souborových systémů zadejte do terminálu
stat --help
man stat
nebo
stat --help
.
Závěr
Příkaz
stat
vytiskne informace o daných souborech a souborových systémech.
V Linuxu existuje několik dalších příkazů, které mohou zobrazovat informace o daných souborech, přičemž
ls
je nejpoužívanější, ale zobrazuje pouze část informací poskytnutých příkazem
stat
.
Příkaz Chmod v Linuxu (oprávnění souboru)

V Linuxu je přístup k souborům spravován prostřednictvím oprávnění k souborům, atributů a vlastnictví. Tento tutoriál popisuje, jak pomocí příkazu chmod změnit přístupová oprávnění k souborům a adresářům.
Příkaz Chgrp v Linuxu (změna skupiny)

V systému Linux je každý soubor spojen s vlastníkem a skupinou a má oprávnění, která určují, kteří uživatelé mohou soubor číst, zapisovat nebo provádět. Příkaz chgrpc mění vlastnictví dané soubory ve skupině.
Příkaz Cp v Linuxu (kopírování souborů)

cp je obslužný program příkazového řádku pro kopírování souborů a adresářů v systémech Unix a Linux.