75 votes

Comment lister les tailles récursives des fichiers et des répertoires dans un répertoire ?

Comment lister tous les fichiers d'un répertoire et leurs tailles récursives ?

---éditez

Je veux voir les tailles "remontées" jusqu'aux répertoires parents dans le répertoire listé. Je ne veux pas voir les répertoires enfants, leur contenu ou leur taille.

10voto

Lekensteyn Points 162346

A solution de terminal est le du commandement :

du --all --human-readable --apparent-size

(en abrégé : du -ah --apparent-size )

du affiche l'utilisation du disque pour chaque fichier et répertoire. Les options expliquées :

  • --all , -a - afficher les tailles des fichiers également, et pas seulement des répertoires
  • --human-readable , -h - indiquer les tailles dans un format lisible par l'homme, par ex. 10K (10 kilo-octets), 10 (10 octets)
  • --apparent-size - indiquent la taille réelle du fichier, et non les tailles utilisées par le disque.

2voto

Whimsical Points 121

Cela semble faire l'affaire lorsque des simlinks sont impliqués.

ls -LRlh

1voto

Erwan Points 11

Pour obtenir une liste triée, mettez tout dans MB et triez :

du -m * | sort -n

Ou utilisez un outil tel que DiskReport pour générer un rapport sur l'arborescence complète du disque.

0voto

Sergiy Kolodyazhnyy Points 97292

Une autre solution de terminal avec find et trier (par taille de fichier, colonne 1)

$ find . -maxdepth 1 ! -path . -printf "%s %p\n" | sort -n -k1                              
178 ./somefile.txt
219 ./somefile2.txt
4096 ./c
4096 ./cs2
4096 ./perl
4096 ./python
4096 ./random
4096 ./sh

0voto

Eduardo Baitello Points 150

J'aime l'approche suivante :

du -schx .[!.]* * | sort -h

où :

  • s : afficher seulement un total pour chaque argument
  • c : produire un grand total
  • h les tailles d'impression dans un format lisible par l'homme
  • x : sauter des répertoires sur des systèmes de fichiers différents
  • .[!.]* * : Résume l'utilisation du disque pour chaque fichier, récursivement pour les répertoires (y compris les répertoires "cachés").
  • | sort -h : Trier sur la base de chiffres lisibles par l'homme (par exemple, 2K 1G)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X