Medir el espacio en disco con df y du

última modificación:

Antes de hacer una copia de seguridad o cuando el servidor empieza a dar errores por falta de espacio, necesitamos saber qué está ocupando el disco. Para eso tenemos dos comandos complementarios: df para ver el espacio libre en cada partición y du para ver cuánto ocupa un directorio o archivo concreto.

Para ver el espacio libre en todas las particiones en un formato legible:

df -h

La opción -h muestra los tamaños en formato legible (KB, MB o GB) en lugar de bloques. La columna «Disponible» y el porcentaje de uso son los más útiles a primera vista.

Para saber cuánto ocupa un directorio:

du -sh /var/log/

Con -s obtenemos solo el total (sin desglosar subdirectorios) y con -h el tamaño en formato legible. Si queremos ver el desglose de cada elemento dentro de un directorio:

du -h /var/log/

Cuando el directorio tiene muchos niveles (como /home/ con decenas de subdirectorios), el listado completo puede ser una locura. Con --max-depth limitamos hasta qué nivel queremos ver:

du -h --max-depth=1 /home/

Con --max-depth=1 vemos solo el tamaño de cada subdirectorio directo de /home/ sin entrar en su contenido, lo que nos permite identificar rápidamente qué usuario está ocupando más espacio.

Para localizar los directorios más grandes dentro de un árbol, combinamos du con sort y head:

du /var/www/ | sort -rn | head -20

Los tamaños aparecen en kilobytes. Con -r el resultado queda ordenado de mayor a menor y con -n la ordenación es numérica.

Cuando hacemos copias de seguridad con rsync o con tar, df nos ayuda a verificar que el destino tiene espacio suficiente antes de lanzar la operación.