La mayoría de la gente usa el comando ls con la opción -l para verificar el permiso en un archivo en Linux, ¿Qué pasaría si te dijera que hay una mejor manera de verificar los atributos de los archivos?
Es un comando simple pero útil llamado stat.
Sintaxis del comando stat en linux
El comando stat enumera atributos importantes de archivos y directorios, y también puede mostrar información sobre el sistema de archivos, en lugar de los archivos.
El comando stat tiene una sintaxis simple:
stat [opciones] archivos
Solo existen unas pocas opciones para el comando stat:
- -f: muestra la información del sistema de archivos en lugar del archivo
- -L: Seguir enlaces simbólicos y mostrar información sobre el archivo al que apuntan
- -t: modo conciso, imprime la información en una sola línea
¿Cómo usar el comando stat para obtener información de un archivo?
Aquí tienes una salida de muestra si usas el comando stat sin ninguna opción:
stat ejemplo.txt
Déjame explicarte lo que te mostrará la salida:
- Archivo: Nombre del archivo.
- Tamaño: Tamaño de los archivos en bytes.
- Bloques: número de bloques del sistema de archivos que necesita el archivo en el disco.
- Bloque IO: tamaño de un bloque del sistema de archivos. Suele ser de 4 KB.
- Tipo de archivo: podría ser archivo, directorio, enlace, sockets.
- Dispositivo: El número de dispositivo (ID del disco duro) en hexadecimal y decimal.
- Inodo: el número de inodo.
- Enlaces: Número de enlaces duros al archivo.
- Acceso: Permisos de archivo en modo absoluto y modo simbólico.
- Uid: ID de usuario y el nombre de usuario del propietario del archivo
- Gid: ID de grupo y nombre de grupo del propietario del archivo.
- Acceso: este acceso se trata de la marca de tiempo de acceso (última vez que se accedió al archivo), también llamado atime.
- Modificar: la marca de tiempo de modificación (última vez que se modificó el archivo), también llamada mtime.
- Cambio: la marca de tiempo del cambio (última vez que se llamó al archivo), también llamada ctime.
- Nacimiento: Fecha de creación original del archivo. Esto no se usa en Linux.
Si usas el modo conciso con la opción -t verá prácticamente la misma información (algunas órdenes pueden ser diferentes) en una sola línea pero sin ninguna descripción de qué campo es qué.
¿Cómo obtener información del sistema de archivos con el comando stat?
Puedes usar la opción -f para mostrar información del sistema de archivos en lugar del archivo en sí.
rosepac@ciberninjas:$ stat -f ejemplo.txt
La salida te ofrecerá los siguientes parámetros:
- Archivo: Nombre del archivo.
- ID: ID del sistema de archivos en hexadecimal.
- Namelen: longitud máxima de los nombres de archivo.
- Tipo: tipo de sistema de archivos.
- Tamaño de bloque: la cantidad de datos para solicitar solicitudes de lectura para tasas de transferencia de datos óptimas.
- Tamaño de bloque fundamental: tamaño de un bloque en el sistema de archivos
- Bloques totales, bloques libres y bloques disponibles (para usuarios no root)
- Número de inodos totales e inodos libres
¿Cómo usar el comando stat con múltiples archivos?
Puedes ejecutar el comando stat con varios archivos. Puedes proporcionar sus nombres individualmente de esta manera:
stat archivo1.txt archivo2.txt
E incluso puedes utilizar un patrón de nombre de archivos:
stat *.txt
Espero que te haya gustado este pequeño y útil comando, sigue atento para obtener más información sobre los comandos de Linux.