Imprimer la taille du contenu du répertoire avec la commande tree dans tree 1.5?

39

J'aime bien treec'est un bon moyen d'afficher mes fichiers et la taille des dossiers / répertoires. Mais l'option -h indique uniquement la taille du répertoire, pas la taille cumulée de son contenu.

/media/
├── [ 16K]  64D9-E862
│   ├── [8.0K]  downloads

Je sais pertinemment que mon disque dur externe a plus de 16 Ko.

Comment puis-je résoudre ce problème avec l'arbre 1.5? Mieux encore, comment puis-je passer à 1.6?

Pureferret
la source

Réponses:

45

Seulement pour l'arbre 1.6 et supérieur

Vous voudrez peut-être regarder:

man tree

--du Pour chaque répertoire, indiquez sa taille en cumulant la taille de tous ses fichiers et sous-répertoires (et de leurs fichiers, etc.). La quantité totale d’espace utilisé est également indiquée dans le rapport final (comme la commande 'du -c'.) Cette option nécessite que l’arborescence lise l’arborescence de répertoires complète avant de l’émettre, voir BOGUES ET NOTES ci-dessous. Implique -s.

Donc, vous devriez utiliser:

tree --du -h
0x7c0
la source
5
Ceci pour pointer vers --du dans 1.6. J'utilise toujours du -h --max-depth = 1 ou 2 ou le maximum 3. Ensuite, explorez (cd) là où je veux aller et exécutez la même commande agin. Lorsque tree est utilisé avec -L, il ne compte que les répertoires / et les fichiers jusqu’à un niveau donné. Comapred to du qui calcule tous les fichiers indépendamment du paramètre --max-depth, mais n'imprime que jusqu'à un niveau spécifié. Cela rend les arbres inutiles pour moi. Merci quand même!
Tagar
Je suggère d'ajouter l' -aoption aux emplacements de sortie masqués (commencez par un point, par exemple .cache)
awatts
4

En ajoutant la réponse acceptée ... avec un nombre important de dossiers, vous obtiendrez potentiellement une sortie énorme de cette commande.

Si, comme moi, vous souhaitez identifier de gros dossiers à purger parce que vous remplissez votre lecteur, vous trouverez peut-être utile de combiner la commande tree avec un grep pour le limiter aux dossiers dont la taille est de gigaoctets, tout en évitant le besoin pour parcourir l'ensemble de la sortie:

tree --du -h | grep G]

Jimmo
la source
-4

S'il vous plaît utiliser ce code pourrait vous aider,

$ sudo tree -hF

ou

# tree -hF
Roi
la source
1
Cela ne fait pas ce que le PO a demandé, il y a 4 ans ...
dr01