¿Como listar el tamaño de los directorios en linux?

En servidores linux es muy común quedarse sin espacio y volverse loco intentando buscar el fichero o directorio que nos esta ocupando el espacio.

Para ver cual es el directorio que nos esta haciendo la puñeta vamos a utilizar el comando du (disk usage).

Para el ejemplo usaremos el directorio /var/www/html, donde hay ubicados varios proyectos web.

Si utilizamos el comando du -h /var/www/html (añadimos -h para verlo en formato humano) nos encontramos con el problema de que nos muestra el tamaños de los directorios, subdirectorios y todo lo que se encuentra y eso no es lo que queremos.

du -h /var/www/html

20K     ./joomla_prueba/plugins/user/joomla
8.0K    ./joomla_prueba/plugins/user/profile/profiles
12K     ./joomla_prueba/plugins/user/profile/field
52K     ./joomla_prueba/plugins/user/profile
16K     ./joomla_prueba/plugins/user/contactcreator
124K    ./joomla_prueba/plugins/user

Para resolver esto añadimos la opción –max-depth=1 que nos limita la busqueda al primer directorio.

du -h --max-depth=1 /var/www/html

250M    ./pepino
154M    ./web_equipo
140M    ./tacita
195M    ./drbones
100M    ./alienta
164M    ./vibora
530M    ./bosque
220M    ./valiente
59M     ./drupal
289M    ./fundacionlobos


Esto comando ya nos gusta mas, ya que nos muestra el tamaño de lo directorios.

Como ultima opción lo podemos ordenar añadiendo un sort -n (-n ordena por numero), en el caso de ser un listado muy extenso.

du -h --max-depth=1 /var/www/html | sort -n

59M     ./drupal
100M    ./alienta
140M    ./tacita
154M    ./web_equipo
164M    ./vibora
195M    ./drbones
220M    ./valiente
250M    ./pepino
289M    ./fundacionlobos
530M    ./bosque