Cuando trabajas en Linux y empiezas a quedarte sin espacio en disco, la pregunta no es si algo ocupa demasiado, sino qué directorio o archivo es el responsable. En mi caso, más de una vez he tenido que localizar rápidamente carpetas enormes, detectar cuáles superaban 1 GB o simplemente entender en qué se estaba yendo el espacio.
En esta guía te muestro cómo ver el tamaño de los directorios y archivos en Linux, desde lo más básico hasta combinaciones prácticas que uso a diario con du, para que puedas auditar tu sistema sin perder tiempo.
En esta entrada veremos algunos comandos que nos permitirán ver cuando ocupan (el tamaño) los directorios y archivos, cuales son los directorios más pesados, cuales son los que pesan más de un Gb, entre otros; para esto empleamos el comando
du.
Por qué no basta con ls para saber cuánto ocupa una carpeta
El comando ls suele ser el primer recurso:
ls -lhCon las opciones:
- -l: formato largo
- -h: tamaño legible (KB, MB, GB)
Esto funciona bien para archivos, pero con directorios es engañoso. El tamaño que muestra ls corresponde al directorio en sí, no al contenido que alberga. Por eso, aunque es útil para listar archivos, no sirve para saber cuánto ocupa realmente una carpeta.
Ahí es donde entra en juego el comando correcto.
Opciones del comando du [opciones] [archivo]: la forma correcta de ver el tamaño de directorios en Linux
Su sintaxis básica es:
du [opciones] [archivo o directorio]Existen varias opciones para este comando las cuales puedes consultar y estudiar a través del comando man du, aunque entre las que considero más importantes tenemos las siguientes tres:
-s | Con esta opción indicamos que solo tome en consideración los archivos especificados (* para todos los archivos). |
-c | Esta opción la podemos emplear para que nos muestre el total del espacio consumido. |
-h | Esta opción sirve para mejorar la legibilidad de los datos presentados al agregar el tamaño de los archivos en kb, mb, gb... |
Ejemplos comunes de uso del comando du
Explicado brevemente sus opciones, veamos algunos ejemplos en donde empleamos estas opciones:
Para ver el tamaño de los archivos listados en algún directorio (carpeta) y archivos:
[andres@localhost ~]$ du -s *
49180 androidemulator
604860 backup linux
19916 bucardo
4 bucardo.restart.reason.log
4 bucardo.restart.reason.txt
649532 Descargas
8 Desktop
52240 Documentos
90020 Documents
3722728 Dropbox
4 Escritorio
135196 glassfish-4.1
3852 Imágenes
32728 jre-oraclejava.rpm
4 Música
620488 netbeans-8.0.2
40 NetBeansProjects
25188 oo.war
52 pgadmin.log
4 Plantillas
4 Público
750560 sts-bundle
4 Vídeos
452280 workspaceAunque la salida anterior la sección numérica que corresponde al tamaño es algo engorrosa de entender, para corregir esto y colocar el tamaño de los archivos y directorios en un formato más legible empleamos el siguiente comando:
[andres@localhost ~]$ du -sh *
49M androidemulator
591M backup linux
20M bucardo
4,0K bucardo.restart.reason.log
4,0K bucardo.restart.reason.txt
635M Descargas
8,0K Desktop
52M Documentos
88M Documents
3,6G Dropbox
4,0K Escritorio
133M glassfish-4.1
3,8M Imágenes
32M jre-oraclejava.rpm
4,0K Música
606M netbeans-8.0.2
40K NetBeansProjects
25M oo.war
52K pgadmin.log
4,0K Plantillas
4,0K Público
733M sts-bundle
4,0K Vídeos
442M workspaceAhora, si queremos ver además de la información anterior el espacio total consumido u ocupado:
[andres@localhost ~]$ du -csh *
49M androidemulator
591M backup linux
20M bucardo
4,0K bucardo.restart.reason.log
4,0K bucardo.restart.reason.txt
635M Descargas
8,0K Desktop
52M Documentos
88M Documents
3,6G Dropbox
4,0K Escritorio
133M glassfish-4.1
3,8M Imágenes
32M jre-oraclejava.rpm
4,0K Música
606M netbeans-8.0.2
40K NetBeansProjects
25M oo.war
52K pgadmin.log
4,0K Plantillas
4,0K Público
733M sts-bundle
4,0K Vídeos
442M workspace
6,9G totalVer el tamaño total de un directorio en formato legible
Si solo quieres saber cuánto ocupa un directorio completo, este es el comando más directo:
du -sh directorioEjemplo real:
du -sh DropboxSalida:
3,6G DropboxEs el comando que suelo usar como primer paso cuando algo “huele” a consumo excesivo de disco.
Mostrar el tamaño de archivos y subdirectorios
Para ver qué hay dentro de un directorio y cuánto ocupa cada cosa:
du -sh *Esto muestra archivos y carpetas con su tamaño total, algo mucho más útil que una lista plana. En sistemas reales aparecen mezclados documentos, logs, proyectos, descargas… justo lo que necesitas analizar.
Mostrar también el total ocupado
Cuando quiero saber cuánto espacio ocupa todo en conjunto, añado -c:
du -csh *Al final obtendrás una línea con el total general, ideal para contrastar con el espacio disponible en el sistema.
Limitar la profundidad de carpetas con du --max-depth
En estructuras grandes, mostrar todo puede ser excesivo. Para limitar niveles de profundidad:
du -h --max-depth=1Esto muestra solo los directorios inmediatamente debajo del actual, manteniendo el total correcto. Es muy útil cuando tienes árboles grandes y solo quieres identificar qué carpeta raíz es la problemática.
Ordenar directorios y archivos por tamaño
Aquí es donde du empieza a brillar de verdad cuando lo combinas con otros comandos.
Para ordenar de menor a mayor:
du -h | sort -hY de mayor a menor (mi caso más habitual):
du -h | sort -h -rCuando estoy limpiando espacio, casi siempre empiezo así para atacar directamente lo más pesado.
Ver solo los directorios que ocupan más de 1 GB
Si solo te interesan carpetas grandes, puedes filtrar fácilmente:
du -csh * | grep GEn mi experiencia, esto es ideal para detectar directorios “olvidados” que han ido creciendo sin control.
Mostrar los archivos y carpetas más pesados (top N)
Para ver, por ejemplo, los 3 directorios o archivos que más espacio ocupan:
du -csh * | sort -nr | head -3Este tipo de combinación es la que realmente marca la diferencia frente a los tutoriales básicos, porque responde directamente a la pregunta: ¿qué borro o muevo primero?
Empleando múltiples comandos
Cómo debes saber si usas Linux, para enviar la información de un comando a otro empleamos pipe (|) para emplear otros comandos; por ejemplo, si solo te interesan los archivos y directorios que ocupen más de 1 Gb:
[andres@localhost ~]$ du -csh * | grep G
3,6G Dropbox
6,9G totalSi quisiéramos ver los archivos desde el más pesado al más liviano (ordenados):
[andres@localhost ~]$ du -cs * | sort -nr
8747536 total
3881532 Dropbox
2032968 Descargas
747856 sts-bundle
620488 netbeans-8.0.2
604860 backup linux
452280 workspace
135196 glassfish-4.1
89124 Documents
52240 Documentos
49180 androidemulator
32728 jre-oraclejava.rpm
25188 oo.war
19916 bucardo
3852 Imágenes
52 pgadmin.log
40 NetBeansProjects
8 Desktop
4 Vídeos
4 Público
4 Plantillas
4 Música
4 Escritorio
4 bucardo.restart.reason.txt
4 bucardo.restart.reason.logSi por ejemplo, quisiéramos ver los 3 archivos y carpetas más pesados:
[andres@localhost ~]$ du -csh * | sort -nr | head -3
733M sts-bundle
635M Descargas
606M netbeans-8.0.2Estas fueron algunas combinaciones empleando el comando du en conjunto con otros comandos y sus principales opciones, aquellos que considero los más útiles según sea la necesidad, pero existen muchísimas más combinación en donde parece que la imaginación es el limite…
Consejos prácticos al analizar uso de disco en Linux
- Algunos detalles que he aprendido con el uso diario:
- du puede tardar en sistemas grandes o con muchos archivos pequeños.
- En directorios del sistema, puede ser necesario usar sudo.
- Los tamaños de du reflejan bloques usados, no siempre el tamaño “lógico”.
- Directorios que pesan 4.0K suelen estar vacíos o solo contienen metadatos.
Preguntas frecuentes
- ¿Qué comando se usa para ver el tamaño de un directorio en Linux?
- du, especialmente con -sh.
- ¿Por qué ls no muestra el tamaño real de una carpeta?
- Porque solo muestra el tamaño del directorio, no de su contenido.
- ¿Cómo ver los directorios más pesados?
- Con du -h | sort -h -r.
- ¿du muestra el tamaño real o el espacio en disco?
- Muestra el espacio realmente ocupado en disco.
Conclusión
Saber cómo ver el tamaño de los directorios y archivos en Linux es clave para mantener un sistema sano. Aunque ls puede servir para una vista rápida, el verdadero trabajo se hace con du y, sobre todo, combinándolo con sort, grep y head.
En mi caso, estas combinaciones me han ahorrado horas al diagnosticar problemas de espacio tanto en escritorios como en servidores. Una vez las interiorizas, analizar el uso de disco se vuelve rápido y casi automático.