Veamos cómo usar STAT para obtener todos los datos importantes que necesita para un archivo/sistema de archivos específico.
Por qué el comando stat
A veces, es posible que desee conocer algunos detalles clave sobre cierto archivo/sistema de archivos, por ejemplo, el tamaño del archivo, los permisos de acceso, el número de inodo, el tiempo del último acceso/modificación, etc. De acuerdo, puede consultar muchos detalles sobre un archivo usando LS. Sin embargo, STAT ofrece mucho más en profundidad sobre el archivo de destino/sistema de archivos.
¿Cuándo deberías usar STAT?? Siempre que necesite esa información adicional. Para una comparación rápida, verifiquemos la información del archivo de File1.TXT. Para comprender mejor el resultado, aprenda más sobre el comando LH.
$ LS -LH File1.TXT
Ahora, vamos a ver lo que STAT tiene para ofrecer.
$ Stat File1.TXT
Esa es mucha información! No los necesitas todos en la vida cotidiana, pero en una situación específica, STAT viene de súper útil.
Uso de estadísticas de Linux: ubicación
La mayoría de los comandos de Linux se ejecutan desde el directorio /usr /bin.
$ que estadística
Uso de estadísticas de Linux: control de archivos/información del sistema de archivos
Ya hemos visto esto en acción, ¿verdad?? La estructura de comando va así.
$ estadísticas
Para ver la información en profundidad de un archivo/sistema de archivos, ejecute este comando. En este caso, es mi archivo de confianza1.TXT.
$ Stat File1.TXT
Hay toneladas de información sobre el archivo específico, derecho? Toda la información presentada está etiquetada. Dependiendo de su requisito, elija el importante. Desde mi experiencia, los más utilizados son permisos de archivo, inodeo y UID y/o GID.
Ahora, veremos un ejemplo con un sistema de archivos. En este caso, será el punto de montaje del sistema de archivos. Por ejemplo, este comando mostrará la información del raíz sistema de archivos.
$ stat /
En Linux, (casi) cada cosa es un archivo. Cualquier sistema de archivos es un archivo en sí, por lo que la salida no será diferente.
Uso de estadísticas de Linux: formulario berse
Cuando está ejecutando STAT normalmente, toda la información se imprime en una estructura legible por humanos. Quiero una versión breve y simple de la salida? Agregue el argumento "-t".
$ stat -t /
El formato berse es un formato especial que utiliza una lista predefinida de especificadores de formato de estadística.
Uso de estadísticas de Linux: formato personalizado
Este es otro uso interesante del comando STAT donde puede diseñar la estructura de salida deseada de STAT. Para hacer esta tarea, STAT ofrece una larga lista de especificadores de formatos disponibles.
Así es como se ve el comando.
$ stat -format =
Por ejemplo, el especificador "%A" devuelve los permisos de archivo/sistema de archivos en un formato legible por humanos.
$ stat -format =%a file1.TXT
El especificador "%u" devuelve el propietario del archivo/sistema de archivos.
$ stat -format =%u /
Para obtener el tamaño del archivo, use el formato "%s" especificador.
$ stat -format =%s file1.TXT
Quiero el tipo de archivo? Use "%F".
$ stat -format =%f file1.TXT
Para el número de inodo, use "%i".
$ stat -format =%i file1.TXT
Ahora, combinemos a todos en una sola línea de comando. Se verá así.
$ stat -format = " %a %u %s" /
Hay toneladas de otros especificadores de formato que STAT Support. Todos ellos se enumeran en la página del hombre de las estadísticas.
Ahora, como hemos visto anteriormente el argumento "-t" o "-terse", es un valor predefinido para los siguientes argumentos.
$ stat -format = " %n %s %b %f %u %g %d %i %h %t %t %x %y %z %w %o %c"
En cuanto al argumento "-Terse -File-System", el valor predefinido es el siguiente.
$ stat -format = " %n %i %l %t %s %s %b %f %a %c %d"
Estas salidas son muy útiles si está utilizando STAT en cualquier tipo de script, especialmente en scripts bash. Nuevo en el guión de Bash? Echa un vistazo a la Guía de principiantes para Bash Scripting.
Printf vs formato
El comando STAT es compatible -printf argumento que funciona básicamente de la misma manera que -formato. Sin embargo, la principal diferencia entre ellos es cómo se produce la salida.
Dejemos claro con un ejemplo. Aquí, estoy ejecutando STAT con ambos argumentos con el mismo especificador de formato.
$ stat -format = " %a %u %s".TXT
$ stat --printf = " %a %u %s".TXT
Como podemos ver, el -formato El argumento agrega una nueva línea después de que finaliza la salida. sin embargo, el -printf no. Para asegurarse de que haya una nueva línea después de la salida, debe agregar "\ n" al final de la cadena del especificador de formato.
$ stat --printf = " %a %u %s \ n" archivo1.TXT
Diferenciar entre archivo y enlace
En ciertas situaciones, es posible que realmente esté trabajando con un enlace. Sin embargo, de forma predeterminada, STAT no diferencia entre un enlace y un archivo físico. Hay un argumento dedicado para solucionar este tema. Simplemente pase el argumento "-l".
$ stat -l
Pensamientos finales
La herramienta STAT es bastante sencilla. Todas sus funciones se administran por argumentos y banderas simples. Una vez que sepa cuál usar, puede obtener el mayor beneficio de él.
Para aprender más en profundidad sobre el comando STAT, recomiendo revisar la página del hombre. Contiene todos los especificadores de formato compatibles y algunos argumentos adicionales que puede encontrar interesantes.
$ MAN STAT
Disfrutar!