Imagínate esta escena: Estás en medio de un proyecto crucial. Tu servidor web, que ha estado funcionando como un reloj, de repente empieza a dar errores extraños. Las bases de datos se ralentizan, los logs se llenan de mensajes incomprensibles y, finalmente, tu aplicación crashea. Entras en pánico, pero un pensamiento cruza tu mente: «¿Será el espacio en disco?» Para muchos administradores de sistemas, desarrolladores y entusiastas de Linux, esta situación es más común de lo que parece. Entender cómo puedo ver el espacio libre en disco en la consola de Linux no es solo una habilidad útil, es una necesidad fundamental para mantener la salud y el rendimiento de cualquier sistema. A mí mismo me ha pasado, más de una vez, tener que correr a la terminal para diagnosticar un servidor que se quejaba, y casi siempre, el culpable era un disco saturado.
En este artículo, vamos a desglosar las herramientas más potentes y versátiles que tienes a tu disposición en la línea de comandos para monitorear y comprender el uso de tu almacenamiento. No se trata solo de saber si hay espacio, sino de entender dónde se está yendo, qué lo está ocupando y cómo puedes gestionarlo eficientemente. Prepárate para dominar la gestión del espacio en disco en Linux, porque el conocimiento es poder, especialmente cuando se trata de tus valiosos datos.
La Piedra Angular: El Comando df (Disk Free)
Si alguna vez te preguntas cómo ver el espacio libre en disco en la consola de Linux, el primer comando que cualquier profesional te mencionará es df. Es tu punto de partida, tu mejor amigo para obtener una visión general rápida y concisa del estado de todos los sistemas de archivos montados en tu sistema. Permite ver el espacio total, el espacio usado, el espacio disponible y el porcentaje de uso de cada partición.
Uso Básico y su Poder
Para la mayoría de los casos, la invocación más común y útil del comando df es con la opción -h. Esta pequeña adición transforma una salida potencialmente críptica en algo mucho más digerible para nosotros, los humanos.
df -h
Cuando ejecutas esto, lo que obtendrás será una tabla similar a esta (los valores variarán según tu sistema):
Sistema de archivos Tamaño Usados Disp. Uso% Montado en
/dev/sda1 20G 10G 8.5G 55% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 1.6G 9.1M 1.6G 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sdb1 1.0T 500G 450G 53% /mnt/datos
tmpfs 788M 20K 788M 1% /run/user/1000
Desglosar esta salida es crucial para entenderla a fondo:
- Sistema de archivos: Indica el nombre del dispositivo o sistema de archivos. Por lo general, verás nombres como
/dev/sda1, que representan particiones de disco, o montajes de red. También puedes vertmpfs, que son sistemas de archivos temporales basados en RAM. - Tamaño: El tamaño total de ese sistema de archivos. La opción
-hlo muestra en un formato «legible para humanos» (G de Gigabytes, M de Megabytes, T de Terabytes). - Usados: La cantidad de espacio que ya está ocupado en ese sistema de archivos.
- Disp. (Disponible): La cantidad de espacio libre que queda en el sistema de archivos para que lo uses. Aquí es donde realmente encuentras la respuesta a cuánto espacio libre tengo.
- Uso%: El porcentaje del sistema de archivos que está actualmente en uso. Un valor alto aquí (digamos, por encima del 80-90%) es una señal de advertencia de que podrías quedarte sin espacio pronto.
- Montado en: El punto de montaje donde este sistema de archivos está accesible dentro de la jerarquía de directorios de Linux. Por ejemplo,
/es la raíz del sistema,/mnt/datospodría ser una partición de datos adicional, etc.
Opciones Avanzadas de df para un Análisis Detallado
El comando df es mucho más flexible de lo que parece a simple vista. Dominar sus opciones te permitirá afinar tu búsqueda de información y obtener justo lo que necesitas.
-a o --all: Mostrando Todos los Sistemas de Archivos
Por defecto, df omite algunos sistemas de archivos «pseudotemporales» o de propósito especial que rara vez nos interesan para el espacio en disco. Si quieres ver absolutamente todo lo que está montado, usa -a:
df -ah
Esto puede incluir sistemas como proc, sysfs, etc., que son interfaces del kernel y no consumen espacio de almacenamiento real en el disco duro. En mi experiencia, rara vez necesito esta opción para gestionar el espacio de almacenamiento físico, pero es bueno saber que existe.
-T o --print-type: Identificando Tipos de Sistemas de Archivos
¿Qué tipo de sistema de archivos es /dev/sda1? ¿Es ext4, xfs, NTFS? La opción -T te lo dirá:
df -hT
La salida añadirá una columna «Tipo» muy útil:
Sistema de archivos Tipo Tamaño Usados Disp. Uso% Montado en
/dev/sda1 ext4 20G 10G 8.5G 55% /
tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/sdb1 xfs 1.0T 500G 450G 53% /mnt/datos
Esto es especialmente útil cuando trabajas con volúmenes de almacenamiento mixtos o cuando necesitas asegurarte de que una partición se montó con el tipo de sistema de archivos esperado.
-i o --inodes: Espacio, Pero de Inodos
Aquí es donde las cosas se ponen un poco más técnicas. Además del espacio en disco medido en bytes o gigabytes, los sistemas de archivos también asignan «inodos». Un inodo es una estructura de datos que almacena metadatos sobre un archivo o directorio (como su propietario, permisos, fecha de creación, ubicación en el disco, etc.). Cada archivo o directorio requiere al menos un inodo. Si tienes muchísimos archivos pequeños, podrías quedarte sin inodos antes de quedarte sin espacio en disco. Esto es un problema que a veces se pasa por alto, pero que puede bloquear completamente un sistema, incluso si df -h muestra espacio disponible.
Para ver el uso de inodos:
df -hi
La salida será similar a la de df -h, pero con columnas para inodos en lugar de espacio en bloques:
Sistema de archivos Inodos IUsados IDisp. IUso% Montado en
/dev/sda1 1.3M 100K 1.2M 8% /
tmpfs 1.0M 1 1.0M 1% /dev/shm
/dev/sdb1 64M 500K 63M 1% /mnt/datos
Si la columna «IUso%» está cerca del 100%, ¡tienes un problema de inodos! Esto es común en servidores de correo electrónico o directorios con muchísimos archivos de sesión o temporales muy pequeños.
Filtrando la Salida de df: -x y -t
A veces, la salida completa de df es demasiado ruidosa. Puedes filtrar los sistemas de archivos que quieres ver o excluir.
Para excluir un tipo de sistema de archivos (por ejemplo, tmpfs, que rara vez nos interesa para el espacio de disco físico):
df -h -x tmpfs
Para incluir solo un tipo de sistema de archivos (por ejemplo, solo particiones ext4):
df -h -t ext4
Estas opciones son fantásticas para centrarte en la información relevante y hacer tu análisis más eficiente. A menudo las uso para rápidamente echar un vistazo a los discos duros reales sin que me distraigan los montajes virtuales.
Profundizando: El Comando du (Disk Usage)
Mientras que df te dice el espacio libre en los sistemas de archivos, du te dice cuánto espacio está siendo usado por directorios y archivos específicos. Aquí es donde realmente empiezas a investigar dónde se está yendo el espacio que df te reporta como «usado». Es la herramienta por excelencia para desglosar el uso del disco a nivel de directorio.
du Básico: Conociendo el Tamaño de un Directorio
La forma más común de usar du es para obtener el tamaño total de un directorio y sus subdirectorios. Combinado con -h (human-readable) y -s (summarize), obtendrás un resumen conciso.
du -sh /var/log
Esto te mostrará el tamaño total del directorio /var/log en un formato legible, por ejemplo:
5.7G /var/log
¡Vaya! 5.7 Gigabytes en logs. Eso es un hallazgo importante si tu disco está lleno.
Explorando el Uso del Disco con du
Pero la verdadera potencia de du reside en su capacidad para explorar el uso del disco a través de la jerarquía de directorios.
du -h: Detalle por Subdirectorio
Si ejecutas du -h sin -s en un directorio, te mostrará el tamaño de cada subdirectorio dentro de él. Si lo ejecutas en /, ¡prepárate para una salida muy larga!
du -h /var
Esto podría mostrar algo como:
4.0K /var/backups
4.0K /var/cache/apt/archives/partial
1.8G /var/cache/apt/archives
1.8G /var/cache/apt
2.0G /var/cache
5.7G /var/log/apache2
5.7G /var/log
...
10G /var
Puedes ver cómo el tamaño se acumula. /var/log es grande, y dentro de /var/log, /var/log/apache2 es el principal contribuyente.
Limitando la Profundidad con --max-depth
La salida de du -h puede ser abrumadora. La opción --max-depth es tu amiga para limitar cuántos niveles de subdirectorios quieres ver:
du -h --max-depth=1 /var
Esto te mostrará el tamaño total de /var y el tamaño de sus subdirectorios directos, pero no profundizará más allá de un nivel:
10M /var/backups
2.0G /var/cache
5.7G /var/log
1.5G /var/lib
...
10G /var
Esta es una de mis combinaciones favoritas para empezar a investigar un directorio grande. Te da una visión de alto nivel para identificar rápidamente los «gorrones» de espacio.
Ordenando y Filtrando la Salida de du
Una vez que tienes la salida de du, a menudo querrás saber cuáles son los directorios más grandes. Aquí es donde entra en juego la combinación con otros comandos de Linux.
du -h --max-depth=1 / | sort -rh | head -n 10
Analicemos esto:
du -h --max-depth=1 /: Calcula el uso del disco para los directorios de primer nivel desde la raíz, en formato legible.|(pipe): Envía la salida deducomo entrada al siguiente comando.sort -rh: Ordena la salida.-r: Orden inverso (de mayor a menor).-h: Para un orden «human-readable» que entiende tamaños como «10G» vs «500M» correctamente.
| head -n 10: Muestra solo las primeras 10 líneas (los 10 directorios más grandes).
Esta es la «receta secreta» para encontrar rápidamente los culpables de un disco lleno. Es una técnica que he usado innumerables veces para solucionar problemas de almacenamiento en servidores de producción.
du -a: Archivos y Directorios
Si quieres ver el tamaño de cada archivo y subdirectorio, puedes usar -a:
du -ah /etc/ssh
Esto es útil cuando sospechas que un archivo grande específico es el problema, no solo un directorio.
Excluyendo Elementos con --exclude
Al igual que con df, puedes excluir ciertos patrones de du:
du -h --exclude="*.log" /var
Esto te daría el uso de /var sin contar los archivos .log, lo cual es útil si ya sabes que los logs son grandes y quieres ver qué más está consumiendo espacio.
La eterna pregunta: ¿Por qué df y du no coinciden?
Esta es una de las preguntas más comunes que recibo y un punto de confusión frecuente para quienes están aprendiendo a gestionar el espacio en disco en Linux. A primera vista, podrías esperar que la suma del espacio usado por du -sh / sea igual al espacio usado reportado por df -h / para el mismo sistema de archivos. Sin embargo, en la mayoría de los casos, no lo será. Hay varias razones para esta discrepancia, y entenderlas es fundamental para un diagnóstico preciso.
-
Archivos Abiertos y Borrados: Esta es, con diferencia, la razón más frecuente. Cuando un proceso abre un archivo y luego ese archivo es eliminado (por ejemplo, un archivo de log rotado), el sistema de archivos marca el espacio como «libre» desde la perspectiva de
duy de la jerarquía de directorios (el archivo ya no existe). Sin embargo, si el proceso que lo tenía abierto sigue ejecutándose, el kernel no liberará el espacio en disco físicamente hasta que ese proceso cierre el archivo o termine.df, que consulta directamente al sistema de archivos, seguirá viendo ese espacio como «ocupado» porque los bloques de datos aún no están disponibles para ser reutilizados. Por lo tanto,dfmostrará más espacio usado quedu.Para detectar esto, puedes usar el comando
lsof. Por ejemplo,lsof | grep deletedolsof | grep /dev/sda1 | grep deleted(reemplazando/dev/sda1por tu sistema de archivos) te mostrará los archivos eliminados que aún están siendo retenidos por procesos. Una vez que identificas el proceso, reiniciarlo o enviarle una señal (comokill -HUP PIDsi soporta recargar la configuración sin reiniciar) puede liberar el espacio. -
Bloques Reservados por el Sistema de Archivos: Los sistemas de archivos como
ext4suelen reservar un porcentaje del espacio (tradicionalmente 5%, aunque configurable) para el usuario root. Esto se hace para asegurar que el administrador siempre tenga espacio disponible para realizar tareas críticas, incluso si los usuarios normales llenan el disco.dftiene en cuenta este espacio reservado como «no disponible para usuarios normales», mientras quedusolo suma el tamaño de los archivos existentes. Esto significa quedfpodría mostrar menos «Disp.» que lo que realmente queda si eres root, o el «Usados» podría parecer mayor de lo queducalcula porque incluye esta reserva en el cálculo total. Puedes ver o cambiar esta reserva contune2fs -l /dev/sda1ytune2fs -m X /dev/sda1. -
Puntos de Montaje Encabalgados (Mount Overlaps): Si montas un nuevo sistema de archivos sobre un directorio que ya contenía datos, los datos originales en ese directorio quedarán ocultos y no serán accesibles a través de la jerarquía de directorios.
duignorará estos datos ocultos porque no puede verlos a través del nuevo punto de montaje. Sin embargo,dfseguirá contabilizando el espacio que ocupan los datos ocultos en el sistema de archivos subyacente. Esto es menos común pero puede ocurrir si los scripts de montaje no están bien gestionados. -
Diferencias en el Conteo de Inodos: Como mencionamos, los inodos son estructuras de datos que describen archivos y directorios.
df -imuestra el uso de inodos.duse centra en el tamaño de los bloques de datos. En sistemas con muchísimos archivos pequeños, podrías agotar los inodos antes que el espacio en disco. Aunque esto no afecta directamente la suma de bytes, puede generar discrepancias si no se entiende la naturaleza de ambos comandos. -
Bloques no Asignados o Dañados: En casos raros, puede haber bloques de datos en el sistema de archivos que están marcados como «usados» pero no están asociados con ningún inodo o archivo válido. Estos son a menudo el resultado de un apagado inadecuado o errores del sistema de archivos.
dflos contará como usados, mientras queduno. Herramientas comofsckpueden ayudar a limpiar estos bloques.
En resumen, si df reporta más espacio usado que du para el mismo sistema de archivos, la causa más probable son archivos borrados pero aún abiertos por algún proceso. Si du reporta más espacio que df indica como disponible, es una señal de que algo está muy mal en el sistema de archivos (bloques corruptos, etc.), aunque esta situación es bastante inusual.
Otras Herramientas Útiles en la Consola
Aunque df y du son los caballos de batalla, hay otras herramientas que pueden complementar tu arsenal para la gestión del espacio libre en disco en la consola de Linux.
ls -lh: Para Archivos Individuales
Cuando necesitas ver el tamaño de archivos específicos en un directorio, ls -lh es invaluable.
ls -lh /var/log/apache2
Esto te mostrará una lista detallada con permisos, propietario, grupo, fecha y el tamaño de cada archivo en formato legible.
-rw-r----- 1 root adm 5.0G May 10 14:30 access.log
-rw-r----- 1 root adm 700M May 10 14:00 error.log
Esto es perfecto para identificar archivos de log que crecen sin control o cualquier otro archivo gigante en un directorio específico.
find: Buscando Archivos por Tamaño o Antigüedad
Si necesitas buscar archivos grandes o antiguos en todo un sistema o en una parte específica, find es tu mejor aliado. Es increíblemente potente y flexible.
Encontrar Archivos Grandes
Para encontrar los 10 archivos más grandes en el sistema de archivos raíz (/), ignorando otros sistemas de archivos montados (-xdev) y con un tamaño mínimo (por ejemplo, 100MB):
find / -xdev -type f -size +100M -print0 | xargs -0 du -h | sort -rh | head -n 10
Desglosando esto:
find / -xdev -type f -size +100M -print0: Busca desde la raíz (/), no cruza sistemas de archivos (-xdev), busca solo archivos (-type f), y con un tamaño mayor a 100MB (-size +100M).-print0es para pasar nombres de archivo con espacios o caracteres especiales de forma segura al siguiente comando.| xargs -0 du -h: Toma la lista de archivos defindy ejecutadu -hen cada uno, obteniendo su tamaño.| sort -rh | head -n 10: Ordena los resultados por tamaño (de mayor a menor) y muestra los 10 primeros.
Esta es una secuencia de comandos avanzada pero extremadamente útil para una limpieza profunda.
Encontrar Archivos Antiguos
Para encontrar archivos modificados hace más de 30 días en /tmp (un lugar común para acumular basura):
find /tmp -type f -mtime +30 -print
Puedes cambiar -mtime +30 para otros rangos (por ejemplo, -mtime -7 para archivos modificados en los últimos 7 días).
¡Advertencia! Al usar find con acciones de borrado (como -delete o -exec rm {} \;), ¡sé extremadamente cuidadoso! Siempre prueba tu comando find sin la parte de borrado primero para asegurarte de que lista los archivos correctos. Un error aquí puede ser catastrófico.
ncdu: Una Interfaz Gráfica en la Consola (si está disponible)
ncdu (NCurses Disk Usage) es una herramienta fantástica que ofrece una interfaz interactiva de usuario en la consola para analizar el uso del disco. No viene preinstalado en todos los sistemas, pero si lo tienes (o puedes instalarlo con sudo apt install ncdu en Debian/Ubuntu o sudo yum install ncdu en RHEL/CentOS), es un salvavidas.
ncdu /
ncdu escaneará el directorio especificado y te presentará una vista jerárquica que puedes navegar con las teclas de flecha. Muestra el tamaño de directorios y archivos, y te permite «entrar» en los directorios para ver su contenido. Es una forma muy intuitiva de visualizar dónde se está yendo el espacio sin tener que teclear complejos comandos du y sort repetidamente. En mi día a día, si tengo que hacer una limpieza de emergencia en un servidor, ncdu es mi primera opción si está disponible.
Gestión Proactiva del Espacio en Disco
No basta con saber cómo ver el espacio libre en disco en la consola de Linux. También es importante adoptar prácticas proactivas para evitar que el problema ocurra. Aquí hay algunas consideraciones:
- Rotación de Logs: Asegúrate de que tus logs estén configurados para rotar (usando
logrotate) y comprimirse o eliminarse periódicamente. Los logs son los culpables más comunes del consumo excesivo de espacio. - Directorios Temporales: Limpia regularmente
/tmp,/var/tmpy los directorios de caché de tu aplicación. Muchos sistemas operativos tienen servicios que hacen esto automáticamente, pero vale la pena verificarlo. - Copias de Seguridad Antiguas: Si haces copias de seguridad localmente, asegúrate de que haya una política para eliminar las copias más antiguas. Es fácil acumular terabytes de backups obsoletos.
- Contenedores y Máquinas Virtuales: Los entornos como Docker o sistemas de virtualización pueden generar imágenes y volúmenes enormes si no se gestionan. Comandos como
docker system pruneson esenciales. - Monitoreo: Implementa herramientas de monitoreo (Nagios, Prometheus, Grafana, Zabbix) que te alerten cuando el uso del disco exceda un cierto umbral. Esto te da tiempo para actuar antes de que el disco se llene por completo.
Tabla de Comandos Esenciales para el Espacio en Disco
Aquí tienes un resumen rápido de los comandos que hemos cubierto, sus usos principales y algunas opciones clave:
| Comando | Descripción Principal | Opciones Comunes | Ejemplo de Uso |
|---|---|---|---|
df |
Reporta el uso del espacio en disco por sistema de archivos. Visión general. | -h (human-readable), -a (todos), -T (tipo de FS), -i (inodos), -x (excluir tipo), -t (incluir tipo) |
df -hTdf -hi /var |
du |
Estima el uso del espacio de un archivo o directorio. Detallado. | -h (human-readable), -s (resumir), -a (archivos y directorios), --max-depth=N (profundidad), --exclude=PATRON |
du -sh /home/usuariodu -h --max-depth=1 /var | sort -rh | head |
ls |
Lista el contenido de un directorio. Útil para tamaños de archivos individuales. | -l (formato largo), -h (human-readable), -a (todos), -S (ordenar por tamaño) |
ls -lh /var/logls -lahS /tmp | head |
find |
Busca archivos y directorios con base en criterios. Muy potente para limpieza. | -type f (archivos), -size +N (tamaño), -mtime +N (fecha de modif.), -delete (borrar), -exec COMANDO {} \; |
find /var -type f -size +1Gfind /tmp -type f -mtime +7 -delete |
ncdu |
Utilidad interactiva en consola para analizar el uso del disco. Visual. (Requiere instalación) | (No requiere opciones comunes para uso básico, interactivo) | ncdu /homencdu -x / |
Preguntas Frecuentes sobre el Espacio en Disco en Linux
¿Por qué mi disco sigue lleno después de borrar archivos?
Esta es una situación frustrante y bastante común. La razón principal es que, aunque hayas borrado archivos de la jerarquía de directorios (usando rm), si un proceso aún tiene uno de esos archivos abierto, el sistema operativo no liberará los bloques de disco hasta que ese proceso cierre el archivo o termine. Es como si el archivo estuviera «en uso» por el programa, incluso si ya no aparece en el listado de directorios.
Para solucionar esto, puedes usar el comando lsof (list open files). Ejecuta lsof | grep deleted para ver los archivos que han sido eliminados pero aún están abiertos por algún proceso. La salida te mostrará el PID (Process ID) del proceso y el nombre del archivo. Una vez identificado el proceso, puedes intentar reiniciar el servicio asociado o, si es seguro, matar el proceso (kill PID) para liberar el espacio. Asegúrate de entender qué estás matando antes de hacerlo, especialmente en un entorno de producción.
¿Cómo puedo ver el espacio libre de un sistema de archivos específico?
Si quieres centrarte en una partición o punto de montaje en particular y no ver toda la lista que df -h te ofrece, simplemente especifica la ruta después del comando.
Por ejemplo, para ver el espacio disponible en la partición raíz (/):
df -h /
O si tienes una partición montada en /mnt/datos:
df -h /mnt/datos
Esto te dará una única línea de salida para el sistema de archivos que te interesa, simplificando la lectura cuando solo necesitas información de una ubicación específica. Es una forma muy eficiente de monitorear un volumen crítico sin ruido.
¿Qué son los inodos y por qué son importantes?
Como mencionamos brevemente, los inodos son estructuras de datos en el sistema de archivos que almacenan información sobre los archivos y directorios, pero no su contenido. Cada archivo o directorio en un sistema de archivos Linux tiene un inodo único asociado. Los metadatos del archivo (propietario, permisos, fecha de creación/modificación, tamaño, tipo de archivo y la ubicación de los bloques de datos en el disco) se almacenan en el inodo.
Son importantes porque, si bien tu disco puede tener gigabytes de espacio disponible, si te quedas sin inodos, no podrás crear nuevos archivos ni directorios, incluso si el espacio en disco parece abundante. Esto suele suceder en escenarios donde se almacenan millones de archivos muy pequeños, como cachés de proxies web, sesiones de usuario o directorios de correo electrónico. Puedes monitorear el uso de inodos con df -hi. Si el porcentaje de uso de inodos se acerca al 100%, necesitas identificar y eliminar los archivos pequeños innecesarios para liberar inodos, no solo espacio en bytes.
¿Cómo puedo encontrar los archivos más grandes en un directorio o en todo el sistema?
Para encontrar los archivos más grandes, la combinación de du, sort y head es tu mejor amiga. Si quieres ver los 10 archivos más grandes en un directorio específico, digamos /var/log:
du -a /var/log | sort -rh | head -n 10
La opción -a en du asegura que se listen tanto los archivos como los directorios, y sort -rh ordenará la salida de forma legible para humanos y de mayor a menor. Si quieres buscar en todo el sistema, pero excluyendo otros sistemas de archivos (como montajes de red o dispositivos externos) para no tardar una eternidad, puedes usar find con la opción -xdev:
find / -xdev -type f -print0 | xargs -0 du -h | sort -rh | head -n 10
Este comando buscará archivos (-type f) desde la raíz (/), sin cruzar a otros sistemas de archivos (-xdev). Luego, procesa los resultados para mostrarte los 10 archivos más grandes. Ten en cuenta que esto puede llevar tiempo en sistemas con muchos archivos o en discos grandes.
¿Qué hago si mi disco está lleno y no puedo iniciar sesión o ejecutar comandos?
Esta es una situación crítica que he enfrentado varias veces. Cuando el disco raíz (/) se llena por completo, incluso comandos básicos pueden fallar porque no hay espacio para archivos temporales, para escribir en logs o incluso para que un programa cree un archivo de bloqueo. Si no puedes iniciar sesión normalmente, intenta iniciar en modo de recuperación (single-user mode) o arrancar desde un Live CD/USB de Linux. Esto te permitirá acceder al sistema de archivos con un sistema operativo funcional y herramientas.
Una vez que tengas acceso, lo primero es identificar los «gorrones» de espacio usando du -h --max-depth=1 / | sort -rh | head. Concéntrate en eliminar archivos no esenciales y grandes: logs antiguos, cachés de paquetes (como /var/cache/apt/archives en Debian/Ubuntu), directorios temporales (/tmp), y copias de seguridad viejas. A veces, con solo liberar unos pocos megabytes, puedes hacer que el sistema sea lo suficientemente funcional como para diagnosticar el problema de forma más exhaustiva y aplicar una solución más permanente.
¿Cómo puedo limpiar espacio en disco de forma segura en Linux?
Limpiar espacio en disco requiere precaución para no borrar archivos vitales del sistema. Aquí hay algunos pasos seguros y recomendados:
- Vaciar la Papelera de Reciclaje (si aplica): Si utilizas un entorno de escritorio, asegúrate de que la papelera esté vacía. En servidores, esto no es un problema.
- Limpiar cachés de paquetes:
- Debian/Ubuntu:
sudo apt cleanosudo apt autoremovepara eliminar paquetes huérfanos. - RHEL/CentOS:
sudo yum clean allosudo dnf clean all.
- Debian/Ubuntu:
- Rotar y Comprimir logs: Los archivos en
/var/logson a menudo los mayores culpables. Asegúrate de quelogrotateesté configurado y funcionando. Puedes iniciar una rotación manual para un archivo específico si es urgente, o incluso eliminar logs muy antiguos si no son necesarios para auditoría o depuración. ¡Siempre con cautela! No borres logs actuales que puedan estar siendo escritos. - Eliminar archivos temporales: Vacía directorios como
/tmpy/var/tmp. Ten cuidado de no borrar archivos temporales que estén actualmente en uso por otros programas. Un reinicio del sistema suele limpiar/tmpautomáticamente (si es un tmpfs o está montado con la opciónnoatimeen fstab). - Revisar directorios de usuario: Si tienes muchos usuarios, sus directorios
~/Downloads,~/Desktopo~/.cachepueden acumular mucho espacio. - Archivos de core dumps: Busca archivos llamados
coreen la raíz de los directorios de programas que fallaron. Estos son volcados de memoria y pueden ser muy grandes. - Imágenes y contenedores Docker antiguos: Si usas Docker, los comandos como
docker system pruneson excelentes para limpiar imágenes, contenedores, volúmenes y redes sin usar.
Antes de borrar cualquier cosa, siempre verifica dos veces el contenido y la importancia del archivo. Usar du -sh /ruta/a/borrar antes de rm -rf /ruta/a/borrar es una buena práctica para confirmar que estás eliminando lo que esperas.
Conclusión
Dominar el arte de cómo puedo ver el espacio libre en disco en la consola de Linux es una habilidad esencial para cualquier persona que interactúe con sistemas Linux. Desde el diagnóstico rápido con df hasta la investigación profunda con du y find, las herramientas que hemos explorado te proporcionan un control sin precedentes sobre el almacenamiento de tu sistema. Comprender las discrepancias entre df y du, el papel crucial de los inodos y la importancia de la gestión proactiva, te permitirá mantener tus sistemas funcionando sin problemas y evitar esas situaciones de pánico que todos hemos experimentado.
La consola de Linux, lejos de ser intimidante, es un entorno increíblemente potente y transparente. Con estos comandos y una pizca de paciencia, puedes desentrañar los misterios del consumo de espacio y convertirte en un verdadero maestro de la gestión del almacenamiento. Así que la próxima vez que tu sistema empiece a quejarse, ya sabes que tienes el conocimiento y las herramientas para ponerlo a raya.