Fizetési módok Abuse

Mit csinál a stat parancs Linuxban

14.11.2021, 16:15

A fájlrendszerben minden fájl és mappa rendelkezik egy úgynevezett Inode struktúrával, amelyben az adott objektum metaadatai tárolódnak. Ez tárolja a tulajdonost, a tulajdonosi csoportot, a módosítás, a létrehozás és a fájlhoz való hozzáférés időpontját, valamint egyéb információkat. Ez nem csak a fájlrendszer hibakereső eszközök segítségével látható. Bizonyos információkat az ls segédprogram is megmutat, de ha ennél többre van szükségünk, használhatjuk a stat parancsot. A következőkben elmondjuk, hogyan használhatja ezt a parancsot Linuxban.

Mit csinál a parancs

A parancs szintaxisa egyszerű. Át kell adni neki opciókat és annak a fájlnak az elérési útvonalát, amelyről az információkat látni szeretné:

$ stat [options] /path/to/file

Nem szükséges opciókat átadni, és egyáltalán nincs sok ilyen opció:

-L, dereference - szimbolikus hivatkozás helyett fájlinformációk megjelenítése;

-f, --file-system - megjeleníti az információt a fájlrendszerről, amelyben a fájl található;

-c, --format- lehetővé teszi a kimeneti formátum megadását a szabványos helyett, minden fájl új sorban kerül kimenetre;

--printf - hasonló a --format-hoz, csak egy új sorhoz a ;

-t, --terse - nagyon rövid formában, egy sorban jeleníti meg az információkat;

--version - a segédprogram verziójának megjelenítése.

Lássunk néhány példát a használatra. Egy fájlról szóló információ megtekintéséhez elég, ha opciók nélkül futtatjuk a programot, átadva neki a fájl elérési útvonalát, például /etc/passwd:

$ stat /etc/passwd

A program kimenete:

Fájl- annak a fájlnak az elérési útvonala, amelyre vonatkozóan az információ megjelenik;

Size- a fájl mérete bájtban;

IO blokk - a fájlrendszer blokkjának mérete bájtban;

Blocks- a fájl által elfoglalt fájlrendszerblokkok száma;

Device- annak az eszköznek az azonosítója, például HDD, amelyen a fájl tárolva van;

Inode - a fájl egyedi Inode száma;

Linkek- a fájlhoz tartozó hard linkek száma;

Access - a fájlhozvaló hozzáférési jogok;

Uid - a fájl felhasználó-tulajdonosának azonosítója és neve;

Gid - a fájlcsoport azonosítója és neve;

Access- a fájlhoz való utolsó hozzáférés időpontja;

Modify- a fájl tartalmának utolsó módosításának időpontja;

Changed- a fájl attribútumainak vagy tartalmának utolsó módosításának időpontja;

Created(Birth) - a fájl eredeti létrehozási dátumának megjelenítésére fenntartva, de még nem implementálva.

Az időformátumról kicsit bővebben kell beszélnünk. Például a fájlhoz való utolsó hozzáférés időpontja 2020-12-02 18:25:01.043831739 +0200. Ez az időpont az időzóna figyelembevételével jelenik meg. A +0200-as számok pedig azt mutatják, hogy a fájlt létrehozó vagy módosító számítógép időzónája két órával több, mint a UTC, azaz Európa/Kijev téli időszámítás szerint.

Ha szimbolikus linket próbál átadni a segédprogramnak, az csak magának a linknek az Inode-jából származó információkat fogja megmutatni:

$ stat /etc/passwdlin

Ha a hivatkozás által mutatott fájlról szeretne információkat látni, használja a -L opciót:

$ stat -L /etc/passwdlink

Egynél több fájlt is átadhat:

$ stat /etc/passwd /etc/group

A kimenet formázásához a következő karaktersorozatokat használhatja:

%A - hozzáférési jogok;

%b - a foglalt blokkok száma;

%F - a fájl típusa;

%g - fájlcsoport-azonosító;

%G - fájlcsoport neve;

%i - Inode azonosító;

%n - fájlnév;

%s - a fájl mérete;

%u - a fájl tulajdonosának azonosítója;

%U - a fájl tulajdonosának neve;

%x - az utolsó hozzáférés időpontja;

%y - az utolsó tartalommódosítás időpontja;

%z - a tartalom vagy az attribútumok utolsó módosításának időpontja.

Ez nem az összes lehetséges szekvencia, továbbiakat a segédprogram súgójában talál:

$ man stat

Például jelenítsük meg csak egy fájl nevét és a tartalom utolsó módosításának időpontját:

$ stat --printf "File %n has been modified %y " /etc/passwd /etc/group

Ha a fájl fájlrendszerére vonatkozó információkat szeretnénk látni, ahol a fájl található, akkor a -f kapcsolót kell használni:

$ stat -f /etc/passwd

Nézzük meg, mit jelentenek a segédprogram által megjelenített mezők:

Fájl- a fájl neve;

Type- a fájlrendszer típusa;

ID - a fájlrendszer azonosítója;

Név hossza(Namelen) - a név maximális hossza a fájlrendszerben;

Block size - az optimális sebességet biztosító adatmennyiség egy olvasási vagy írási kérésben;

Fundamental block size - fizikai blokkméret a fájlrendszerben.

Ezután következik a rendszerben lévő blokkok teljes száma és a szabad blokkok száma.