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?
command-line
unix
terminal
Kevin
la source
la source
Réponses:
Si vous souhaitez afficher tous les répertoires du répertoire actuel:
Pour les montrer à partir d'un autre répertoire:
Si vous voulez vous assurer que les répertoires dont le nom commence par un point sont inclus, commencez par le faire
shopt -s dotglob
.la source
du -s */ | sort -n
.shopt -s dotglob
docSur 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:
Remarque: cette commande exposera les deux niveaux de répertoire supérieurs de votre racine. Cela inclut la traversée d’un niveau dans vos volumes et la liste des 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.
la source
Une autre approche est l’option --max-depth.
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.
la source
du -hd 2 .
pour 2 niveaux de profondeur.Essayer:
ou
pour des tailles lisibles plus conviviales.
la source
$ du --max-depth=1 /var/www/ | sort -n -r
la source
Il convient de mentionner la commande shell NCurses Disk Usage .
la source
En s'appuyant sur la réponse acceptée, cette commande vous montrera la taille des dossiers du répertoire et les listera également par taille afin de faciliter leur interprétation:
la source
Sur Mac, vous pouvez installer la mise en oeuvre GNU (Linux) de
du
Homebrew (brew install coreutils
). Alors par exemple:où
gdu
est le nom donné à l'implémentation GNU dedu
(par défaut, Homebrew ne cache pas/usr/bin/du
);s
produit un total général pour le dossier spécifié (omettez-le si vous voulez voir le détail);h
génère des tailles lisibles par l'homme;L
suit les liens symboliques;--exclude=.git
exclut le répertoire git dans le dossier spécifié (ceci est juste un exemple).Vous pouvez ignorer plus de dossiers en ajoutant
--exclude=blah
. Vous pouvez également spécifier plusieurs dossiers à la fois (c'est-à-diregdu folder1 folder2 ...
) et, dans ce cas, vous pouvez combiner tous les sous-totaux en une seule taille à l'aide d'optionc
.la source
Voici un script POSIX qui fonctionnera avec:
La source
la source