GNU/Linux >> Tutoriales Linux >  >> Linux

Comandos de Linux:du y las opciones que deberías usar

El du El comando es un comando estándar de Linux/Unix que permite al usuario obtener información sobre el uso del disco rápidamente. Se aplica mejor a directorios específicos y permite muchas variaciones para personalizar la salida para satisfacer sus necesidades.

Como con la mayoría de los comandos, el usuario puede aprovechar muchas opciones o indicadores. Además, como muchos comandos de Linux, la mayoría de los usuarios solo usan las mismas dos o tres banderas para satisfacer sus necesidades específicas. El objetivo aquí es presentar las banderas básicas que usa la gente, pero también ver algunas que son menos comunes con la esperanza de mejorar nuestro uso de du . Primero veamos el comando independiente y luego agreguemos varias opciones.

[tcarrigan@rhel article_submissions]$ du /home/tcarrigan/article_submissions/
12    /home/tcarrigan/article_submissions/my_articles
36    /home/tcarrigan/article_submissions/community_content
48    /home/tcarrigan/article_submissions/

Puede ver que hay tres líneas de salida dadas por el comando básico. Los valores en el extremo izquierdo son el uso del disco, seguido del directorio específico responsable de ese uso. La fila inferior es un resumen de todo el /home/tcarrigan/article_submissions directorio. No hay indicación de qué unidad de medida se está utilizando con el comando estándar, lo que hace que esta salida sea menos que útil. Aquí es donde las opciones se vuelven necesarias.

[ ¿Quiere aprender más sobre Linux? Curso en línea gratuito:Descripción general técnica de Red Hat Enterprise Linux. ]

-h , --legible por humanos

El -h flag imprime salidas de tamaño, como las anteriores, en un formato legible por humanos. Este formato proporciona una unidad de medida (Bytes). Si ahora ejecutamos du -h comando en el mismo directorio, vemos que los valores 12, 36 y 48 están en KB.

[tcarrigan@rhel article_submissions]$ du -h /home/tcarrigan/article_submissions/
12K    /home/tcarrigan/article_submissions/my_articles
36K    /home/tcarrigan/article_submissions/community_content
48K    /home/tcarrigan/article_submissions/

-s, --resumir

El -s la bandera se agrega a -h bandera en alguna ocasión. Con sus poderes combinados, no se convierten en un semidiós ecológico. En su lugar, nos permiten obtener un resumen del uso del directorio en un formato legible por humanos.

[tcarrigan@rhel article_submissions]$ du -sh /home/tcarrigan/article_submissions/
48K    /home/tcarrigan/article_submissions/

Si esa salida te parece familiar, es porque es una copia exacta de la última línea del -h salida.

-a, --todo

Esta útil opción hace exactamente lo que usted pensaría. Enumera los tamaños de todos los archivos y directorios en la ruta de archivo dada. El -a La opción a menudo se combina con -h bandera para facilitar su uso. Observe que los tamaños de archivo individuales se enumeran con los directorios.

[tcarrigan@rhel article_submissions]$ du -ah /home/tcarrigan/article_submissions/
8.0K    /home/tcarrigan/article_submissions/my_articles/Creating_physical_volumes
4.0K    /home/tcarrigan/article_submissions/my_articles/Creating_volume_groups
12K     /home/tcarrigan/article_submissions/my_articles
4.0K    /home/tcarrigan/article_submissions/community_content/article
4.0K    /home/tcarrigan/article_submissions/community_content/article2
4.0K    /home/tcarrigan/article_submissions/community_content/article3
4.0K    /home/tcarrigan/article_submissions/community_content/article4
12K     /home/tcarrigan/article_submissions/community_content/real_sysadmins
8.0K    /home/tcarrigan/article_submissions/community_content/podman_pulling
36K     /home/tcarrigan/article_submissions/community_content
48K     /home/tcarrigan/article_submissions/

--tiempo

Me encanta especialmente esta bandera. Muestra la hora de la última modificación de cualquier archivo en el directorio o subdirectorio en el que lo ejecuta. Esta bandera fue increíblemente útil para mí como administrador de almacenamiento. En más de una ocasión, tenía un cliente que escribía archivos en un subdirectorio por accidente, y luego necesitábamos encontrar dónde tuvo lugar la escritura. Podría usar esta bandera junto con -ah banderas para encontrar el directorio modificado por última vez.

