5 exemples d'ordres stat per a principiants de Linux


L'ordre stat és una utilitat útil per veure l'estat del fitxer o del sistema de fitxers. Recupera informació com el tipus de fitxer; drets d'accés en octal i llegible per humans; darrera modificació de dades, darrer canvi d'estat tant en lectura humana com en segons des de l'Epoch, i molt més.

Té una opció per especificar un format personalitzat en lloc del predeterminat, per mostrar informació. En aquesta guia, veurem cinc exemples d'ordres estadístiques per a principiants de Linux.

Comproveu l'estat del fitxer de Linux

1. La manera més senzilla d'utilitzar stat és proporcionar-li un fitxer com a argument. La següent comanda mostrarà la mida, els blocs, els blocs d'E/S, el tipus de fitxer, el valor de l'inode, el nombre d'enllaços i molta més informació sobre el fitxer /var/log/syslog, tal com es mostra a la captura de pantalla:

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

Comproveu l'estat del sistema de fitxers

2. A l'exemple anterior, l'ordre stat va tractar el fitxer d'entrada com un fitxer normal, però, per mostrar l'estat del sistema de fitxers en lloc de l'estat del fitxer, utilitzeu l'opció -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

També podeu proporcionar un directori/sistema de fitxers com a argument com es mostra.

$ 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

Habilita el seguiment d'enllaços simbòlics

3. Com que Linux admet enllaços (enllaços simbòlics i durs), certs fitxers poden tenir un o més enllaços, o fins i tot poden existir en un sistema de fitxers.

Per habilitar l'estat per seguir els enllaços, utilitzeu la marca -L tal com es mostra.

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

Utilitzeu un format personalitzat per mostrar informació

4. stat també us permet utilitzar un format particular o personalitzat en lloc del predeterminat. El senyalador -c s'utilitza per especificar el format utilitzat, imprimeix una nova línia després de cada ús de la seqüència de format.

Alternativament, podeu utilitzar l'opció --printf que permet la interpretació de seqüències d'escapada de barra invertida i desactiva la impressió d'una nova línia al final. Heu d'utilitzar \n en el format per imprimir una línia nova, per exemple.

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

Significat de les seqüències de format dels fitxers utilitzats a l'exemple anterior:

  • %U: nom d'usuari del propietari
  • %G: nom del grup del propietari
  • %C: cadena de context de seguretat SELinux
  • %z: hora de l'últim canvi d'estat, llegible per l'home

5. Aquí teniu un exemple que mostra l'ús de seqüències de format acceptat per als sistemes de fitxers.

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

Significat de les seqüències de format utilitzades a l'ordre anterior.

  • %n: mostra el nom del fitxer
  • %a: imprimeix blocs gratuïts disponibles per a no superusuari
  • %b: genera el total de blocs de dades al sistema de fitxers

Imprimeix la informació en forma concisa

6. L'opció -t es pot utilitzar per imprimir la informació en forma concisa.

$ stat -t /var/log/syslog

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

Com a darrera nota, el vostre intèrpret d'ordres pot tenir la seva pròpia versió d'estadística, consulteu la documentació del vostre intèrpret d'ordres per obtenir més informació sobre les opcions que admet. Per veure totes les seqüències de format de sortida acceptades, consulteu la pàgina man d'estadístiques.

$ man stat 

En aquest article, hem explicat cinc exemples d'ordres estadístiques per a principiants de Linux. Utilitzeu el formulari de comentaris següent per fer qualsevol pregunta.