Cómo puedo ver el espacio libre en disco en la consola de Linux: Una guía completa para gestionar tu almacenamiento

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 ver tmpfs, que son sistemas de archivos temporales basados en RAM.
  • Tamaño: El tamaño total de ese sistema de archivos. La opción -h lo 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/datos podrí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 de du como 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.

  1. 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 du y 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, df mostrará más espacio usado que du.

    Para detectar esto, puedes usar el comando lsof. Por ejemplo, lsof | grep deleted o lsof | grep /dev/sda1 | grep deleted (reemplazando /dev/sda1 por 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 (como kill -HUP PID si soporta recargar la configuración sin reiniciar) puede liberar el espacio.

  2. Bloques Reservados por el Sistema de Archivos: Los sistemas de archivos como ext4 suelen 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. df tiene en cuenta este espacio reservado como «no disponible para usuarios normales», mientras que du solo suma el tamaño de los archivos existentes. Esto significa que df podría mostrar menos «Disp.» que lo que realmente queda si eres root, o el «Usados» podría parecer mayor de lo que du calcula porque incluye esta reserva en el cálculo total. Puedes ver o cambiar esta reserva con tune2fs -l /dev/sda1 y tune2fs -m X /dev/sda1.
  3. 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. du ignorará estos datos ocultos porque no puede verlos a través del nuevo punto de montaje. Sin embargo, df seguirá 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.
  4. Diferencias en el Conteo de Inodos: Como mencionamos, los inodos son estructuras de datos que describen archivos y directorios. df -i muestra el uso de inodos. du se 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.
  5. 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. df los contará como usados, mientras que du no. Herramientas como fsck pueden 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). -print0 es 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 de find y ejecuta du -h en 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/tmp y 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 prune son 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 -hT
df -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/usuario
du -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/log
ls -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 +1G
find /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 /home
ncdu -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 clean o sudo apt autoremove para eliminar paquetes huérfanos.
    • RHEL/CentOS: sudo yum clean all o sudo dnf clean all.
  • Rotar y Comprimir logs: Los archivos en /var/log son a menudo los mayores culpables. Asegúrate de que logrotate esté 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 /tmp y /var/tmp. Ten cuidado de no borrar archivos temporales que estén actualmente en uso por otros programas. Un reinicio del sistema suele limpiar /tmp automáticamente (si es un tmpfs o está montado con la opción noatime en fstab).
  • Revisar directorios de usuario: Si tienes muchos usuarios, sus directorios ~/Downloads, ~/Desktop o ~/.cache pueden acumular mucho espacio.
  • Archivos de core dumps: Busca archivos llamados core en 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 prune son 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.

Cómo puedo ver el espacio libre en disco en la consola de Linux

Spread the love