Cómo encontrar los archivos y directorios que más espacio ocupan en Linux

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 y awk para ordenar y formatear los resultados.

Herramientas avanzadas recomendadas:

  • iotop para analizar procesos con alto consumo de disco.
  • gdu y ncdu 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

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana.

¡Apúntate a nuestro newsletter!


– patrocinadores –

Noticias destacadas

– patrocinadores –

¡SUSCRÍBETE AL BOLETÍN
DE LOS SYSADMINS!

Scroll al inicio