Cómo obtener el tamaño de un directorio en Linux

27 feb 2021 3 min di lettura
Cómo obtener el tamaño de un directorio en Linux
Indice dei contenuti

Introducción

Al enumerar el contenido de un directorio usando el ls, puede notar que el tamaño de los directorios es casi siempre de 4096 bytes (4 KB). Este es el tamaño del espacio en disco utilizado para almacenar la metainformación del directorio, no lo que contiene.

El comando que querrá usar para obtener el tamaño real de un directorio es du, que es la abreviatura de uso de disco.

Obtener el tamaño de un directorio

El du muestra la cantidad de espacio utilizado por los archivos o directorios especificados. Si la ruta especificada es un directorio, du resume el uso de disco de cada subdirectorio en ese directorio. Si no se especifica ninguna ruta, du informa del uso del disco del directorio de trabajo actual.

Cuando se invoca sin ninguna opción, du muestra el uso de disco del directorio especificado y cada uno de sus subdirectorios en bytes.

Normalmente, desea ver el espacio ocupado por el directorio en un formato legible por humanos. Por ejemplo, para obtener el tamaño total del /var, ejecute el siguiente comando:

sudo du -sh /var

La salida se verá así:

85G /var

Explicamos el comando y sus argumentos:

  • El comando comienza con sudo porque la mayoría de los archivos y directorios dentro del directorio /var son propiedad del usuario root y los usuarios normales no pueden leerlos. Si omite sudo el du, se imprimirá "du: no se puede leer el directorio".
  • s: muestra solo el tamaño total del directorio especificado, no muestra los totales de tamaño de archivo para los subdirectorios.
  • h: tamaño de impresión en un h (formato legible por humanos).
  • /var: la ruta al directorio del que desea obtener el tamaño.

¿Qué sucede si desea ver el uso del disco de los subdirectorios de nivel superior? Tienes dos opciones. La primera es utilizar el símbolo de asterisco ( * ) como se muestra a continuación, que significa "coincidir con cualquier cosa que no comience con un punto ( . )". La -c le dice al du que imprima un total general de todas las dimensiones:

sudo du -shc /var/*
24K /var/db
 4.0K /var/empty
 4.0K /var/games
 77G /var/lib
 4.0K /var/local
 0 /var/lock
 3.3G /var/log
 0 /var/mail
 4.0K /var/opt
 0 /var/run
 196K /var/spool
 28K /var/tmp
 85G total

Otra forma de obtener un informe sobre el uso del disco de los subdirectorios de nivel superior es utilizar la opción --max-depth

sudo du -h --max-depth=1 /var
77G /var/lib
 24K /var/db
 4.0K /var/empty
 4.0K /var/local
 4.0K /var/opt
 196K /var/spool
 4.0K /var/games
 3.3G /var/log
 5.0G /var/cache
 28K /var/tmp
 85G /var
 85G total

De forma predeterminada, el du muestra el espacio en disco utilizado por el directorio o archivo. Para encontrar el tamaño aparente de un directorio, use la opción --apparent-size El "tamaño aparente" de un archivo es la cantidad de datos que hay realmente en el archivo.

sudo du -sh --apparent-size /var

Al transferir un directorio a través de SCP, Rsync o SFTP, la cantidad de datos transferidos a través de la red es el tamaño aparente de los archivos. Esta es la razón por la que el tamaño del espacio en disco utilizado en la fuente cuando se ve con du (sin --apparent-size ) no es igual al tamaño en el destino.

El du también se puede combinar con otros comandos canalizados.

Por ejemplo, para imprimir las 5 mayores directorios dentro del /var directorio, es necesario redirigir el du de salida para el sort de comando para ordenar los directorios por su tamaño y luego redirigir la salida a la head de comandos que sólo se imprimirán los 5 primeros directorios:

sudo du -h /var/| sort -rh | head -5
85G /var/77G /var/lib
 75G /var/lib/libvirt/images
 75G /var/lib/libvirt
 5.0G /var/cache/pacman/pkg

Conclusión

En Linux, puede obtener el tamaño de un directorio usando el comando du

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.