Question Énumérez les tailles du dossier du dossier actuel avec le terminal?


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

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

Comment puis-je le faire sans script?


102
2017-08-03 17:58


origine


ne pas sonner comme un abruti, mais 'man du';) - Jakub
Merci ;-) mais j'ai déjà essayé et je n'ai rien trouvé. Et essayez googling du! - kevin


Réponses:


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

$ 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/

168
2017-08-03 18:29



Merci à toutes les bonnes réponses mais celle-ci est la plus simple. J'ai oublié la fin / dans mes tests. - kevin
Où -s signifie résumer, afficher le total et -h signifie lisible par l'homme - wranvaud


Sur un Mac, l'option --max-depth est remplacée par -d [depth]. Donc, pour voir une liste lisible de votre lecteur racine plus 2 niveaux, utilisez les éléments suivants:

du -hd 2 /* 

Remarque: cette commande exposera les deux premiers niveaux de répertoire de votre racine. Cela comprend la traversée d'un niveau dans vos volumes, et répertoriera les tailles récapitulatives de chaque répertoire de niveau supérieur dans chacun de vos volumes attachés. Selon ce que vous avez attaché, cette commande peut prendre du temps.


16
2018-03-02 05:23





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

du -h --max-depth=1 .

Liste tous les répertoires et fichiers sous le dossier actuel avec la taille.

Depth 2 listerait un niveau de dossiers supplémentaire.


12
2017-08-03 19:32



Sur Mac, c'est du -hd 2 . pour 2 niveaux de profondeur. - Ryan
Ah oui. Et probablement aussi sur FreeBSD. Merci pour l'info. - matthias krull


Essayer:

$ du -s ./f1

ou

$ du -sh ./f1

pour des tailles plus lisibles.


5
2017-08-03 18:09





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


2
2018-06-30 15:39



Lorsque vous ajoutez une réponse à une question plus ancienne avec des réponses existantes, il est conseillé d’expliquer en quoi votre réponse est différente et d’y inclure des explications pour qu’il ne s’agisse pas d’une réponse de commande uniquement. - Jason Aller
Pouvez-vous développer votre réponse pour expliquer ce que font les paramètres? - fixer1234


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


1
2018-03-27 23:47





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 pour que vous puissiez les interpréter plus facilement:

$ du -sh */ | sort -rn

1
2018-03-02 22:17





La peine de mentionner le Utilisation du disque NCurses commande shell.

Ncdu est un analyseur d'utilisation de disque avec une interface ncurses. C'est   conçu pour trouver des cochons de l'espace sur un serveur distant où vous n'avez pas de   toute la configuration graphique disponible, mais c'est un outil utile même sur   systèmes de bureau réguliers. Ncdu vise à être rapide, simple et facile à utiliser,   et devrait pouvoir s'exécuter dans n'importe quel environnement POSIX minimal avec   ncurses installés.


0
2018-06-12 12:26





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

  • 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é (omettez si vous voulez voir la ventilation);
  • 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 plusieurs dossiers en ajoutant --exclude=blah. Vous pouvez également spécifier plusieurs dossiers à la fois (c.-à-d. gdu folder1 folder2 ...), et dans ce cas, vous pouvez combiner tous les sous-totaux en une seule taille en utilisant l’option c.


0
2017-09-28 15:32