Androide

Comando stat en linux

Blocos, Superblocos e Inodes - Noções Básicas e comandos stat e dumpe2fs - Linux

Blocos, Superblocos e Inodes - Noções Básicas e comandos stat e dumpe2fs - Linux

Tabla de contenido:

Anonim

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

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

Usando el comando stat

La sintaxis para el comando stat es la siguiente:

stat… FILE…

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

Echemos un vistazo al siguiente ejemplo:

stat file.txt

La salida se verá más o menos 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 toma el archivo. Bloque IIO - El tamaño en bytes de cada bloque. Tipo de archivo - (ej. Archivo regular, directorio, enlace simbólico…) Dispositivo: número de dispositivo en hexadecimal y decimal.Inodo: número de modo. Enlaces: número de enlaces duros. Acceso: permisos de archivo en los métodos numéricos y simbólicos. Uid: ID de usuario y nombre del propietario. Gid: grupo ID 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. Cambio: la última vez que se cambió el atributo o contenido del archivo. Nacimiento: Tiempo de creación de archivos (no compatible con Linux).

Visualización de 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 la opción -f , ( --file-system ):

stat -f file.txt

El resultado 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 se invoca stat con la opción -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.
    • Total: número de bloques totales 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 de inodos totales en el sistema de archivos. Libre: número de inodos libres en el sistema de archivos.

Desreferenciar (seguir) enlaces simbólicos

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/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, use la opción -L , (- --dereference ):

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

Personalizando la salida

El comando stat 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, el --format agrega automáticamente una nueva línea después de la salida de cada operando. --printf interpreta los 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 que usaría:

stat --format="%F" /dev/null

character special file

Puede combinar cualquier cantidad de directivas de formato y, opcionalmente, utilizar 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

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 la opción -t ( --terse ) para imprimir la salida en 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 sistemas de archivos, escriba man stat o stat --help en su terminal.

Conclusión

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

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

terminal de estadísticas