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.