Descripción general
El comando `stat` muestra la información del inode (metadatos) de un archivo. La opción `-c` permite que esta información se muestre en un formato definido por el usuario, lo que la hace adecuada para extraer solo atributos específicos o para usarla en combinación con otros comandos.
Características principales
- Consulta de metadatos detallados de archivos y sistemas de archivos
- Soporte para formato de salida personalizado a través de la opción `-c`
- Útil para scripts y tareas de automatización
- Acceso a varios atributos de archivo (tamaño, permisos, propietario, tiempo, etc.)
Opciones principales
Estos son los especificadores de formato principales que se utilizan junto con la opción `-c`, que es el núcleo del comando `stat`.
Opciones de formato
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
Estos son ejemplos de cómo usar la opción `stat -c` para mostrar la información del archivo en varios formatos.
Mostrar nombre y tamaño del archivo
stat -c '%n %s' mi_archivo.txt
Muestra el nombre y el tamaño del archivo especificado, separados por un espacio.
Mostrar tipo y permisos del archivo
stat -c '%F %A' mi_script.sh
Muestra el tipo de archivo y los permisos en un formato legible por humanos.
Mostrar propietario, grupo y hora de última modificación
stat -c 'Propietario: %U, Grupo: %G, Modificado: %y' mi_documento.pdf
Muestra el nombre del propietario, el nombre del grupo y la hora de la última modificación del archivo, junto con cadenas de texto específicas.
Verificar el destino de un enlace simbólico
stat -c '%N' mi_enlace_simbolico
En el caso de un enlace simbólico, muestra la ruta del archivo original al que apunta el enlace.
Mostrar nombre y tamaño de todos los archivos/directorios en el directorio actual
stat -c '%n %s' *
Utiliza comodines para mostrar el nombre y el tamaño de todos los elementos en el directorio actual.
Consejos y precauciones
Estos son consejos y puntos a tener en cuenta para utilizar `stat -c` de manera más eficaz.
Uso de comillas
Si la cadena FORMAT contiene espacios o caracteres especiales, debe encerrarse entre comillas simples (') o comillas dobles (") para evitar que el shell las interprete como argumentos separados.
- Comillas simples ('): Útiles para evitar la expansión de variables y pasar la cadena tal cual.
- Comillas dobles ("): Se utilizan para agrupar cadenas mientras se permite la expansión de variables.
Formato de tiempo
Los especificadores relacionados con el tiempo (%x, %y, %z) se muestran por defecto en un formato legible por humanos. Para obtener la marca de tiempo en segundos, utilice `%X`, `%Y`, `%Z`.
Combinación con el comando find
find . -maxdepth 1 -type f -exec stat -c '%n %s' {} \;
Puede utilizarse en combinación con la opción `-exec` del comando `find` para ejecutar `stat -c` en archivos que cumplan ciertas condiciones.
Diferencias entre sistemas operativos
Algunos especificadores de formato pueden comportarse de manera diferente o no ser compatibles según el sistema operativo o la versión de `stat`. Por ejemplo, el especificador `%w` (hora de creación) generalmente no es compatible en Linux y solo está disponible en macOS/BSD.
- Linux: Generalmente utiliza la versión de `stat` incluida en el paquete `coreutils`.
- macOS/BSD: El comportamiento de algunos especificadores de formato (ej: `%w`) puede variar.