Linux: Cómo ver el uso de disco con df y du (Comandos básicos)
¿Por qué necesitas controlar el uso de disco en Linux?
Cuando trabajas con un servidor Linux, el espacio en disco es uno de esos recursos que se agotan sin avisar. Un día todo funciona perfecto y al siguiente tu web da error, el correo no llega o el panel de administración se vuelve lentísimo. Casi siempre, la causa es un disco lleno.
Aprender a usar los comandos df y du te va a permitir saber exactamente qué está ocupando espacio, cuánto queda libre y, sobre todo, tomar acción antes de que sea un problema serio. Son dos de los comandos más básicos y útiles que existen para cualquier administrador de sistemas, y hoy te voy a enseñar a dominarlos sin necesidad de ser un experto.
Piensa en df como una foto general de todo tu sistema de archivos, mientras que du es como una lupa que te muestra el detalle de cada carpeta y archivo. Juntos, son una combinación perfecta para mantener tu servidor limpio y saludable.
El comando df: tu visión general del espacio
El comando df (abreviatura de disk free, espacio libre en disco) te muestra un resumen de todos los sistemas de archivos montados en tu servidor. Es la primera herramienta que debes usar para saber si tienes un problema de espacio.
Cómo usar df por primera vez
Abre tu terminal y escribe simplemente:
df
Verás una tabla con varias columnas. Al principio puede parecer confusa, pero es muy fácil de entender:
- Filesystem: Es la partición o dispositivo de almacenamiento (por ejemplo,
/dev/sda1). - Size: El tamaño total de esa partición.
- Used: Cuánto espacio estás usando.
- Avail: Cuánto espacio tienes disponible.
- Use%: El porcentaje de espacio que está ocupado.
- Mounted on: El directorio donde está montada esa partición (por ejemplo,
/o/home).
El formato legible para humanos: df -h
El problema del comando df básico es que muestra los tamaños en bloques de 1K, lo cual es difícil de leer. La solución es usar el flag -h (de human-readable, legible para humanos):
df -h
Ahora verás los tamaños en gigabytes (G), megabytes (M) o kilobytes (K), mucho más fáciles de interpretar. Esta es la forma en la que la vas a usar el 99% de las veces.
Ver solo la partición raíz
Si solo te interesa ver el espacio de tu partición principal (la que tiene el sistema operativo), puedes usar:
df -h /
Esto te muestra únicamente la información de la raíz, que es donde normalmente se instalan los programas y se guardan los archivos del sistema.
Monitorear en tiempo real
Aunque df no tiene un modo de monitoreo continuo como top, puedes combinarlo con el comando watch para que se actualice cada cierto tiempo:
watch -n 5 df -h
Esto actualizará la información cada 5 segundos, lo cual es útil si estás haciendo una copia de seguridad o instalando algo pesado y quieres ver cómo va cambiando el espacio.
Interpretando los resultados de df
Cuando veas el porcentaje de uso, ten en cuenta estas recomendaciones:
- Por debajo del 50%: Todo perfecto, no te preocupes.
- Entre 50% y 80%: Estás usando el disco con normalidad, pero empieza a estar pendiente.
- Entre 80% y 90%: Deberías empezar a buscar qué ocupa espacio y limpiar lo que no necesites.
- Por encima del 90%: Esto es una emergencia. Muchos servicios empiezan a fallar cuando el disco está casi lleno.
[WARNING] Si el uso de disco supera el 95%, algunos servicios como MySQL o Apache pueden dejar de funcionar por completo. Además, el sistema operativo no podrá escribir archivos temporales, lo que causará errores extraños en tu web.
El comando du: encuentra qué está ocupando espacio
El comando du (de disk usage, uso de disco) te permite ver cuánto espacio ocupa un directorio o archivo específico. Es la herramienta perfecta para cuando necesitas identificar qué carpeta está consumiendo todo tu almacenamiento.
Uso básico de du
Para ver el tamaño de un directorio, escribe:
du /ruta/del/directorio
Esto te mostrará el tamaño de cada subdirectorio dentro de esa ruta, además del total al final. El resultado puede ser muy extenso si hay muchas carpetas, así que es mejor usarlo con opciones.
La forma más útil: du -sh
La combinación de flags -s (de summarize, resumir) y -h (legible para humanos) te da exactamente lo que necesitas: el tamaño total de un directorio sin listar todo lo que hay dentro:
du -sh /var/www
El resultado será algo como 2.3G /var/www, que te dice que todo lo que hay en /var/www ocupa 2.3 gigabytes. Simple y directo.
Ver el detalle de las subcarpetas
Si quieres ver qué subcarpetas están ocupando más espacio dentro de un directorio, puedes usar:
du -h --max-depth=1 /var/www
Esto te mostrará el tamaño de cada carpeta directamente dentro de /var/www (no más profundo), ordenadas de forma que puedas identificar rápidamente cuál es la más grande.
Ordenar los resultados de mayor a menor
Para ver primero los directorios más grandes, combina du con sort:
du -h --max-depth=1 /var/www | sort -hr
El flag -h en sort le dice que entienda los sufijos (K, M, G) y -r lo ordena de mayor a menor. Esto es extremadamente útil para encontrar rápidamente al "culpable" que está llenando tu disco.
Lista los archivos más grandes
Si ya identificaste la carpeta problemática y necesitas encontrar los archivos individuales más grandes, puedes usar:
find /ruta/carpeta -type f -size +100M -exec ls -lh {} \;
Este comando busca archivos mayores a 100 megas dentro de la carpeta especificada y los lista con su tamaño.
[TIP] La combinación más potente es usar
df -hprimero para ver qué partición está llena y luegodu -shen los directorios principales para ir bajando nivel a nivel hasta encontrar el archivo o carpeta que está causando el problema.
Ejemplo práctico: diagnóstico completo de uso de disco
Vamos a hacer un ejercicio completo para que veas cómo usar ambos comandos juntos. Imagina que tu web está fallando y sospechas que es por falta de espacio.
Paso 1: Verifica el estado general
df -h
El resultado muestra que tu partición raíz / está al 92% de uso. Definitivamente este es el problema.
Paso 2: Identifica los directorios principales
du -sh /var /home /tmp /etc /usr
Esto te dará una idea de dónde está el grueso de los datos.
Paso 3: Profundiza en el directorio sospechoso
Supongamos que /var es el que más espacio ocupa. Ahora vamos a ver qué hay dentro:
du -h --max-depth=1 /var | sort -hr
El resultado muestra que /var/log ocupa 40GB. ¡Ahí está el problema!
Paso 4: Encuentra los archivos grandes
find /var/log -type f -size +500M -exec ls -lh {} \;
Encontrarás que un archivo de log de acceso a tu web ha crecido de forma descontrolada. Ahora ya sabes exactamente qué limpiar.
[INFO] Los archivos de log (registros) son la causa más común de discos llenos en servidores. Si usas Syspanel (antes conocido como HestiaCP) y accedes a través del puerto 2106, verás que incluye herramientas para rotar logs automáticamente, pero siempre es bueno saber revisarlos manualmente.
Comandos avanzados y trucos útiles
Excluir sistemas de archivos en df
Si tu servidor tiene muchos sistemas de archivos temporales o virtuales que no te interesan, puedes excluirlos:
df -h -x tmpfs -x devtmpfs
Esto te muestra solo los sistemas de archivos reales, sin ruido.
Ver espacio en inodos
A veces el disco no está lleno pero el sistema dice que sí. Esto puede ser por falta de inodos (un tipo de "espacio" para almacenar metadatos). Para verificar:
df -i
Si el porcentaje de uso de inodos es alto, necesitas eliminar archivos pequeños (aunque no pesen mucho), porque cada archivo consume un inodo.
Alias para comandos frecuentes
Puedes crear alias en tu archivo .bashrc para no tener que escribir tanto:
alias df='df -h'
alias du='du -sh'
Así, cada vez que escribas df o du, obtendrás directamente el formato legible.
Medir el espacio de la carpeta actual
Un truco rápido para saber cuánto pesa la carpeta donde estás ahora mismo:
du -sh .
El punto (.) representa el directorio actual.
Preguntas frecuentes sobre el uso de disco en Linux
¿Cuál es la diferencia entre df y du?
df te muestra el espacio de todo el sistema de archivos, incluyendo espacio reservado para el sistema y espacio que los procesos están usando pero que ya fue marcado como borrado. du calcula el tamaño real de los archivos y directorios que existen. Por eso a veces df muestra más espacio usado que du.
¿Por qué df y du no coinciden en los números?
Es normal que haya diferencias. Las causas más comunes son:
- Archivos borrados pero que siguen abiertos por algún proceso.
- Espacio reservado para el sistema (normalmente 5%).
- Archivos ocultos que
duno muestra a menos que usesdu -a.
Para ver archivos borrados que siguen abiertos, puedes usar:
lsof +L1
¿Cómo libero espacio si no puedo identificar qué lo ocupa?
Prueba estas opciones:
- Limpia la caché del gestor de paquetes:
sudo apt clean(en Debian/Ubuntu). - Elimina logs antiguos:
sudo journalctl --vacuum-time=7d. - Revisa la papelera:
du -sh ~/.local/share/Trash. - Busca archivos temporales:
du -sh /tmp.
¿Con qué frecuencia debo revisar el uso de disco?
En un servidor de producción, te recomiendo revisarlo al menos una vez a la semana. Puedes configurar una alerta automática con cron para que te envíe un correo cuando el uso supere el 80%.
¿El comando du puede ralentizar mi servidor?
Sí, en directorios muy grandes puede consumir bastantes recursos. Si tu disco tiene millones de archivos, du puede tardar varios minutos. En esos casos, usa du -x --max-depth=1 para limitar la profundidad y no cruzar sistemas de archivos.
[TIP] Si usas Syspanel (HestiaCP) en tu servidor, recuerda que el panel tiene un gestor de archivos integrado al que puedes acceder desde el puerto 2106. Ahí también puedes ver el tamaño de las carpetas de forma visual, aunque para un diagnóstico fino siempre es mejor usar la terminal.
Resumen y próximos pasos
Dominar df y du es una de las habilidades más útiles que puedes tener como administrador de sistemas Linux. Con estos dos comandos, puedes:
- Saber en segundos si tu disco está en peligro.
- Identificar exactamente qué carpeta o archivo está consumiendo más espacio.
- Tomar decisiones informadas sobre qué limpiar o mover.
- Evitar caídas de servicios por disco lleno.
Mi recomendación es que practiques estos comandos en un entorno de prueba o en tu propio servidor (si no es de producción). Crea archivos de diferentes tamaños, organiza carpetas y ve cómo se comportan los comandos. La mejor forma de aprender es experimentando.
Recuerda que un disco sano es sinónimo de un servidor estable. Con estos dos comandos en tu caja de herramientas, estarás mucho mejor preparado para mantener tu Linux funcionando sin problemas. Y si en algún momento necesitas ayuda visual con la gestión de archivos, no olvides que Syspanel te ofrece una interfaz web amigable en el puerto 2106, aunque nada reemplaza el poder y la flexibilidad de la línea de comandos.
