¿Cómo puedo obtener el tamaño de un directorio en la línea de comandos?

He intentado obtener el tamaño de un directorio (que contiene directorios y subdirectorios) utilizando el comando ls con la opción l. Parece que funciona para los archivos (ls -l nombre de archivo), pero si intento obtener el tamaño de un directorio (por ejemplo, ls -l /home), sólo obtengo 4096 bytes, aunque en conjunto es mucho mayor.

Solución

du -sh ruta_de_archivo

Explicación

  • El comando du (disc usage) estima el uso del espacio de file_path

  • Las opciones -sh son (de man du):

       -s, --resumir
              muestra sólo un total para cada argumento
    
       -h, --human-readable
              imprimir los tamaños en formato legible para el ser humano (por ejemplo, 1K 234M 2G)

    Para comprobar más de un directorio y ver el total, utilice du -sch:

       -c, --total
              produce un total general
Comentarios (4)

du es tu amigo. Si sólo quieres saber el tamaño total de un directorio, entonces salta a él y ejecuta:

du -hs

Si además quieres saber qué subcarpetas ocupan cuánto espacio en disco... Podrías ampliar este comando a:

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

que le dará el tamaño de todas las subcarpetas (nivel 1). La salida se ordenará (la carpeta más grande en la parte superior).

Comentarios (3)

El comando du muestra el uso del disco del archivo.

La opción h muestra los resultados en forma legible para el ser humano (por ejemplo, 4k, 5M, 3G).

du -h (file name)
Comentarios (0)