Question

Je lance la commande, sans succès, pour obtenir la taille des répertoires (fichiers appartiennent à l'intérieur de la taille d'un répertoire)

ls -lSrh

Je ne reçois que kilobits pour la taille des répertoires alors que leur contenu est plus que cela.

Comment pouvez-vous énumérer la taille des répertoires, y compris leur contenu dans le nombre par ls

Était-ce utile?

La solution

du -sh directory_name

ls va vous donner la taille du répertoire entrée , et non du contenu du répertoire. Sur la base de mon lait écrémé rapidement, il ne semble man ls pas être un moyen de faire plonger vers le bas et <=> calculer la taille des répertoires (très probablement parce que ce serait une opération coûteuse).

Autres conseils

Si vous voulez obtenir la taille des répertoires, vous pouvez utiliser

du -sh

du -hs est grand jusqu'à ce que vous avez un grand répertoire.

Par exemple, si vous stockez les fichiers de cache (par exemple le magasin de cache de système de fichiers pour Rails) ou les fichiers téléchargés, ... avec un schéma cloisonné, comme « cache / 123/456/789 / real_files » et vous avez beaucoup d'entre eux , est de prendre toujours du, éventuellement bloquer tous les IO.

Je n'ai pas une meilleure solution, mais c'est à considérer avant d'exécuter ce sur le serveur de production pendant les heures de pointe.

Miser sur la réponse de Sean lumineux, vous pouvez faire ce qui suit (en BASH)

for each in $(echo */ | sed "s/ /\n/g" | sed "s/\///g");  do du -hs "$each"; done;

Cela obtenir un contenu complet du répertoire pour tous les répertoires dans le répertoire courant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top