¿Cómo saber el tamaño de un directorio? Incluyendo subdirectorios y archivos.
¿Cómo saber el tamaño de un directorio? Incluyendo subdirectorios y archivos.
Respuestas:
du -s directory_name
O para obtener una salida legible por humanos:
du -sh directory_name
La -s
opción significa que no enumerará el tamaño de cada subdirectorio, solo el tamaño total.
du -sh bag
funcionó perfectamente!
Si bien el uso de un paquete separado como ncdu puede funcionar bien, la misma comparación de muchas carpetas se puede hacer, hasta cierto punto, simplemente dando una lista de carpetas para dimensionar. Por ejemplo, para comparar directorios de nivel superior en su sistema ...
cd /
sudo du -sh ./*
du -sh /*
GNU du
toma una -b
opción.
Vea la man
página y la info
página para más ayuda:
-b
,--bytes
es equivalente a--apparent-size --block-size=1
du -csh
-c produce gran total
-c
no tiene sentido utilizar junto con -s
, ¿verdad? -s
solo muestra el tamaño del directorio especificado, es decir, el tamaño total del directorio.
Tratar
du -hax --max-depth=1 / | grep '[0-9]G' | sort -nr
Esto ayuda a encontrar directorios grandes para luego filtrarlos usando du -sh ./*
también puedes usar ls -ldh:
ls -ldh /etc
drwxr-xr-x 145 root root 12K 2012-06-02 11:44 /etc
-l es para una lista larga; -d es para mostrar la información del directorio, no el contenido del directorio, -h es para mostrar el tamaño en formato legible por huma.
Siempre instalo el paquete "ncdu" y veo toda la salida de todos los directorios con representación gráfica. Esto se debe a que generalmente necesito saber qué ocupa la mayor cantidad de espacio en disco en mis máquinas, independientemente de cuánto sume un solo directorio.
Uso: sudo ncdu /
(No necesita sudo
carpetas en las que tenga permiso de lectura).
Tomará un tiempo escanear las estadísticas de uso del disco en todo el sistema de archivos. Tiene una bonita representación gráfica de línea de comandos e incluye navegación con el teclado usando las teclas de flecha, como ir más profundo o más alto en la ruta escaneada. También puede eliminar elementos presionando D.
Puede usar "file-size.sh" de la biblioteca awk Velour :
ls -ARgo "$@" | awk '{q += $3} END {print q}'
du -hd1
enumerará en formato legible por humanos los tamaños de todos los directorios, p. ej.
656K ./rubberband
2.2M ./lame
652K ./pkg-config
Intenté con el siguiente comando, ya que se ha proporcionado la mejor respuesta
sudo find . -maxdepth 1 -exec du -shk {} \;| awk 'NR >1'| awk 'BEGIN{sum=1}{sum=sum+$1}END{print sum}'
salida
sudo find . -maxdepth 1 -exec du -shk {} \;| awk 'NR >1'| awk 'BEGIN{sum=1}{sum=sum+$1}END{print sum}'
679445
du
, la unidad predeterminada es bloques de 512 bytes según POSIX, y kilobytes en Linux (a menos que se establezca la variable de entornoPOSIXLY_CORRECT
) o condu -k
.