6
votes

Comment lister la taille du répertoire de tous les répertoires enfants?

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 :


1
votes

Vous pouvez utiliser **/*

shopt -s globstar
du -hs **/* | sort -hr
shopt -u globstar


1 commentaires

Cela nécessite que l'option globstar soit activée via shopt -s globstar avant qu'elle ne soit utilisable.



0
votes

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


0 commentaires

0
votes

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?


1 commentaires

Parce que vous n'avez pas spécifié -s



9
votes

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 .


0 commentaires

1
votes

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.


0 commentaires