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?
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
.
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.
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.
Essayer:
$ du -s ./f1
ou
$ du -sh ./f1
pour des tailles lisibles plus conviviales.
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
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é.
$ du --max-depth=1 /var/www/ | sort -n -r
Voici un script POSIX qui fonctionnera avec:
#!/bin/sh
ls -ARgo "$@" | awk '{q += $3} END {print q}'
Sur Mac, vous pouvez installer la version GNU (Linux) de du
avec Homebrew (brew install coreutils
). Alors par exemple:
gdu folder -shL --exclude=.git
où
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
.