Je souhaite estimer la quantité d'espace disque utilisée par un répertoire à l'aide de la commande suivante.
du -sh dir_name
qui ne calcule pas les répertoires cachés. Dans la page de manuel de du, il n'y a aucune information à ce sujet. Comment calculer la quantité d'espace disque utilisée par les répertoires, y compris les fichiers cachés.
... you maybe using "du *" ?
Cette commande vous montre la taille résumée des répertoires cachés
du -hs .[^.]*
la source
La commande correcte est:
du -hs $(ls -A)
du -hs .* *
, comme mentionné dans une autre réponse, n'est pas correct si vous souhaitez répertorier tous les fichiers et sous-répertoires (y compris ceux masqués).Exemple :
Pourquoi
du
se comporte-t-il ainsi? Parce que vous utilisez-s
qui résument le résultat et que tous les fichiers et sous-répertoires sont des enfants,.
alorsdu -hs
ne les répertoriez pas!la source
Pour info, pour estimer la taille occupée par divers répertoires, il est préférable d'utiliser ncdu
Vous pouvez naviguer dans l'interface graphique de ncurses entre différents répertoires et cela montrera la taille de chaque répertoire. Si j'utilise du, je devrais exécuter la commande du pour chaque répertoire que je veux vérifier et qui peut être lourd. Vous pouvez également trier les répertoires en fonction de la taille occupée dans l'interface graphique de ncurses.
la source
du
. Mis à part une méthode d'affichage plus sophistiquée, il n'y a aucune indication évidente de différence fonctionnelle.d
liaison pour supprimer les répertoires, afin que vous puissiez nettoyer directement à partir de l'interface.C'est le cas et non. Exemple:
Dans le répertoire personnel: (un seul utilisateur existe)
dans le répertoire utilisateur: (énorme différence entre les sommes)
et la raison en est:
du
calcule les répertoires cachés tout en descendant dans les sous-répertoires, mais dans le répertoire courant, le * ne correspond tout simplement pas au modèle .directory_name, donc les éléments cachés du répertoire courant seront omis.Il m'a fallu un certain temps pour comprendre, et comme shadyabhi le recommande, cela aurait été évident si j'avais utilisé ncdu.
la source
La commande correcte est:
du -hs .* *
la source
find -maxdepth 1 -exec du -sh "{}" \; | sort -h
Cela vous donne:
Il trie également la sortie pour voir facilement ce qui est le plus grand. J'en ai également fait un alias dans mon
~/.bash_aliases
fichier.Maintenant, je peux simplement exécuter
big
pour trouver les plus gros répertoires dans un répertoire etsbig
quand j'ai besoin des autorisations sudo.la source
Voici la description de l'
-d
option dansdu --help
:la source
Cette commande vous aidera à vérifier l'utilisation du disque dans le répertoire et à exécuter ce qui suit.
"du -sch. [!.] * * | sort -h"
Voici la démonstration de la façon de calculer l'utilisation du disque d'un répertoire particulier. J'ai créé un répertoire appelé Du_sh et créé deux fichiers (un caché de 10 Mo et un normal de 20 Mo) à l'intérieur.
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$
la source