Introducción
En entornos Linux resulta fundamental conocer qué carpetas consumen más espacio en disco, sobre todo en servidores con capacidad limitada o al gestionar respaldos. En este artículo presentaremos un truco sencillo y potente para listar directorios ordenados por tamaño, empleando únicamente herramientas propias del sistema: du
, sort
y, de forma opcional, utilidades interactivas como ncdu o duf. Veremos ejemplos paso a paso, variantes avanzadas, integraciones con Bash y buenas prácticas para mantener tu disco sano y organizado.
1. Fundamentos: du y sort
La herramienta du
(Disk Usage) calcula el espacio en disco de archivos y directorios. Su sintaxis básica:
du [OPCIONES] [ARCHIVO...]
Por su parte, sort
permite ordenar líneas de texto según distintos criterios, incluyendo un modo numérico y human-readable (lectura por humanos).
Combinando ambas obtenemos un listado ordenado de directorios según su tamaño:
du -sh sort -h
- -s (summarize): muestra sólo el total de cada argumento.
- -h (human-readable): muestra tamaños en KB, MB, GB.
- sort -h: ordena respetando sufijos de tamaño (K, M, G).
2. Ejemplos prácticos
2.1 Listado en directorio actual
cd /ruta/a/tu/proyecto du -sh sort -h
Salida típica:
Tamaño | Directorio/Archivo |
---|---|
4.0K | config.yml |
50M | logs |
1.2G | backup_2024 |
2.2 Controlando profundidad
Para limitar el nivel de subdirectorios:
du -h --max-depth=1 /var sort -h
- –max-depth=1: sólo directorios de primer nivel bajo
/var
.
2.3 Filtrar tipos de archivo con find
Si buscas sólo directorios concretos o archivos grandes:
find /ruta -mindepth 1 -maxdepth 1 -type d -print0 xargs -0 du -sh sort -h
- -type d: selecciona sólo directorios.
- -print0 y xargs -0: manejan nombres con espacios.
3. Automatización en Bash
Para no teclear siempre la misma línea, crea un alias o función en tu ~/.bashrc
:
# Alias simple alias dusort=du -sh sort -h # Función con opciones dusf() { local dir={1:-.} local depth={2:-1} du -h --max-depth=depth dir 2>/dev/null sort -h }
Tras recargar tu shell (source ~/.bashrc
), invoca dusort
o dusf /ruta 2
.
4. Herramientas interactivas
Si prefieres explorar visualmente, prueba:
- ncdu: interfaz ncurses para navegar y eliminar archivos.
- duf: alternativa moderna en Go con colores suaves.
Instala ncdu en Debian/Ubuntu con sudo apt install ncdu
y ejecútalo:
ncdu /ruta/a/analizar
5. Buenas prácticas y consideraciones
- Permisos:
du
sin permisos de lectura omitirá ciertas carpetas. Usasudo
si es crítico. - Unidades de red: montajes NFS o CIFS pueden ralentizar el comando. Considera
du --apparent-size
o limitarlos con--exclude
. - Archivos borrados: si un proceso mantiene abierto un archivo eliminado, el espacio no aparecerá en el listado. Usa
lsof L1
para detectarlos. - Automatización: integra estas llamadas en scripts de monitoreo o alertas por correo.
6. Resumen de comandos clave
Acción | Comando |
---|---|
Listar tamaño de subdirectorios | du -sh sort -h |
Limitar profundidad | du -h --max-depth=1 . sort -h |
Filtrar con find | find . -type d -print0 xargs -0 du -sh sort -h |
Interfaz ncurses | ncdu /ruta |
Conclusión
Dominar du
y sort
es suficiente para diagnosticar rápidamente los mayores consumidores de espacio en tu sistema. Con los ejemplos y funciones presentados, ahorrarás tiempo y mantendrás un disco ordenado. Cuando necesites una aproximación interactiva, herramientas como ncdu o duf complementan perfectamente este flujo de trabajo. ¡Manos a la obra y que no te queden sorpresas al quedarte sin espacio!
Leave a Reply