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

Al enumerar el contenido de un directorio con el comando ls, es posible que haya notado que el tamaño de los directorios es casi siempre 4096 bytes (4 KB). Ese es el tamaño del espacio en el disco que se usa 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 del disco».

Obtener el tamaño de un directorio #

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

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

Por lo general, querrá mostrar el espacio ocupado por el directorio en un formato legible por humanos. Por ejemplo, para obtener el tamaño total de /var, debe ejecutar el siguiente comando:

El resultado se verá así:

Expliquemos el comando y sus argumentos:

  • El comando comienza con sudo porque la mayoría de los archivos y directorios dentro del Los directorios /var son propiedad del usuario root y los usuarios normales no pueden leerlos. Si omite sudo, el comando du 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ños de impresión en un formato legible por humanos (h).
  • /var: la ruta al directorio que desea obtener el tamaño.

¿Qué sucede si desea mostrar el uso del disco de los subdirectorios de primer nivel? Tiene dos opciones. La primera es usar el símbolo de asterisco (*) como se muestra a continuación, lo que significa» coincidir con todo lo que no comience con un punto (.) ”. La opción -c le dice a du que imprima un total general de todos los tamaños:

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

Por defecto, el comando du muestra el espacio en disco usado 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.

Cuando transfieres un directorio a través de SCP, Rsync. O SFTP la cantidad de datos que se transfieren a través de la red es el tamaño aparente de los archivos. Por eso, el tamaño del espacio en el disco utilizado en la fuente cuando se muestra con du (sin --apparent-size) no es el mismo que el tamaño del objetivo.

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

Por ejemplo, para imprimir los 5 directorios más grandes dentro del directorio /var, debería canalizar la salida de du al comando sort para ordenar los directorios por su tamaño y luego canalizar la salida al comando head que solo imprimirá los 5 directorios principales:

Conclusión #

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

Write a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *