5 exemple de comandă „stat” pentru începătorii Linux


comanda stat este un utilitar util pentru vizualizarea stării fișierelor sau a sistemului de fișiere. Acesta preia informații precum tipul de fișier; drepturi de acces în octal și lizibil de om; șir de context de securitate SELinux; ora nașterii fișierului, ultimul acces, ultima modificare a datelor, ultima modificare a stării atât în format citibil de om, cât și în secunde de la Epoch și multe altele.

Are o opțiune de a specifica un format personalizat în loc de cel implicit, pentru afișarea informațiilor. În acest ghid, ne vom uita la cinci exemple de comandă statistică pentru începătorii Linux.

Verificați starea fișierului Linux

1. Cel mai simplu mod de a folosi stat este să îi oferiți un fișier ca argument. Următoarea comandă va afișa dimensiunea, blocurile, blocurile IO, tipul fișierului, valoarea inodului, numărul de link-uri și multe mai multe informații despre fișierul /var/log/syslog, așa cum se arată în captura de ecran:

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

Verificați starea sistemului de fișiere

2. În exemplul anterior, comanda stat a tratat fișierul de intrare ca pe un fișier normal, totuși, pentru a afișa starea sistemului de fișiere în loc de starea fișierului, utilizați opțiunea -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

De asemenea, puteți furniza un director/sistem de fișiere ca argument, așa cum se arată.

$ 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

Activați urmărirea legăturilor simbolice

3. Deoarece Linux acceptă link-uri (simbolice și hard links), anumite fișiere pot avea una sau mai multe link-uri sau chiar pot exista într-un Sistemul de fișiere.

Pentru a permite ca stat să urmărească linkurile, utilizați indicatorul -L așa cum se arată.

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

Utilizați un format personalizat pentru a afișa informații

4. stat vă permite, de asemenea, să utilizați un anumit format sau personalizat în locul celui implicit. Indicatorul -c este folosit pentru a specifica formatul utilizat, imprimă o nouă linie după fiecare utilizare a secvenței de format.

Alternativ, puteți utiliza opțiunea --printf care permite interpretarea secvențelor de escape de backslash și dezactivează tipărirea unei linii noi. Trebuie să utilizați \n în format pentru a imprima o nouă linie, de exemplu.

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

Semnificația secvențelor de format pentru fișierele utilizate în exemplul de mai sus:

  • %U – numele de utilizator al proprietarului
  • %G – numele grupului proprietarului
  • %C – șir de context de securitate SELinux
  • %z – ora ultimei schimbări de stare, care poate fi citită de om

5. Iată un exemplu care arată utilizarea secvențelor de format acceptate pentru sistemele de fișiere.

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

Semnificația secvențelor de format utilizate în comanda de mai sus.

  • %n – arată numele fișierului
  • %a – imprimați blocuri gratuite disponibile pentru non-superutilizator
  • %b – scoate totalul blocurilor de date în sistemul de fișiere

Tipăriți informații în formă concisă

6. Opțiunea -t poate fi utilizată pentru a tipări informațiile în formă concisă.

$ stat -t /var/log/syslog

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

Ca o ultimă notă, shell-ul dvs. poate avea propria sa versiune de stat, vă rugăm să consultați documentația shell-ului dvs. pentru detalii despre opțiunile pe care le acceptă. Pentru a vedea toate secvențele de format de ieșire acceptate, consultați pagina de manual pentru statistici.

man stat 

În acest articol, am explicat cinci exemple de comandă statistică pentru începătorii Linux. Folosiți formularul de feedback de mai jos pentru a pune întrebări.