185 votes

Lister les tailles des dossiers actuels avec le terminal ?

Je veux une liste des dossiers du répertoire courant ou de celui que je spécifie avec leur taille.

J'ai essayé avec du mais je n'obtiens que la taille des répertoires que je spécifie (du . ./f1), et ls ne montre pas la taille des dossiers.

Comment puis-je faire cela sans script ?

4voto

Jonathan H Points 151

Sur Mac, vous pouvez installer l'implémentation GNU (Linux) de du avec Homebrew ( brew install coreutils ). Alors par exemple :

gdu folder -shL --exclude=.git

donde

  • gdu est le nom donné à l'implémentation GNU de du (par défaut, Homebrew ne cache pas /usr/bin/du ) ;
  • s produit un total général pour le dossier spécifié (à omettre si vous voulez voir le détail) ;
  • h produit des tailles lisibles par l'homme ;
  • L suit les liens symboliques ;
  • --exclude=.git exclut le répertoire git à l'intérieur du dossier spécifié (ceci est juste un exemple).

Vous pouvez ignorer d'autres dossiers en ajoutant --exclude=blah . Vous pouvez également spécifier plusieurs dossiers à la fois (par ex. gdu folder1 folder2 ... ), et dans ce cas, vous pouvez combiner tous les sous-totaux en une seule taille en utilisant l'option c .

3voto

Andre Mesquita Points 131

$ du --max-depth=1 /var/www/ | sort -n -r

3voto

Shebanator Points 111

Il convient de mentionner le Utilisation du disque NCurses Shell.

Ncdu est un analyseur d'utilisation de disque avec une interface ncurses. Il est Il est conçu pour trouver les monopoliseurs d'espace sur un serveur distant où vous n'avez pas une d'une configuration graphique complète, mais c'est un outil utile même sur les systèmes de bureau ordinaires. Ncdu a pour but d'être rapide, simple et facile à utiliser, et devrait être capable de fonctionner dans n'importe quel environnement minimal de type POSIX avec ncurses installé.

2voto

Red Tux Points 2074

Voici un script POSIX qui fonctionnera avec :

  • Un dossier
  • Fichiers
  • Un annuaire
  • Annuaires

    !/bin/sh

    ls -ARgo "$@" | awk '{q += $3} END {print q}'

Source :

1voto

Eduardo Baitello Points 253

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 différents systèmes de fichiers
  • .[!.]* * : 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