GNU/Linux >> Tutoriales Linux >  >> Linux

Comando Stat en Linux

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

Este artículo explica cómo usar stat comando.

Usando el stat Comando #

La sintaxis para stat El comando es el siguiente:

stat [OPTION]... FILE...

stat acepta una o más entradas FILE nombres e incluye una serie de opciones que controlan el comportamiento y la salida del comando.

Echemos un vistazo al siguiente ejemplo:

stat file.txt

La salida se verá así:

  File: file.txt
  Size: 4030      	Blocks: 8          IO Block: 4096   regular file
Device: 801h/2049d	Inode: 13633379    Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/   linuxize)   Gid: ( 1000/   linuxize)
Access: 2019-11-06 09:52:17.991979701 +0100
Modify: 2019-11-06 09:52:17.971979713 +0100
Change: 2019-11-06 09:52:17.971979713 +0100
 Birth: -

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

  • Archivo:el nombre del archivo.
  • Tamaño:el tamaño del archivo en bytes.
  • Bloques:el número de bloques asignados que ocupa el archivo.
  • Bloque IO:el tamaño en bytes de cada bloque.
  • Tipo de archivo:(p. ej., archivo normal, directorio, enlace simbólico).
  • Dispositivo:número de dispositivo en hexadecimal y decimal.
  • Inodo:número de inodo.
  • Enlaces - Número de enlaces duros.
  • Acceso - Permisos de archivos en los 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.
  • Modificar:la última vez que se modificó el contenido del archivo.
  • Cambiar:la última vez que se cambió el atributo o el contenido del archivo.
  • Nacimiento:hora de creación del archivo (no compatible con Linux).

Mostrar información sobre el sistema de archivos #

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

stat -f file.txt

La salida del comando se verá así:

  File: "package.json"
    ID: 8eb53097b4494d20 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 61271111   Free: 25395668   Available: 22265851
Inodes: Total: 15630336   Free: 13979610

Cuando stat se invoca con -f opción, 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.
  • Bloques:
    • Total:número de bloques totales en el sistema de archivos.
    • Libre:número de bloques libres en el sistema de archivos.
    • Disponible:número de bloques gratuitos disponibles para usuarios no root.
  • Inodos:
    • Total:número de inodos totales en el sistema de archivos.
    • Libre:número de inodos libres en el sistema de archivos.

Por defecto, stat no sigue los 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/systemd/resolve/stub-resolv.conf
  Size: 39        	Blocks: 0          IO Block: 4096   symbolic link
Device: 801h/2049d	Inode: 8126659     Links: 1
Access: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-11-06 21:12:26.875956073 +0100
Modify: 2018-07-24 11:11:48.128794519 +0200
Change: 2018-07-24 11:11:48.128794519 +0200
 Birth: -

Para desreferenciar (seguir) el enlace simbólico y mostrar información sobre el archivo al que apunta el enlace simbólico, utilice -L , (--dereference ) opción:

stat -L /etc/resolv.conf
  File: /etc/resolv.conf
  Size: 715       	Blocks: 8          IO Block: 4096   regular file
Device: 17h/23d	Inode: 989         Links: 1
Access: (0644/-rw-r--r--)  Uid: (  101/systemd-resolve)   Gid: (  103/systemd-resolve)
Access: 2019-11-06 20:35:25.603689619 +0100
Modify: 2019-11-06 20:35:25.555689733 +0100
Change: 2019-11-06 20:35:25.555689733 +0100
 Birth: -

Personalizar la Salida #

La stat El comando tiene dos opciones que le permiten personalizar la salida según sus necesidades:-c , (--format="format" ) y --printf="format" .

La diferencia entre estas dos opciones es que cuando se usan dos o más archivos como operantes --format agrega automáticamente una nueva línea después de la salida de cada operando. El --printf interpreta escapes de barra invertida.

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

Por ejemplo, para ver solo el tipo de archivo, ejecutaría:

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 --printf opción:

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

\n imprime una nueva línea:

Name: /etc
Permissions: 755

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

Invoque el comando con -t (--terse ) opción para imprimir la salida en la forma concisa:

stat -t /etc
/etc 12288 24 41ed 0 0 801 8126465 147 0 0 1573068933 1573068927 1573068927 0 4096

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

Conclusión #

La stat El comando imprime información sobre archivos y sistemas de archivos dados.

En Linux, varios otros comandos pueden mostrar información sobre archivos dados, con ls siendo el más utilizado, pero muestra solo una parte de la información proporcionada por el stat comando.

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.


Linux
  1. Verifique el estado del archivo en Linux con el comando stat

  2. Comando wc de linux

  3. Comando grep de Linux

  4. Ejemplos de comandos ln en Linux

  5. Ejemplos de comandos de archivo en Linux

Comando Gzip en Linux

Comando Desvincular en Linux (Eliminar archivo)

Comando Gunzip en Linux

Explicación del comando Stat de Linux

Ejemplos de comandos Stat de Linux

Comando truncado en Linux