Uso del comando stat en linux

Uso del comando stat en linux.

El comando stat, es un comando simple que podíamos definir como una versión mejorada de la herramienta «ls -l«. Con «ls», el indicador «-l» nos ofrece más detalles de los archivos, como el propietario y los permisos, pero el comando stat profundiza aún más en ellos, imprimiendo en la consola una gran cantidad de información sobre el archivo requerido.

A diferencia de «ls», la herramienta en consola stat no tiene tantas opciones. Sin embargo lo que hace, lo hace muy bien, incluyendo datos del archivo que realmente te sorprenderán. Stat viene por defecto en cualquier distribución linux que se precie, por tanto no tendrás ningún problema con ella. En este artículo vemos algunos ejemplos de uso.

Uso del comando stat

Uso del comando stat

 

Uso del comando stat en linux

En su sintaxis más simple, sin ningún parámetro adicional, el comando stat muestra la salida predeterminada. Esto incluye mucha y valiosa información, como el tamaño y el patrón de archivo, también el tipo de dispositivo, el número de inodo, UID, GID, y también el número de enlaces además de las fechas de acceso y modificación del archivo.

Para crear el artículo, nosotros tomamos como ejemplo un script bash conocido por todos los seguidores de sololinux, dada su gran utilidad a la hora de limpiar servidores linux, es evidente que hablamos de «libera.sh».

stat libera.sh

Observa la información aportada en el siguiente ejemplo…

sergio@sololinux:~$ stat libera.sh
  Fichero: libera.sh
  Tamaño: 1986      	Bloques: 8          Bloque E/S: 4096   fichero regular
Dispositivo: 802h/2050d	Nodo-i: 4984706     Enlaces: 1
Acceso: (0644/-rw-r--r--)  Uid: ( 1000/  sergio)   Gid: ( 1000/  sergio)
Acceso: 2020-12-07 17:35:23.682788999 +0200
Modificación: 2020-12-07 15:35:56.184869372 +0200
      Cambio: 2020-12-07 15:35:56.184869372 +0200
    Creación: -

Con el comando stat, también es posible identificar dos archivos o más.

stat libera.sh libera1.sh

Veremos una salida similar a…

sergio@sololinux:~$ stat libera.sh libera1.sh
  Fichero: libera.sh
  Tamaño: 1986      	Bloques: 8          Bloque E/S: 4096   fichero regular
Dispositivo: 802h/2050d	Nodo-i: 4984706     Enlaces: 1
Acceso: (0644/-rw-r--r--)  Uid: ( 1000/  sergio)   Gid: ( 1000/  sergio)
Acceso: 2020-12-07 17:35:23.682788999 +0200
Modificación: 2020-12-07 15:35:56.184869372 +0200
      Cambio: 2020-12-07 15:35:56.184869372 +0200
    Creación: -
  Fichero: libera1.sh
  Tamaño: 5840      	Bloques: 16         Bloque E/S: 4096   fichero regular
Dispositivo: 802h/2050d	Nodo-i: 4989994     Enlaces: 1
Acceso: (0644/-rw-r--r--)  Uid: ( 1000/  sergio)   Gid: ( 1000/  sergio)
Acceso: 2020-12-07 17:35:43.247842441 +0200
Modificación: 2020-12-07 17:38:22.044392534 +0200
      Cambio: 2020-12-07 17:55:56.909189646 +0200
    Creación: -

La información aportada nos indica estos datos:

  • Fichero : Nombre del archivo.
  • Tamaño : Tamaño del archivo en bytes.
  • Bloques : Número de bloques asignados al archivo.
  • Bloque E/S (IO) : Bytes de cada bloque.
  • Dispositivo : Número de dispositivo en formato hexadecimal o decimal.
  • Inode : Inodo del archivo.
  • Enlaces : Enlaces físicos asociados al archivo.
  • Acceso : Indica los permisos del archivo en formato simbólico o numérico.
  • Uid : ID del usuario y nombre del propietario.
  • Gid : ID del grupo y nombre del propietario.
  • Acceso : Nos muestra la última vez que se accedió al archivo.
  • Modificación: Última vez que se modificó el contenido del archivo.
  • Cambio : Última vez que los metadatos de un archivo se modificaron, por ejemplo, los permisos y propiedad.

 

Si te parece un poco apabullante tanto texto, puedes concentrarlo todo aplicando la opción «-t».

stat -t libera.sh

Vemos una imagen de ejemplo…

Comando stat con la opcion t

Comando stat con la opción -t

 

También podemos visualizar el estado de un directorio, por ejemplo de nuestra carpeta /home. Comando stat.

stat -f /home

Nos aparece lo siguiente….

sergio@sololinux:~$ stat -f /home
  Fichero: "/home"
    ID: 3f5dcdd55de413a9 Longnombre: 255     Tipo: ext2/ext3
