Comando Stat, algunos ejemplos básicos en Ubuntu

 

about comando stat

En el siguiente artículo vamos a echar un vistazo a algunos ejemplos básicos del comando stat. Este comando para Gnu/Linux, es una herramienta de línea de comandos que se utiliza para mostrar información detallada sobre un archivo o sistema de archivos. El comando stat es parte de las GNU Core Utilities, que son herramientas que vienen preinstaladas en prácticamente todos los sistemas UNIX y Gnu/Linux.

Algunos usuarios piensan en el comando stat como una versión mejorada del comando ls -l. Mientras que el indicador -l proporciona más detalles sobre los archivos, como la propiedad y los permisos de los archivos, el comando stat profundiza y proporciona una mayor cantidad de información.

Comando stat

La sintaxis del comando stat de Gnu/Linux es la siguiente:

stat [OPCIONES] NOMBRE DEL ARCHIVO

Comando stat sin argumentos

Si no utilizamos ninguna opción, el comando stat muestra la salida predeterminada. Si quisiésemos ver los detalles de un archivo situado en el directorio actual, solo tendríamos que ejecutar en una terminal (Ctrl+Alt+T):

comando stat sin argumentos

stat archivo1.txt

Cuando se invoca sin ninguna opción, stat muestra la siguiente información del archivo:

  • Fichero: el nombre del archivo.
  • Tamaño: el tamaño del archivo en bytes.
  • Bloques: la cantidad de bloques asignados que toma el archivo.
  • Bloque E/S: el tamaño en bytes de cada bloque.
  • Tipo de archivo: archivo regular, directorio, enlace simbólico …
  • Dispositivo: número de dispositivo en hexadecimal y decimal.
  • Inode: número de inode.
  • Enlaces: número de enlaces físicos.
  • Acceso: permisos de archivo en los métodos numérico y simbólico.
  • Uid: ID de usuario y nombre del propietario.
  • Gid: ID de grupo y nombre del propietario.
  • Acceso: la última vez que se accedió al archivo.
  • Modificación: la última vez que se modificó el contenido del archivo.
  • Cambio: la última vez que se modificó el atributo o el contenido del archivo.

Ver información sobre varios archivos

También podremos ver un informe detallado sobre varios archivos:

comando stat de varios archivos

stat archivo1.txt archivo2.pdf

Mostrar el estado del sistema de archivos

Esta herramienta puede verificar el estado del sistema de archivos donde se encuentra el archivo usando la opción -f. Esto va a mostrar el tamaño del bloque, la memoria total y disponible, por mencionar solo algunos atributos:

stat carpeta

stat -f /home

Mostrar información en formato básico

La opción -t se usa para mostrar información en un formato básico:

formato básico comando stat

stat -t archivo1.txt

Habilitar el seguimiento de enlaces simbólicos

Por lo general, si ejecutamos el comando stat contra un enlace simbólico, solo ofrecerá información sobre el enlace y no sobre el archivo al que apunta el enlace:

comando stat enlace simbólico

Para obtener información sobre el archivo al que apuntan los enlaces, tendremos que usar la opción -L, también conocida como opción de eliminación de referencias:

comando stat enlace simbólico archivo

stat -L archivo1.txt

Esto va a mostrar información sobre el archivo y no sobre el enlace.

Secuencia de formato

Hasta ahora hemos visto que el comando stat imprime un montón de información en la terminal. Si te interesa una información específica, se puede personalizar la salida utilizando una secuencia de formato, que nos ofrecerá exactamente lo que necesitamos, omitiendo los otros detalles. Las expresiones más populares que se utilizan para personalizar la salida incluyen la opción –format o –printf.

Para mostrar los derechos de acceso y uid (ID de usuario) utilizaremos las secuencias de formato %a y %u.

mostrar derechos de acceso

stat --printf='%a:%u\n' archivo1.txt

En caso de querer ver el inodo y los derechos de acceso, también podemos utilizar la opción –format:

ver solo el inodo y los derechos de acceso al archivo

stat --format='%i:%a' archivo1.txt

Secuencias de formato

Algunas de las secuencias de formatos que podemos utilizar son:

secuencias de formato a A

%a → Va a mostrar los derechos de acceso en formato octal.
%A → Muestra los derechos de acceso en un formato legible por humanos.

secuencia de formato b B

%b → Imprime el número de bloques asignados.
%B → El tamaño en bytes de cada bloque informado por %b.

secuencia de formato d D

%d → Muestra el número de dispositivo en formato decimal.
%D → El número de dispositivo en formato hexadecimal.

secuencia de formato g G

%g → Imprime el ID de grupo del propietario.
%G → Muestra el nombre del grupo del propietario.

secuencia de formato n N

%n → Muestra el nombre del archivo.
%N → Escribe el nombre del archivo entre comillas sin referencia si es un enlace simbólico.

secuencias de formato u U

%u → Muestra el ID de usuario del propietario.
%U → Imprime el nombre de usuario del propietario.

secuencias de formato w W

%w → Revela la hora de nacimiento del archivo, legible por humanos. Escribe – si se desconoce.
%W → Imprime la hora de nacimiento del archivo, en segundos desde Epoch. Escribe 0 si se desconoce.

secuencias de formato x X

%x → Va a imprimir la hora del último acceso, legible por humanos.
%X → La hora del último acceso, en segundos desde Epoch.

secuencias y Y

%y → Muestra la hora de la última modificación, legible por humanos.
%Y → Imprime el tiempo desde la última modificación, en segundos desde Epoch.

secuencias de formato z Z

%z → Este es el momento del último cambio, legible por humanos.
%Z → La hora desde el último cambio, en segundos desde Epoch.

Obtener ayuda

Para obtener más opciones del comando, solo habrá que ejecutar el siguiente comando:

stat help

stat --help

También se pueden consultar las páginas man.


El contenido del artículo se adhiere a nuestros principios de ética editorial. Para notificar un error pincha aquí.

Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada.

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.