Depuis le shell, j'ai besoin de lister la taille de tous les répertoires enfants. J'utilise actuellement:
du -hs * | sort -hr
Cependant, cela ne descend que d'un niveau et ne traverse pas l'arborescence des répertoires.
5 Réponses :
Vous pouvez utiliser **/*
shopt -s globstar du -hs **/* | sort -hr shopt -u globstar
Cela nécessite que l'option globstar
soit activée via shopt -s globstar
avant qu'elle ne soit utilisable.
Les jokers sont bien, mais ils listeront également les FICHIERS et pas seulement les répertoires. Ce qui suit retournera les tailles de tous les répertoires et uniquement les répertoires:
trouver. -type d -exec du -sh {} \; | sort -hr
La fonction maxdepth
devrait résoudre votre problème, mais pour une raison étrange, elle semble ne pas fonctionner:
find ./ -maxdepth 1 -type d -exec du -k {} \;
Peut-être que quelqu'un peut expliquer pourquoi le maxdepth
n'est pas pris en compte?
Parce que vous n'avez pas spécifié -s
Le plus simple est:
du -h parent
Cela affichera toutes les tailles des enfants de parent
Si vous voulez aussi les petits-enfants, vous pouvez le faire
XXX
Si vous voulez toute la famille
du -h --max-depth=2 parent
Tout cela résumera simplement la taille totale du répertoire de chaque sous-répertoire jusqu'à un niveau donné (sauf le dernier, ça donnera pour tous)
Si vous ne voulez pas le contenu des sous-répertoires, ajoutez le drapeau -S
.
Si vous triez, vous voudrez probablement une sortie cohérente au lieu d'en avoir en Go, d'autres en Mo, d'autres en Ko .... Et si je lis l'OP correctement, il n'obtient pas l'arborescence des répertoires, et c'est un problème , non?
Il ne répertorie pas les sous-répertoires à cause du -s. Retirez-le (encore une fois, désolé si j'ai mal lu.)
du -b | sort -n
Ceci répertorie toutes les tailles en octets, vous n'avez donc besoin que de -n
pour sort
.
du
affiche la taille de tous les répertoires de l'arborescence par défaut. L'option-s
l'empêche de le faire. Quel est le problème avecdu -h. | sort -hr
?Comment rechercher récursivement le montant stocké dans l'annuaire? , Afficher la taille de chaque sous-répertoire dans un format de liste à l'aide d'une commande de ligne dans Bash? , Utilisation ls pour lister les répertoires et leurs tailles totales , Comment obtenir les tailles résumées des répertoires et de leurs sous-répertoires? , Comment puis-je lister la taille de chaque fichier et répertoire (récursivement) et trier par taille décroissante dans Bash? , etc.