web-dev-qa-db-fra.com

Répertorie les tailles du dossier de dossiers actuel avec le terminal?

Je veux une liste des dossiers du répertoire actuel ou ceux que je spécifie avec leur taille.

J'ai essayé avec du mais je ne connais que la taille des répertoires spécifiés (du. ./F1), et ls ne montre pas la taille des dossiers.

Comment est-ce que je fais ceci sans n'importe quel script?

123
kevin

Si vous souhaitez afficher tous les répertoires du répertoire actuel:

$ du -sh */
788K    foo/
500K    bar/
931K    baz/

Pour les montrer à partir d'un autre répertoire:

$ du -sh /path/to/dir/*/
48K     /path/to/dir/dir1/
4.0K    /path/to/dir/dir2/
6.7M    /path/to/dir/dir3/
20K     /path/to/dir/dir4/
8.0K    /path/to/dir/dir5/
44K     /path/to/dir/dir6/

Si vous voulez vous assurer que les répertoires dont le nom commence par un point sont inclus, faites d'abord shopt -s dotglob.

201
Dennis Williamson

Sur un Mac, l'option --max-depth est remplacée par -d [profondeur]. Donc, pour voir une liste lisible par l'homme de votre lecteur racine plus 2 niveaux profonds, utilisez ce qui suit:

du -hd 2 /* 

Remarque: cette commande exposera les deux niveaux de répertoire supérieurs de votre racine. Ceci inclut la traversée d’un niveau dans vos volumes , et répertorie les tailles récapitulatives de chaque répertoire de niveau supérieur de chacun des volumes attachés. Selon ce que vous avez attaché, cette commande peut prendre un certain temps.

18
jadik

Une autre approche est l’option --max-depth.

du -h --max-depth=1 .

Dresse la liste de tous les répertoires et fichiers du dossier actuel avec la taille.

Profondeur 2 listerait un niveau supplémentaire de dossiers.

12
matthias krull

Essayer:

$ du -s ./f1

ou

$ du -sh ./f1

pour des tailles lisibles plus conviviales.

5
Doug Harris

En s’appuyant sur la réponse acceptée, cette commande vous indiquera la taille des dossiers du répertoire. et les répertorieront également par taille pour faciliter l’interprétation:

$ du -sh */ | sort -rn
2
Ethan

Il convient de mentionner la commande NCurses Disk Usage Shell.

Ncdu est un analyseur d'utilisation du disque avec une interface ncurses. Il est conçu pour rechercher des ressources d'espace sur un serveur distant sur lequel aucune configuration graphique n'est disponible, mais c'est un outil utile même sur des systèmes de bureau classiques. Ncdu se veut rapide, simple et facile à utiliser, et devrait pouvoir fonctionner dans n’importe quel environnement minimal semblable à POSIX où ncurses est installé.

2
Ray

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

2
Andre Mesquita

Voici un script POSIX qui fonctionnera avec:

  • Un fichier
  • Des dossiers
  • Un annuaire
  • Répertoires
#!/bin/sh
ls -ARgo "$@" | awk '{q += $3} END {print q}'

La source

0
Steven Penny

Sur Mac, vous pouvez installer la version GNU (Linux) de du avec Homebrew (brew install coreutils). Alors par exemple:

gdu folder -shL --exclude=.git

  • gdu est le nom donné à la GNU implémentation de du (par défaut, Homebrew ne cache pas /usr/bin/du);
  • s génère un total général pour le dossier spécifié (omettez-le si vous souhaitez voir le détail);
  • h affiche des tailles lisibles par l’homme;
  • L suit les liens symboliques;
  • --exclude=.git exclut le répertoire git dans le dossier spécifié (il ne s'agit que d'un exemple).

Vous pouvez ignorer plus de dossiers en ajoutant --exclude=blah. Vous pouvez également spécifier plusieurs dossiers à la fois (c'est-à-dire gdu folder1 folder2 ...). Dans ce cas, vous pouvez combiner tous les sous-totaux en une taille unique à l'aide de l'option c.

0
Sheljohn