[tcarrigan@rhel article_submissions]$ du -ah --time /home/tcarrigan/article_submissions/
8.0K    2020-04-07 11:30    /home/tcarrigan/article_submissions/my_articles/Creating_physical_volumes
4.0K    2020-04-07 11:31    /home/tcarrigan/article_submissions/my_articles/Creating_volume_groups
12K     2020-04-07 11:31    /home/tcarrigan/article_submissions/my_articles
4.0K    2020-02-06 16:47    /home/tcarrigan/article_submissions/community_content/article
4.0K    2020-02-06 16:48    /home/tcarrigan/article_submissions/community_content/article2
4.0K    2020-02-06 16:48    /home/tcarrigan/article_submissions/community_content/article3
4.0K    2020-02-06 16:48    /home/tcarrigan/article_submissions/community_content/article4
12K     2020-04-07 11:32    /home/tcarrigan/article_submissions/community_content/real_sysadmins
8.0K    2020-04-07 11:32    /home/tcarrigan/article_submissions/community_content/podman_pulling
36K     2020-04-07 11:32    /home/tcarrigan/article_submissions/community_content
48K     2020-04-07 11:32    /home/tcarrigan/article_submissions/

Nota:Esto no se ordena por última modificación, por lo que aún debe prestar atención a los tiempos. La última modificación no siempre está en la parte superior

-c, --total

Esta opción es más una verificación ficticia que útil, sin embargo, a algunas personas realmente les gusta tener una salida de medición total. El -c marca agrega una línea en la parte inferior de la salida que le brinda un total general de todo el uso del disco para la ruta de archivo dada.

[tcarrigan@rhel article_submissions]$ du -ch /home/tcarrigan/article_submissions/
12K    /home/tcarrigan/article_submissions/my_articles
36K    /home/tcarrigan/article_submissions/community_content
48K    /home/tcarrigan/article_submissions/
48K    total

Observe el resultado final aquí. Se muestra la misma información que se muestra en los otros ejemplos de du pero sin el banner 'total' para recordártelo.

-X, --exclude=Patrón

El -X La opción es un pequeño truco ingenioso que puede hacer si sabe que su entorno tiene una gran cantidad de cierto tipo de archivo que no desea calcular en sus resultados. En mi experiencia, ciertos clientes tenían grandes cantidades de archivos de metadatos con la misma extensión de archivo y no deseaban incluirlos en sus hallazgos. No puedo demostrar esto aquí en mi máquina virtual; sin embargo, aquí está la sintaxis y un ejemplo.

[tcarrigan@rhel]$ du -ah --exclude="*.dll" /home/tcarrigan/article_submissions

Este comando mostraría una lista de todos los archivos y la información de uso del directorio en un formato legible y excluiría cualquier archivo con la extensión .dll . Esto es un poco nicho, sin embargo, tiene un lugar en el mundo.

Resumen y página man

Con suerte, ahora comprende mejor lo útil que es el du la utilidad puede ser. Es fácil entrar en la rutina de ejecutar solo du -h y olvidarte de todas las otras banderas increíblemente poderosas que tienes a tu disposición. Hay muchas banderas que no cubrí en este artículo, pero puede encontrar toda la información en la página del manual para este comando. Para acceder a la página de manual, simplemente ejecute man du .

[ ¿Quiere poner a prueba sus habilidades de administrador de sistemas? Tome una evaluación de habilidades hoy. ]


Linux
  1. Linux:¿Diferencia entre /dev/console, /dev/tty y /dev/tty0?

  2. ¿La diferencia entre /opt y /usr/local?

  3. Debian – ¿Mover /var, /home a una partición separada?

  4. Instalar binarios en /bin, /sbin, /usr/bin y /usr/sbin, interacciones con --prefix y DESTDIR

  5. ¿Cuándo debo usar /dev/shm/ y cuándo debo usar /tmp/?

Linux – ¿Fusionar /usr/bin y /usr/sbin en /bin (gnu/linux)?

Archivos /proc/cpuinfo y /proc/meminfo en Linux

Comprender los archivos /proc/mounts, /etc/mtab y /proc/partitions

¿Cuáles son los significados de /usr/sbin, /usr/local/sbin y /usr/local/bin?

¿Por qué poner otras cosas que no sean /home en una partición separada?

¿Deberían vivir los sitios web en /var/ o /usr/ según el uso recomendado?