En sistemas Linux, gestionar el almacenamiento de manera eficiente es fundamental para optimizar el rendimiento del sistema. Para ello, es necesario identificar los archivos y directorios que más espacio ocupan en el disco. A continuación, se presentan diferentes métodos utilizando comandos incorporados en Linux y herramientas de terceros.
1. Uso de utilidades integradas en Linux para verificar el uso del disco
Linux ofrece diversas herramientas incorporadas para monitorizar el uso del disco sin necesidad de instalar software adicional.
1.1 Identificar archivos más grandes
Para encontrar los 10 archivos más grandes en el directorio actual, usa:
du . | sort -nr | head -n10
🔹 Explicación del comando:
du .
→ Muestra el uso del disco en el directorio actual.sort -nr
→ Ordena los resultados en orden descendente.head -n10
→ Muestra los 10 archivos más grandes.
1.2 Identificar directorios más grandes
Para listar los directorios con más espacio ocupado en el directorio actual:
du -s * | sort -nr | head -n10
🔹 Explicación:
du -s *
→ Resume el tamaño de cada directorio.sort -nr
→ Ordena los resultados en orden descendente.head -n10
→ Muestra los 10 directorios más grandes.
1.3 Encontrar los archivos más grandes con GNU Tools
Se pueden usar comandos más avanzados con find
para identificar archivos de gran tamaño.
Método 1: Buscar archivos mayores a 20 MB
find ~ -type f -size +20000k -exec ls -lh {} \; 2> /dev/null | awk '{ print $NF ": " $5 }' | sort -hrk 2,2
🔹 Explicación del comando:
find ~ -type f -size +20000k
→ Busca archivos mayores a 20 MB en el directorio home.-exec ls -lh {} \;
→ Muestra información detallada del archivo.awk '{ print $NF ": " $5 }'
→ Extrae el nombre del archivo y su tamaño.sort -hrk 2,2
→ Ordena los resultados por tamaño en orden descendente.
Método 2: Mostrar los 20 archivos más grandes en el home del usuario
find ~ -type f -printf '%b %p\0' | sort -rzn | head -zn 20 | tr '\0' '\n'
🔹 Explicación:
find ~ -type f -printf '%b %p\0'
→ Busca archivos en home y muestra el tamaño en bloques de 512 bytes.sort -rzn
→ Ordena los archivos en orden descendente.head -zn 20
→ Muestra los 20 archivos más grandes.tr '\0' '\n'
→ Convierte los separadores nulos en saltos de línea.
👉 Nota: Para una mejor legibilidad, puedes convertir los tamaños a formatos legibles con numfmt
:
find ~ -type f -printf '%b %p\0' | sort -rzn | head -zn 20 | numfmt -z --from-unit=512 --to=iec | tr '\0' '\n'
1.4 Evaluar el uso del disco por directorios
Para verificar cuánto espacio ocupa cada directorio en la raíz del sistema (/
):
cd /
du -sh * | grep G
🔹 Explicación:
du -sh *
→ Muestra el tamaño de cada directorio en la raíz del sistema en formato legible.grep G
→ Filtra solo los directorios con tamaño en Gigabytes.
2. Uso de herramientas de terceros para evaluar el uso del disco
Además de los comandos incorporados, hay herramientas avanzadas que facilitan la gestión del almacenamiento en Linux.
2.1 iotop (Monitor de E/S de disco en tiempo real)
iotop
es útil para identificar procesos que consumen demasiados recursos de disco.
🔹 Instalación en Debian/Ubuntu:
sudo apt update
sudo apt install iotop-c
🔹 Uso:
iotop -oPa
📌 Parámetros clave:
-o
→ Muestra solo procesos con actividad de E/S.-P
→ Muestra la ruta de los procesos.-a
→ Muestra valores acumulados de uso de disco.
2.2 gdu (Go Disk Usage)
Una herramienta rápida para analizar el uso del disco, optimizada para SSD y HDD.
🔹 Instalación:
sudo apt install gdu
🔹 Uso:
gdu /
📌 Permite navegar con las teclas de flecha para explorar los directorios más grandes.
2.3 dua (Disk Usage Analyzer)
dua
ofrece una interfaz interactiva para explorar y eliminar archivos grandes de manera segura.
🔹 Instalación:
curl -LO https://github.com/Byron/dua-cli/releases/latest/download/dua_linux_amd64
chmod +x dua_linux_amd64
sudo mv dua_linux_amd64 /usr/local/bin/dua
🔹 Uso:
dua i # Modo interactivo para analizar y eliminar archivos grandes
2.4 ncdu (NCurses Disk Usage Analyzer)
Una alternativa interactiva en la terminal para analizar el uso del disco.
🔹 Instalación:
sudo apt update
sudo apt install ncdu
🔹 Uso:
ncdu /
📌 Muestra una interfaz interactiva en la terminal para navegar y eliminar archivos innecesarios.
Conclusión
Hemos explorado diversas formas de analizar y gestionar el uso del disco en Linux, desde comandos básicos hasta herramientas avanzadas.
✅ Comandos básicos útiles:
du
para ver el tamaño de archivos y directorios.find
para buscar archivos grandes.sort
yawk
para ordenar y formatear los resultados.
✅ Herramientas avanzadas recomendadas:
iotop
para analizar procesos con alto consumo de disco.gdu
yncdu
para navegación interactiva de uso del disco.dua
para analizar y liberar espacio fácilmente.
Con estos métodos, podrás optimizar el almacenamiento de tu servidor Linux y mejorar su rendimiento. 🚀
English Edition: How to Find the Largest Disk Space Directories and Files in Linux