¿Cómo Ver el Tamaño de una Carpeta y Archivos en Linux (Comando du)?

- Andrés Cruz - EN In english

¿Cómo Ver el Tamaño de una Carpeta y Archivos en Linux (Comando du)?

Cuando trabajas en Linux y empiezas a quedarte sin espacio en disco, la pregunta no es solo si el almacenamiento está lleno, sino qué directorio o archivo es el responsable. En mi experiencia diaria administrando servidores y entornos locales, 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 consumiendo el espacio.

En esta guía aprenderás cómo ver el tamaño de los directorios y archivos en Linux directamente desde la terminal. Analizaremos desde la sintaxis del comando du (Disk Usage) hasta combinaciones avanzadas con sort, grep y head para auditar tu sistema de forma rápida y sin perder tiempo.

Resumen rápido: Si necesitas saber cómo ver el tamaño de una carpeta en Linux o cuánto pesa un archivo en consola, el comando principal es du -sh /ruta. Para ordenar directorios de mayor a menor y detectar los más pesados, la combinación ideal es du -h --max-depth=1 | sort -hr.

Por qué el comando ls no basta para saber cuánto ocupa una carpeta

Si estás buscando el comando de Linux para mostrar el contenido de una carpeta o el listado de archivos, el primer recurso que viene a la mente es ls:

ls -lh

Donde sus parámetros representan:

  • -l: Muestra el listado en formato largo y detallado (permisos, propietario, fecha).
  • -h: Expresa el tamaño en un formato legible por humanos (human-readable: KB, MB, GB).

Esto funciona perfectamente para medir archivos individuales. Sin embargo, para saber cuánto pesa una carpeta en Linux, ls resulta engañoso: solo muestra el tamaño de la entrada del propio directorio en el sistema de archivos (habitualmente 4.0K o 4096 bytes), ignorando por completo el contenido acumulado dentro de esa carpeta.

Por esta razón, para averiguar el tamaño real de los archivos y carpetas en la consola de Linux, debemos utilizar el comando du.

Sintaxis y opciones del comando du: La forma correcta de ver el tamaño de directorios en Linux

El comando du (siglas de Disk Usage) es la herramienta estándar en sistemas Unix/Linux para calcular la ocupación real en disco de cualquier fichero o directorio. Su sintaxis básica es:

du [opciones] [archivo_o_directorio]

Puedes consultar la documentación oficial ejecutando man du en tu terminal. Las opciones principales que usarás en el día a día son:

Opción / BanderasDescripción y uso principal
-s (--summarize)Muestra únicamente el resumen total acumulado del elemento especificado, sin detallar cada subdirectorio interno.
-h (--human-readable)Muestra los tamaños en unidades legibles (como K, M, G).
-c (--total)Imprime una fila adicional al final con el cálculo total consumido por todos los elementos indicados.
--max-depth=NLimita la profundidad del análisis a N niveles de subcarpetas, evitando volcado masivo de datos en pantallas extensas.

Ejemplos prácticos: Cómo saber cuánto pesa una carpeta o archivo

Veamos los escenarios más habituales al analizar archivos y directorios desde la consola de Linux:

1. Ver el tamaño en bloques de archivos y carpetas

Al ejecutar du -s * dentro de tu directorio de trabajo, el comando muestra el peso en bloques estándar de 1 Kilobyte (1024 bytes):

[andres@localhost ~]$ du -s *
49180	androidemulator
604860	backup linux
19916	bucardo
4	bucardo.restart.reason.log
649532	Descargas
52240	Documentos
3722728	Dropbox
135196	glassfish-4.1
3852	Imágenes
32728	jre-oraclejava.rpm
620488	netbeans-8.0.2
25188	oo.war
750560	sts-bundle
452280	workspace

2. Ver el tamaño de carpetas y archivos en formato legible (KB, MB, GB)

Para transformar esos bloques de números en lecturas comprensibles en Megabytes (M) o Gigabytes (G), añadimos la opción -h (du -sh *):

[andres@localhost ~]$ du -sh *
49M	androidemulator
591M	backup linux
20M	bucardo
4,0K	bucardo.restart.reason.log
635M	Descargas
52M	Documentos
3,6G	Dropbox
133M	glassfish-4.1
3,8M	Imágenes
32M	jre-oraclejava.rpm
606M	netbeans-8.0.2
25M	oo.war
733M	sts-bundle
442M	workspace

3. Ver el total general acumulado con -c

Para obtener una suma total de todo el contenido analizado al final del listado, incorporamos la bandera -c (du -csh *):

[andres@localhost ~]$ du -csh *
49M	androidemulator
591M	backup linux
20M	bucardo
635M	Descargas
3,6G	Dropbox
606M	netbeans-8.0.2
733M	sts-bundle
442M	workspace
6,9G	total

4. Consultar cuánto pesa una carpeta en particular

Para consultar rápidamente el tamaño de una única carpeta en Linux (por ejemplo, la carpeta Dropbox), simplemente pasa su nombre o ruta como argumento:

du -sh Dropbox

Salida estimada:

3,6G    Dropbox

5. Limitar niveles de inspección con --max-depth

Cuando escaneas proyectos grandes con miles de subcarpetas (como directorios node_modules, carpetas vendor o repositorios git), puedes restringir el nivel de exploración con:

du -h --max-depth=1

Esto imprimirá exclusivamente las carpetas hijas del primer nivel sin perder la precisión en el cálculo total.

