Sé que puede ver el tamaño de byte de un archivo cuando hace una lista larga con ll
o ls -l
. Pero quiero saber cuánto almacenamiento hay en un directorio, incluidos los archivos dentro de ese directorio y los subdirectorios allí, etc. No quiero la cantidad de archivos, sino la cantidad de almacenamiento que ocupan esos archivos.
Entonces, ¿quiero saber cuánto almacenamiento hay en un determinado directorio de forma recursiva? Supongo, si hay un comando, que estaría en bytes.
directory
disk-usage
recursive
Rob Avery IV
fuente
fuente
-b
a salida en bytesTu solo haces:
donde
-s
es para resumen y-h
para lectura humana ( opción no estándar ).Sin embargo, tenga cuidado , a diferencia de
ls
esto, no mostrará el tamaño del archivo sino el uso del disco (es decir, un múltiplo del tamaño de bloque del sistema de archivos), pero el archivo puede ser más pequeño o incluso más grande, por lo que puede usar la--apparent-size
opción:Este es el tamaño que se transferiría a través de la red si fuera necesario.
De hecho, el archivo puede tener "agujeros" (shell vacío), puede ser más pequeño que el tamaño de bloque del sistema de archivos, puede estar comprimido en el nivel del sistema de archivos, etc. La página del manual explica esto.
Como señala Nicklas , también puede usar el analizador de uso de disco. Lanzado desde un directorio, le mostrará qué carpetas y archivos usan espacio en disco al ordenarlos de mayor a menor.
ncdu
Puedes ver esta pregunta también.
fuente
Tenga en cuenta que si desea conocer el tamaño de todas las carpetas {sub} dentro de un directorio, también puede usar la opción
-d
o--max-depth
dedu
(que toma un argumento: el límite recursivo)Por ejemplo :
Te mostrará algo como
PD: Entrar
0
como límite recursivo es equivalente a la-s
opción. Esos 2 comandos le darán el mismo resultado (su directorio dado tamaño legible humano recursivo):fuente
-d 1
debe estar antes de la ruta del directorioUna alternativa al
du
comando ya mencionado seríancdu
un buen analizador de uso de disco para usar en terminal. Es posible que deba instalarlo primero, pero está disponible en la mayoría de los repositorios de paquetes.Editar: para ver el formato de salida, vea estas capturas de pantalla http://dev.yorhel.nl/ncdu/scr
fuente
Esto le dará una lista de tamaños del directorio actual, incluidas las carpetas (recursivas) y los archivos.
fuente
En Unix, un directorio solo contiene nombres y referencias a objetos del sistema de archivos (inodos, que pueden referirse a directorios, archivos u otras cosas exóticas). Un archivo puede aparecer con varios nombres en el mismo directorio, o aparecer en varios directorios. Entonces, "el espacio utilizado por el directorio y los archivos dentro" realmente no tiene sentido, ya que los archivos no están "dentro".
Dicho esto, el comando
du(1)
enumera el espacio utilizado por un directorio y todo lo que se puede alcanzar a través de él,du -s
da un resumen, con-h
algunas implementaciones como GNUdu
dar salida "legible para humanos" (es decir, kilobyte, megabyte).fuente
Para mí funcionó al revés en el caso de la profundidad y el camino en un OS X El Capitán
fuente
Puede usar "file-size.sh" de la biblioteca awk Velour :
fuente