Introducción
El comando du, abreviatura de "uso del disco", indica la cantidad estimada de espacio en disco utilizado por ciertos archivos o directorios. Es prácticamente útil para buscar archivos y directorios que ocupan grandes cantidades de espacio en disco.
Cómo usar el comando du
La sintaxis general del comando du es la siguiente:
du [OPTIONS]... DIR...
Si el parámetro DIR es un directorio, du resumirá el uso de disco de cada archivo y subdirectorio en ese directorio. Si no se especifica DIR , du informará del uso de disco del directorio de trabajo actual.
Cuando se ejecuta sin opciones, du muestra el uso de disco del archivo o directorio y cada uno de sus subdirectorios en bytes.
du ~/Documents
También puede pasar varios archivos y directorios al du comando como argumentos:
du ~/Documents ~/Video ~/.zshrc
Si ejecuta du en un archivo o directorio para el que no tiene permiso, obtendrá algo como "du: no se puede leer el directorio". En esta situación, deberá anteponer el comando con sudo.
du tiene muchas opciones, solo describiremos las que usa con más frecuencia.
La opción -a indica para informar el uso de espacio en disco de cada archivo dentro del directorio.
du -a ~/Documents
Por lo general, solo desea mostrar el espacio ocupado por el directorio especificado en un formato legible por humanos. Para hacer esto, use la opción -h.
Por ejemplo, para obtener el tamaño total de todos los subdirectorios de /var /lib, ejecute el siguiente comando:
sudo du -h /var
Estamos usando sudo porque la mayoría de los archivos y directorios dentro del directorio /var /lib son propiedad del usuario root y los usuarios normales no pueden leerlos. La salida se verá así:
...
32K /var/lib/polkit-1
604M /var/lib
1.4G /var
Para informar solo el tamaño total del directorio especificado y no para los subdirectorios, use la opción -s:
sudo du -sh /var
1.4G /var
La opción -c le permite calcular un total general. Esto es útil cuando desea lograr el tamaño combinado de dos o más directorios.
sudo du -csh /var/log /var/lib
670M /var/log
604M /var/lib
1.3G total
Si desea ver el uso del disco de los subdirectorios de nivel n, use la opción --max-depth y especifique el nivel del subdirectorio. Por ejemplo, para obtener un informe de directorio de nivel superior, debe usar:
sudo du -h --max-depth=1 /var/lib
...
23M /var/lib/dpkg
4.0K /var/lib/misc
4.0K /var/lib/mysql-keyring
8.0K /var/lib/ureadahead
12K /var/lib/private
32K /var/lib/polkit-1
604M /var/lib
El comportamiento predeterminado de la utilidad du es reutilizar el espacio en disco utilizado por el directorio o archivo. Para encontrar el tamaño aparente de un archivo, use la opción --apparent-size El "tamaño aparente" de un archivo es cuántos datos hay realmente en el archivo.
sudo du -sh --apparent-size /var/lib
593M /var/lib
du también te permite usar el patrón de caparazón. Por ejemplo, para obtener el tamaño de todos los directorios que comienzan con " li ", debe ejecutar:
sudo du -csh /li*
479M /lib
4.0K /lib64
479M total
Más mando con du
El comando du se puede combinar con otros comandos de tubería.
Por ejemplo, para imprimir los 5 directorios más grandes dentro del directorio /var, use el comando sort junto con el comando du para ordenar los directorios por su tamaño y luego redirigir la salida al comando head que solo imprimirá los 5 directorios raíz:
sudo du -h /var/| sort -rh | head -5
1.4G /var/670M /var/log
604M /var/lib
561M /var/log/journal
553M /var/log/journal/3e8adc78daa34283b1c71dea860d53b4
Conclusión
A estas alturas, debería tener un buen conocimiento de cómo usar el comando du. A diferencia del comando df, el comando du proporciona una estimación del espacio en disco utilizado por ciertos archivos o directorios.
Puede ver todas las opciones del comando du escribiendo man du desde la terminal.