Hola compañeros de la shell,
En esta entrada vamos a revisar el uso del programa df (report file system disk space usage). Como en otras ocasiones, recomendamos la lectura del manual correspondiente (man df), no obstante, en esta entrada vamos a comentar y repasar rápidamente las opciones que nos parecen más útiles.
- Informe del espacio usado en todos filesytems montados en la máquina en formato «humano»:
$ df -h Filesystem Size Used Avail Use% Mounted on udev 3,8G 4,0K 3,8G 1% /dev tmpfs 766M 1,2M 765M 1% /run /dev/sda1 19G 11G 6,4G 63% / none 4,0K 0 4,0K 0% /sys/fs/cgroup none 5,0M 0 5,0M 0% /run/lock none 3,8G 492K 3,8G 1% /run/shm none 100M 28K 100M 1% /run/user /dev/mapper/trisquel--vg-home 90G 49G 41G 55% /home
Dado que el output es fácil de interpretar solamente destacaremos que la opción -h devuelve el tamaño del informe en formato más «humano» ej.: (1K 234M 2G).
2. Informe del espacio usado por en el filesystem en el que nos encontremos en formato «humano»:
$ df -h . Filesystem Size Used Avail Use% Mounted on /dev/mapper/trisquel--vg-home 90G 49G 41G 55% /home
Como se observa en el output, si pasamos como parámetro un directorio (en este caso el directorio en que nos entramos: «.») df genera el informe solamente para este filesystem.
3. Reporte de los i-nodos libres de todos los filesystems montados en la máquina (Solaris):
df -e
4. Informe de i-nodos libres de todos los filesystems montados en la máquina (GNU/Linux):
df -i
Un aspecto quizá poco relevante a nivel doméstico es la cantidad de i-nodos libres en un filesystem. Sin embargo, a nivel profesional, el hecho de que un filesystem quede sin i-nodos libres puede generar incidencias que, a menudo, no se detectan rápidamente.
Si se producen incidencias de este tipo es posible que veamos mensajes indicando que no queda espacio en disco a la vez que observamos espacio libre al ejecutar df -h. Esta contradicción aparente, puede apuntar hacia un problema de falta de i-nodos.
Para dar solución a este problema, debemos eliminar ficheros/directorios en el filesystem problemático, pero: ¿en qué directorio?
5. Obtener el listado de los directorios que contengan más i-nodos (GNU/Linux):
for i in `find . -xdev -type d `; do echo `ls -a $i | wc -l` $i; done | sort -n
Por otro lado, si en algún momento necesitamos conocer el tipo de filesystem que tenemos montado, en GNU/Linux usaremos:
df -Th
El equivalente en Solaris sería:
df -n
6. Para obtener el listado de los diez directorios más grandes ordenados por peso, en GNU/Linux podemos ejecutar:
du -ah --max-depth=1 | sort -h | tail -10
Espero que os sirva.
Nos vemos al otro lado de la pantalla negra.
