Cómo usar el comando Stat en Linux

27 feb 2021 4 min di lettura
Cómo usar el comando Stat en Linux
Indice dei contenuti

Introducción

stat es una utilidad de línea de comandos que muestra información detallada sobre ciertos archivos o sistemas de archivos.

Este artículo explica cómo usar el stat en Linux.

Usando el comando Stat

La sintaxis del stat es la siguiente:

stat [OPTION]... FILE...

stat acepta uno o más FILE e incluye un conjunto de opciones que controlan el comportamiento y la salida del comando.

Echemos un vistazo al siguiente ejemplo:

stat mylog.log

La salida se verá así:

 File: mylog.log
 Size: 1239291 Blocks: 2424 IO Block: 512 regular file
 Device: 2h/2d Inode: 24769797950641873 Links: 1
 Access: (0644/-rw-r--r--) Uid: ( 1000/piero) Gid: ( 1000/piero)
 Access: 2019-09-28 20:01:33.130738600 +0200
 Modify: 2019-08-08 03:04:23.000000000 +0200
 Change: 2019-09-28 20:01:33.143704400 +0200
 Birth: -

Cuando se invoca sin ninguna opción, se muestra la siguiente información de archivo:

  • Archivo: el nombre del archivo.
  • Tamaño: el tamaño del archivo en bytes.
  • Bloques: el número de bloques asignados adquiridos del archivo.
  • Bloque de E /S: el tamaño en bytes de cada bloque.
  • Tipo de archivo - (por ejemplo, archivo normal, directorio, enlace simbólico...)
  • Dispositivo: número de dispositivo en hexadecimal y decimal.
  • Inode: número de nodo.
  • Conexiones: número de conexiones reales.
  • Acceso: permisos de archivo en métodos numéricos y simbólicos.
  • Uid: ID de usuario y nombre del propietario.
  • Gid: ID de grupo y nombre del propietario.
  • Contexto: el contexto de seguridad de SELinux.
  • Acceso: la última vez que se accedió al archivo.
  • Editar: la última vez que se modificó el contenido del archivo.
  • Editar: la última vez que se cambió el atributo o el contenido del archivo.
  • Nacimiento: hora de creación del archivo (no compatible con Linux).

Ver información del sistema de archivos

Para obtener información sobre el sistema de archivos donde reside el archivo especificado, en lugar de información sobre el archivo en sí, use la -f, ( --file-system ):

stat -f mylog.log

La salida del comando se verá así:

 File: "mylog.log"
 ID: 100000000 Namelen: 255 Type: wslfs
 Block size: 4096 Fundamental block size: 4096
 Blocks: Total: 60884223 Free: 40801995 Available: 40801995
 Inodes: Total: 999 Free: 1000000

Cuando se invoca stat -f, muestra la siguiente información:

  • Archivo: el nombre del archivo.
  • ID: ID del sistema de archivos en hexadecimal.
  • Namelen: longitud máxima de los nombres de archivo.
  • Tamaño de bloque fundamental: el tamaño de cada bloque en el sistema de archivos.
  • Bloqueos: - Total: número total de bloqueos en el sistema de archivos. Gratis: número de bloques libres en el sistema de archivos. Disponible: número de bloques libres disponibles para usuarios no root.
  • Inodos: Total: número total de inodos en el sistema de archivos. Libre: número de inodos libres en el sistema de archivos.

Desreferencia (Seguir) Enlace simbólico

Por defecto, stat no sigue enlaces simbólicos. Si ejecuta el comando en un enlace simbólico, la salida incluirá información sobre el enlace simbólico, no el archivo al que apunta:

stat /etc/resolv.conf
 File: /etc/resolv.conf ->../run/resolvconf/resolv.conf
 Size: 29 Blocks: 0 IO Block: 512 symbolic link
 Device: 2h/2d Inode: 562949953739123 Links: 1
 Access: (0777/lrwxrwxrwx) Uid: ( 0/root) Gid: ( 0/root)
 Access: 2019-08-01 22:25:40.458719400 +0200
 Modify: 2019-08-01 22:25:40.458719400 +0200
 Change: 2019-08-01 22:25:40.458719400 +0200
 Birth: -

Para eliminar la referencia (seguir) el enlace simbólico y mostrar información sobre el archivo al que apunta el enlace simbólico, use la -L, ( --dereference ):

stat -L /etc/resolv.conf
 File: /etc/resolv.conf
 Size: 195 Blocks: 0 IO Block: 512 regular file
 Device: 7h/7d Inode: 1970324837678224 Links: 1
 Access: (0644/-rw-r--r--) Uid: ( 0/root) Gid: ( 0/root)
 Access: 2019-11-07 23:52:30.624839800 +0100
 Modify: 2019-11-07 23:52:30.640820100 +0100
 Change: 2019-11-07 23:52:30.640820100 +0100
 Birth: -

Personalizando la salida

El stat tiene dos opciones que le permiten personalizar la salida para que se adapte a sus necesidades:, -c ( --format="format" ) y --printf="format".

La diferencia entre estas dos opciones es que cuando se utilizan dos o más archivos como operadores, el --format agrega automáticamente una nueva línea después de la salida de cada operando. La --printf interpreta barras invertidas.

Hay muchas directivas de formato de archivos y sistemas de archivos que se pueden usar con --format y --printf.

Por ejemplo, para ver solo el tipo de archivo, utilice:

stat --format="%F" /dev/null
character special file

Puede combinar cualquier cantidad de directivas de formato y, opcionalmente, usar separadores personalizados entre ellas. El separador puede ser un solo carácter o una cadena:

stat --format="%n,%F" /dev/null
/dev/null,character special file

Para interpretar caracteres especiales como nueva línea o tabulación, use la opción --printf

stat --printf='Name: %n\nPermissions: %a\n' /etc

\n imprime una nueva línea:

Name: /etc
 Permissions: 755

stat también puede mostrar información en forma concisa. Este formato es útil para el análisis de otras utilidades.

Invoque el comando con la -t ( --terse ) para imprimir la salida de forma concisa:

stat -t /etc
/etc 512 0 41ed 0 0 2 562949953701446 1 0 0 1558449784 1573167150 1573167150 0 512

Para obtener una lista completa de todas las directivas de formato para archivos y tipos de sistemas de archivos, use los man stat o stat --help en la terminal.

Conclusión

El stat imprime información sobre ciertos archivos y sistemas de archivos.

En Linux, hay muchos otros comandos que pueden mostrar información sobre ciertos archivos, ls el más utilizado, pero solo muestra parte de la información proporcionada por el comando stat

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.