Weboldal keresés

5 'stat' parancspélda Linux kezdőknek


A stat parancs egy hasznos segédprogram a fájl vagy fájlrendszer állapotának megtekintéséhez. Olyan információkat kér le, mint például a fájltípus; hozzáférési jogok nyolcas és ember által olvasható formában; SELinux biztonsági környezeti karakterlánc; a fájl születési ideje, utolsó hozzáférés, utolsó adatmódosítás, utolsó állapotváltozás ember által is olvasható és az Epoch óta eltelt másodpercekben, és még sok más.

Lehetősége van egyéni formátum megadására az alapértelmezett helyett az információk megjelenítéséhez. Ebben az útmutatóban öt stat parancsot fogunk megnézni újoncok Linux számára.

Ellenőrizze a Linux fájl állapotát

1. A stat használatának legegyszerűbb módja, ha argumentumként fájlt ad hozzá. A következő parancs megjeleníti a méretet, a blokkokat, az IO blokkokat, a fájltípust, az inode értéket, a hivatkozások számát és még sok más információt a /var/log/syslog fájlról, ahogy a képernyőképen látható:

$ 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: -

Ellenőrizze a fájlrendszer állapotát

2. Az előző példában a stat parancs normál fájlként kezelte a bemeneti fájlt, azonban a fájlrendszer állapotának megjelenítéséhez használja a -f kapcsolót.

$ 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

A képen látható módon argumentumként megadhat egy könyvtárat/fájlrendszert is.

$ 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

Szimbolikus linkek követésének engedélyezése

3. Mivel a Linux támogatja a hivatkozásokat (szimbolikus és kemény linkeket), bizonyos fájlokhoz egy vagy több hivatkozás is lehet, vagy akár egy fájlrendszer.

A linkek követésének engedélyezéséhez használja a -L jelzőt az ábrán látható módon.

$ 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: -

Egyéni formátum használata az információk megjelenítéséhez

4. A stat lehetővé teszi egy adott vagy egyéni formátum használatát az alapértelmezett helyett. A -c jelző a használt formátum megadására szolgál, a formátumsorozat minden egyes használata után új sort ír ki.

Alternatív megoldásként használhatja a --printf opciót, amely lehetővé teszi a fordított törtvonal escape szekvenciák értelmezését, és kikapcsolja a záró újsor nyomtatását. Például új sor nyomtatásához a \n formátumot kell használnia.

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

A fenti példában használt fájlok formátumsorozatának jelentése:

  • %U – a tulajdonos felhasználóneve
  • %G – a tulajdonos csoport neve
  • %C – SELinux biztonsági környezeti karakterlánc
  • %z – az utolsó állapotváltozás ideje, ember által olvasható

5. Íme egy példa, amely bemutatja az elfogadott formátumszekvenciák használatát fájlrendszerekhez.

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

A fenti parancsban használt formátumsorozatok jelentése.

  • %n – a fájl nevét mutatja
  • %a – ingyenes blokkok nyomtatása a nem szuperfelhasználók számára
  • %b – a fájlrendszer összes adatblokkját adja ki

Nyomtassa ki az információkat szűkszavú formában

6. A -t opció használható az információk tömör formában történő kinyomtatására.

$ stat -t /var/log/syslog

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

Utolsó megjegyzésként megjegyzendő, hogy a shell rendelkezik saját stat verzióval. Kérjük, tekintse meg a shell dokumentációját az általa támogatott opciók részleteiért. Az összes elfogadott kimeneti formátum szekvenciájának megtekintéséhez tekintse meg a stat man oldalt.

man stat 

Ebben a cikkben öt stat-példát mutatunk be újoncok Linux számára. Az alábbi visszajelzési űrlap segítségével kérdéseket tehet fel.