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.