En muchas ocasiones listamos directorios en un servidor para conocer el uso de espacio en disco de cada una de las cuentas de hosting, es una de las tareas que nos toca a menudo a los administradores de sistemas. Veremos un ejemplo para listar sus directorios y ordenarlos por tamaño en su servidor Linux.
Listaremos las carpetas del directorio /home donde se encuentran las cuentas de usuarios:
du --max-depth=1 /home/ | sort -n -r
Salida:
[root@hn ~]# du /home --max-depth=1 | sort -nr 47713200 /home 47643736 /home/mario 63296 /home/alonso 6124 /home/fabian 20 /home/carlos 12 /home/javier 4 /home/alberto [root@hn ~]#El comando podría tardar bastante tiempo si lo ejecutamos en la carpeta /home, por lo que podriamos querer tambien escribirlo en un archivo aparte y dejarlo corriendo mientras hacemos otras cosas, agregamos al comando:
[root@hn /]# du /home --max-depth=1 | sort -nr >> quotas.txt 47713200 . 47643736 ./solusvm 63296 ./char 6124 ./kepler 20 ./carlos 12 ./j 4 ./kvmLuego podremos leer el archivo quotas.txt que contendrá la información de salida. Para facilitar la lectura del comando y hacer la salida legible para humanos podemos agregar la opción “–si” al comando du para poder leer la información en K,M,GB:
[root@hn ~]# du --si /home --max-depth=1 | sort -nr 65M /home/mario 49G /home/alonso 49G /home 21k /home/fabian 13k /home/javier 6,3M /home/carlos 4,1k /home/alberto [root@hn ~]#Asi podremos leer la información de los directorios ordenados por tamaño y tendremos mayor control de uso de espacio en disco. También podemos siempre guardar las salidas agregando “>> nombredearchivo”:
du --si /home --max-depth=1 | sort -nr >> quotas.txtHay muchas formas más de ordenar carpetas por tamaño en Linux, si conoces alguna y quieres compartirla en un comentario será bienvenida para la comunidad.