Combinaciones avanzadas: Ordenar y detectar los directorios más pesados

La consola de Linux destaca cuando combinamos el comando du con otras utilidades mediante la tubería o pipe (|).

1. Ordenar directorios de mayor a menor tamaño

Si tu objetivo es detectar qué carpetas están saturando el espacio, puedes listar y ordenar los elementos de mayor a menor mediante sort -nr o sort -hr:

du -cs * | sort -nr

Salida ordenada en la terminal:

[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

Si estás empleando valores en formato legible (-h), puedes ordenarlos correctamente de mayor a menor usando sort -hr:

du -h --max-depth=1 | sort -hr

2. Filtrar carpetas que pesan más de 1 GB

Para filtrar rápidamente y ver solo los directorios que superan 1 GB de espacio en disco, conecta grep a la salida de du:

du -csh * | grep G

Salida obtenida:

[andres@localhost ~]$ du -csh * | grep G
3,6G	Dropbox
6,9G	total

3. Mostrar el Top N de los archivos y carpetas más pesados

Para listar de inmediato los 3 elementos que más espacio consumen en tu sistema, añade head -3 al final de la cadena de comandos:

du -csh * | sort -nr | head -3

Salida obtenida:

[andres@localhost ~]$ du -csh * | sort -nr | head -3
733M	sts-bundle
635M	Descargas
606M	netbeans-8.0.2

Tabla resumen (Cheat Sheet) de comandos para ver el tamaño de disco en Linux

Guardar esta tabla te servirá como referencia rápida cuando necesites auditar espacio en la terminal:

Objetivo de búsquedaComando recomendado
Saber el tamaño de una carpeta o archivo específicodu -sh /ruta/del/directorio
Ver el tamaño de todo el contenido actual y el totaldu -csh *
Ordenar carpetas de mayor a menor espacio (legible)du -h --max-depth=1 | sort -hr
Listar solo directorios que pesan más de 1 GBdu -csh * | grep G
Obtener los 5 archivos o carpetas más pesadosdu -csh * | sort -nr | head -5
Ver el espacio libre de las particiones del discodf -h
Navegador visual e interactivo en consolancdu

Preguntas frecuentes y conceptos clave (FAQ)

  • ¿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.

¿Linux muestra los tamaños en GiB o en GB?

Las herramientas nativas de Linux como du -h y df -h calculan por defecto el tamaño en potencias binarias de 1024. Esto significa que cuando observas 1G en la terminal, representa 1 Gibibyte (GiB) (1024^3 bytes = 1.073.741.824 bytes) y no el Gigabyte decimal estándar (GB = 1000^3 bytes). Si prefieres ver el cálculo en base decimal (1000), en GNU du puedes emplear la bandera --si.

¿Cuál es la diferencia entre los comandos du y df?

Ambos comandos se utilizan para analizar el almacenamiento en Linux, pero con propósitos distintos:

  • du (Disk Usage): Inspecciona y suma el tamaño de carpetas o archivos específicos recorriendo su estructura.
  • df -h (Disk Free): Examina el estado general del sistema de archivos, indicando el espacio libre y ocupado en particiones de disco completas (como /, /home o discos externos).

¿Por qué una carpeta vacía ocupa 4.0K en Linux?

En sistemas de archivos estándar de Linux como ext4, los directorios son archivos especiales destinados a indexar los nombres e inodes de su contenido. El bloque mínimo de asignación en disco suele ser de 4096 bytes (4.0K), lo que explica por qué una carpeta vacía siempre marcará al menos 4.0K.

¿Existe alguna alternativa interactiva en consola a du?

Sí. Si prefieres navegar visualmente por las carpetas y borrar archivos pesados directamente desde la terminal, la mejor alternativa es ncdu (NCurses Disk Usage). Solo debes instalarlo e invocar el comando ncdu para explorar el disco con las teclas de navegación.

Consejos prácticos al auditar espacio en disco en Linux

  • Usa permisos de superusuario en rutas del sistema: Al revisar directorios como /var/log, /tmp o /usr, antepone sudo (ejemplo: sudo du -sh /var/log/*) para evitar advertencias por falta de permisos.
  • Optimiza el tiempo de consulta: En unidades con millones de archivos pequeños, la lectura recursiva de du puede demorar. Usar --max-depth=1 acelera drásticamente el proceso.
  • Archivos eliminados pero retenidos en memoria: Si df -h indica que tu partición está al 100% pero du no localiza archivos grandes, es posible que existan procesos activos reteniendo descriptores de archivos que ya fueron borrados.

Conclusión

Saber cómo ver el tamaño de los directorios y archivos en Linux es una habilidad técnica clave para mantener tu sistema saludable. Aunque el comando ls -lh resulta práctico para un vistazo rápido de archivos, el análisis profundo se logra con el comando du y su integración con sort, grep y head.

Dominar estas herramientas te permitirá identificar y solucionar problemas de falta de espacio en cuestión de segundos, tanto en tu equipo local como en servidores de producción.

Aprende cómo ver el tamaño de una carpeta y archivos en la consola de Linux usando el comando du. Descubre cómo listar los directorios más pesados y liberar espacio.


Únete a la comunidad de desarrolladores que han decidido dejar de picar código y empezar a construir productos reales. Recibe mis mejores trucos de arquitectura cada semana:

Acepto recibir anuncios de interes sobre este Blog.