Inicio > Gestión de archivos y directorios > stat

Guía del comando stat: Ver información detallada de archivos/directorios

El comando `stat` se utiliza en sistemas operativos Linux y Unix para mostrar información detallada sobre el estado de archivos o directorios. Esta información incluye el tamaño del archivo, propietario, grupo, permisos de acceso, tiempos de acceso/modificación recientes, número de inode, entre otros. Es útil para verificar los metadatos del sistema de archivos y diagnosticar problemas. A través de esta guía, aprenderás diversas formas de uso del comando `stat` y cómo interpretar sus resultados.

Descripción general de stat

El comando `stat` muestra metadatos que el sistema de archivos guarda para gestionar el objeto, en lugar del contenido del archivo o directorio en sí. Proporciona información mucho más detallada que `ls -l`, como el momento de creación del archivo, la última modificación, y la cantidad de accesos, lo que es útil para analizar el historial de cambios o patrones de acceso de los archivos.

Funciones principales de stat

El comando `stat` se utiliza principalmente para los siguientes propósitos:

Principales áreas de aplicación

  • **Verificación de atributos de archivo**: Verifica con precisión la propiedad, permisos, tamaño, etc., del archivo.
  • **Análisis de timestamps**: Rastrea el historial de cambios de archivos al verificar diversos tiempos, como creación, última modificación y último acceso.
  • **Información sobre enlaces simbólicos**: Verifica tanto la ruta del archivo al que apunta el enlace simbólico como la información del propio enlace.
  • **Depuración del sistema de archivos**: Diagnostica problemas del sistema de archivos a través del uso del espacio en disco, asignación de bloques, información de inode, etc.

Comprensión de la información de salida de stat

La salida del comando `stat` se compone de varios elementos. Es importante entender el significado de cada uno.

Elementos de salida principales

  • File: El nombre del archivo o directorio objetivo.
  • Size: El tamaño del archivo (en bytes). Para directorios, generalmente se muestra como 4096 bytes.
  • Blocks: El número de bloques de 512 bytes que ocupa el archivo en el disco.
  • IO Block: El tamaño de bloque eficiente para llevar a cabo operaciones de I/O en el archivo.
  • Type: Indica el tipo de archivo. Ej: archivo regular, directorio, enlace simbólico, etc.
  • Device: El ID del dispositivo donde se encuentra el archivo (mayor:menor).
  • Inode: El número inode, un identificador único del archivo dentro del sistema de archivos. Los enlaces duros comparten el mismo inode.
  • Links: El número de enlaces duros al archivo.
  • Access: Los permisos del archivo (en formato octal y rwx).
  • Uid / Gid: El propietario (User ID) y grupo (Group ID) del archivo, junto con sus nombres.
  • Access / Modify / Change: `Access`: Último tiempo de acceso (atime), `Modify`: Último tiempo de modificación (mtime), `Change`: Último tiempo de cambio (ctime). 'Birth' es el tiempo de creación (crtime) y puede no ser soportado en todos los sistemas de archivos.

Opciones principales del comando stat

El comando `stat` ofrece varias opciones útiles para especificar el formato de salida o cambiar la forma en que se manejan los enlaces simbólicos.

1. Opciones de salida básica

2. Opciones para manejar enlaces simbólicos

3. Opciones para especificar el formato de salida

Comando generado:

Combina los comandos.

Descripción:

`stat` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de uso

Aprende a verificar y analizar las propiedades detalladas de archivos/directorios a través de diversos ejemplos de uso del comando `stat`.

Ver toda la información de un solo archivo

stat config.ini

Muestra todos los detalles, como tamaño, permisos, propietario, timestamps, etc., del archivo `config.ini`.

Ver información del enlace simbólico en sí

stat -P mylink.sh

Cuando `mylink.sh` es un enlace simbólico que apunta a `actual_script.sh`, muestra la información de `mylink.sh` en sí. (Tamaño del archivo de enlace, propietario, etc.)

Ver información del archivo original al que apunta el enlace simbólico

stat -L mylink.sh

Cuando `mylink.sh` es un enlace simbólico que apunta a `actual_script.sh`, muestra la información del archivo `actual_script.sh`.

Mostrar solo información específica en formato personalizado

stat -c '%n %s %y' my_document.txt

Muestra solo el nombre, tamaño (en bytes) y el último tiempo de modificación (YYYY-MM-DD HH:MM:SS) del archivo `my_document.txt`.

Ver información del sistema de archivos al que pertenece el archivo

stat --file-system /var/log

Verifica el tipo, tamaño de bloque, punto de montaje, etc., del sistema de archivos donde se encuentra el directorio `/var/log`.

Verificación de timestamps de Unix (mtime) de un archivo

stat -c '%Y' important_data.csv

Útil para obtener el tiempo de modificación de un archivo como timestamp de Unix (segundos) y utilizarlo en cálculos dentro de un script.


Comandos de la misma categoría