2010-08-03 17:58:26 +0000 2010-08-03 17:58:26 +0000
142
142

Lister les tailles des dossiers courants 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 n'affiche pas la taille des dossiers.

Comment faire sans aucun script ?

Réponses (9)

223
223
223
2010-08-03 18:29:55 +0000

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

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

Pour les afficher à 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.

19
19
19
2013-03-02 05:23:56 +0000

Sur un Mac, l'option –max depth est supplantée par -d [profondeur]. Ainsi, pour voir une liste lisible par l'utilisateur de votre disque dur racine plus 2 niveaux de profondeur, utilisez les commandes suivantes :

du -hd 2 /*

Note : cette commande exposera les deux premiers niveaux de répertoire de votre racine. Cela inclut la traversée d'un niveau dans vos volumes, et donnera la liste des tailles de résumé de chaque répertoire de niveau supérieur dans chacun de vos volumes joints. En fonction de ce que vous avez joint, cette commande peut prendre un certain temps à exécuter.

14
14
14
2010-08-03 19:32:55 +0000

Une autre approche est l'option –max-depth.

du -h --max-depth=1 .

énumérera tous les répertoires et fichiers du dossier actuel avec leur taille.

Depth 2 énumérera un niveau supplémentaire de dossiers.

5
5
5
2010-08-03 18:09:10 +0000

Essayez :

$ du -s ./f1

ou

$ du -sh ./f1

pour des tailles plus faciles à lire.

4
4
4
2018-03-02 22:17:45 +0000

En se basant sur la réponse acceptée, cette commande vous montrera la taille des dossiers dans le répertoire, et les énumérera également par taille pour que vous puissiez les interpréter plus facilement :

$ du -sh */ | sort -rn
2
2
2
2015-06-30 15:39:04 +0000

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

2
2
2
2016-06-12 12:26:54 +0000

Il convient de mentionner la commande shell NCurses Disk Usage .

Ncdu est un analyseur d'utilisation de disque avec une interface ncurses. Il est conçu pour trouver les “space hogs” sur un serveur distant où vous n'avez pas toute une configuration graphique disponible, mais c'est un outil utile même sur des systèmes de bureau ordinaires. Ncdu se veut rapide, simple et facile à utiliser, et devrait pouvoir fonctionner dans n'importe quel environnement minimal de type POSIX avec ncurses installé.

1
1
1
2017-03-27 23:47:09 +0000

Voici un script POSIX qui fonctionnera avec :

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

Source

1
1
1
2017-09-28 15:32:12 +0000

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

gdu folder -shL --exclude=.git

  • gdu est le nom donné à l'implémentation GNU de du (par défaut Homebrew ne cache pas /usr/bin/du) ;
  • s produit un grand total pour le dossier spécifié (omettez si vous voulez voir la répartition) ;
  • h produit des tailles lisibles par l'homme ;
  • L suit les liens symboliques ;

- --exclude=.git exclut le répertoire git dans le dossier spécifié (ceci n'est qu'un exemple).

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