Quiero estimar la cantidad de espacio en disco utilizado por un directorio con el siguiente comando.
du -sh dir_name
que no calcula los directorios ocultos. En la página de manual de du no hay información al respecto. Cómo calcular la cantidad de espacio en disco utilizado por los directorios, incluidos los archivos ocultos.
... you maybe using "du *" ?
Este comando muestra el tamaño resumido de los directorios ocultos.
du -hs .[^.]*
fuente
El comando correcto es:
du -hs $(ls -A)
du -hs .* *
, como se menciona en otra respuesta, no es correcto si desea enumerar todos los archivos y subdirectorios (incluidos los ocultos).Ejemplo:
¿Por qué se
du
comporta así? Debido a que se utiliza-s
, que resumen el resultado y que todos los archivos y subdirectorios son hijos de.
maneradu -hs
no enumerarlos!fuente
Para su información, para estimar el tamaño ocupado por varios directorios, es mucho mejor usar ncdu
Puede navegar en la GUI de ncurses entre varios directorios y mostrará el tamaño de cada directorio. Si estoy usando du, tendría que ejecutar el comando du para cada directorio que deseo verificar y que pueda ser engorroso. Puede ordenar los directorios de acuerdo con el tamaño ocupado también en la GUI ncurses.
fuente
du
. Además de un método de visualización más elegante, no hay indicios obvios de ninguna diferencia funcional.d
enlace para eliminar directorios, para que pueda limpiar directamente desde la interfaz.Lo hace y no lo hace. Ejemplo:
En el directorio de inicio: (solo existe un usuario)
en el directorio de usuarios: (gran diferencia entre las sumas)
y la razón es:
du
calculará directorios ocultos mientras desciende a subdirectorios, pero en el directorio actual * simplemente no coincide con el patrón .directory_name, por lo que se omitirán los elementos ocultos del directorio actual.Me tomó un tiempo darme cuenta, y como recomienda Shadyabhi, habría sido obvio si hubiera usado ncdu.
fuente
El comando correcto es:
du -hs .* *
fuente
find -maxdepth 1 -exec du -sh "{}" \; | sort -h
Esto te da:
También ordena la salida para que sea fácil ver cuál es el más grande. También hice de esto un alias en mi
~/.bash_aliases
archivo.Ahora solo puedo ejecutar
big
para encontrar los directorios más grandes en un directorio ysbig
cuando necesito permisos de sudo.fuente
La siguiente es la descripción de la
-d
opción endu --help
:fuente
Este comando lo ayudará a verificar el uso del disco para ingresar al directorio y ejecutar lo siguiente.
"du -sch. [!.] * * | sort -h"
Aquí está la demostración de cómo calcular el uso de un disco de un directorio en particular. He creado un directorio llamado Du_sh y creo dos archivos (uno oculto de 10 MB y 20 MB normales) dentro.
nikhil@debian:~$ mkdir Du_sh nikhil@debian:~$ cd Du_sh/ nikhil@debian:~/Du_sh$ dd if=/dev/zero of=.10MB bs=1024 count=10240 10240+0 records in 10240+0 records out 10485760 bytes (10 MB, 10 MiB) copied, 0.0299941 s, 350 MB/s nikhil@debian:~/Du_sh$ nikhil@debian:~/Du_sh$ dd if=/dev/zero of=20MB bs=2048 count=10240 10240+0 records in 10240+0 records out 20971520 bytes (21 MB, 20 MiB) copied, 0.0342258 s, 613 MB/s nikhil@debian:~/Du_sh$ du -sch .[!.]* * 10M .10MB 20M 20MB 30M total nikhil@debian:~/Du_sh$ du -sch .[!.]* * | sort -h 10M .10MB 20M 20MB 30M total nikhil@debian:~/Du_sh$
fuente