Inicio > Gestión de archivos y directorios > stat

stat: Muestra la información del archivo en un formato personalizado

El comando `stat` muestra información detallada sobre el estado de un archivo o sistema de archivos. En particular, el uso de la opción `-c` (o `--format`) permite extraer el tamaño del archivo, permisos, propietario, información de tiempo, etc., en un formato especificado por el usuario, lo que lo hace muy útil para escribir scripts o informes.

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.


Comandos de la misma categoría