Tam. bloque: 4096       Tam. bloque fundamental: 4096
Bloques: Total: 30507684   Libres: 20668236   Disponibles: 19107776
Nodos-i: Total: 7782400    Libres: 7335692

 

Con «–help», visualizamos la ayuda del comando stat.

stat --help
sergio@sololinux:~$ stat --help
Modo de empleo: stat [OPCIÓN]... FICHERO...
Muestra el estado del fichero o del sistema de ficheros.

Los argumentos obligatorios para las opciones largas son también obligatorios
para las opciones cortas.
  -L, --dereference     sigue los enlaces
  -f, --file-system     muestra el estado del sistema de ficheros en lugar del
                        estado del fichero
  -c  --format=FORMATO  usa el FORMATO especificado en vez del predeterminado;
                         muestra una nueva línea después de cada uso del FORMATO
      --printf=FORMATO  como --format, pero interpreta las secuencias de escape,
                          y no muestra un carácter de nueva línea final
                          obligatoriamente; si quiere un carácter de nueva
                          línea, incluya \n en el FORMATO
  -t, --terse           muestra la información de manera escueta
      --help     muestra esta ayuda y finaliza
      --version  informa de la versión y finaliza

The valid format sequences for files (without --file-system):

  %a   access rights in octal (note '#' and '0' printf flags)
  %A   access rights in human readable form
  %b   number of blocks allocated (see %B)
  %B   the size in bytes of each block reported by %b
  %C   SELinux security context string
  %d   número de dispositivo en decimal
  %D   número de dispositivo en hexadecimal
  %f   modo en hexadecimal
  %F   tipo de fichero
  %g   ID del grupo del propietario
  %G   nombre de grupo del propietario
  %h   número de enlaces duros
  %i   número de nodo-i
  %m   punto de montaje
  %n   nombre del fichero
  %N   nombre de fichero entrecomillado desreferenciado si era un enlace
         simbólico
  %o   indicación del tamaño óptimo de bloque de E/S
  %s   tamaño total, en bytes
  %t   tipo de dispositivo principal en hexadecimal, para ficheros especiales
         de caracteres o dispositivos de bloques
  %T   tipo de dispositivo secundario en hexadecimal, para ficheros especiales
         de caracteres o dispositivos de bloques
  %u   ID de usuario del propietario
  %U   nombre de usuario del propietario 
  %w   fecha de creación del fichero, formato legible, - si es desconocido
  %W   fecha de creación, segundos desde la Época, 0 si es desconocido
  %x   fecha de último acceso, formato legible
  %X   fecha de último acceso, segundos desde la Época
  %y   fecha de última modificación en los datos, formato legible
  %Y   fecha de última modificación en los datos, segundos desde la Época
  %z   fecha de último cambio en el estado, formato legible
  %Z   fecha de último cambio en el estado, segundos desde la Época

Formatos válidos para sistemas de ficheros:

  %a   bloques libres disponibles para el no superusuario
  %b   total de bloques de datos en el sistema de ficheros
  %c   total de nodos de ficheros en el sistema de ficheros
  %d   nodos de ficheros libres en el sistema de ficheros
  %f   bloques libres en el sistema de ficheros
  %i   id del sistema de ficheros en hexadecimal
  %l   longitud máxima de los nombres de ficheros
  %n   nombre del fichero
  %s   tamaño de bloque de transferencia óptima
  %S   tamaño de bloque fundamental (para contar bloques)
  %t   tipo en hexadecimal
  %T   tipo de forma legible

NOTA: su shell puede tener su propia versión de stat, que usualmente
tiene prioridad sobre la versión que se describe aquí. Por favor acuda
a la documentación de su shell para saber los detalles sobre las
opciones que admite.

ayuda en línea sobre GNU coreutils: <http://www.gnu.org/software/coreutils/>
Informe de errores de traducción en stat a <http://translationproject.org/team/es.html>
Full documentation at: <http://www.gnu.org/software/coreutils/stat>
or available locally via: info '(coreutils) stat invocation'

 

Como puedes verificar, la opción help del comando stat nos ofrece una valiosa información sobre la herramienta. Nosotros concluimos la presentación de este comando, identificando la versión instalada en nuestro sistema.

stat --version

Imagen de ejemplo, con la versión instalada en nuestro linux.

Version instalada del comando stat

Versión instalada del comando stat

 

Canales de Telegram: Canal SoloLinux – Canal SoloWordpress

Espero que este artículo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales. Uso del comando stat en linux.

Chat de SoloLinux en Telegram

 

Agregar comentario

1 logo sololinux

Suscríbete a SoloLinux

Recibe todos los nuevos artículos es tu correo electrónico

You have Successfully Subscribed!

Ir al contenido