GNU/Linux >> Tutoriels Linux >  >> Linux

Afficher chaque taille de sous-répertoire dans un format de liste à l'aide d'une commande de ligne dans Bash ?

Essayez ceci

du -h --max-depth=1

Sortie

[email protected]:/usr$ sudo du -h --max-depth=1
24M     ./include
20M     ./sbin
228M    ./local
4.0K    ./src
520M    ./lib
8.0K    ./games
1.3G    ./share
255M    ./bin
2.4G    .

Alternative

Si --max-depth=1 est un peu trop long à votre goût, vous pouvez également essayer d'utiliser :

du -h -s *

Cela utilise -s (--summarize ) et n'imprimera que la taille du dossier lui-même par défaut. En passant tous les éléments du répertoire de travail courant (* ), il produit une sortie similaire à --max-depth=1 ferait :

Sortie

[email protected]:/usr$ sudo du -h -s *
255M    bin
8.0K    games
24M     include
520M    lib
0       lib64
228M    local
20M     sbin
1.3G    share
4.0K    src

La différence est subtile. La première approche affichera la taille totale du répertoire de travail actuel et la taille totale de tous les dossiers qu'il contient... mais seulement jusqu'à une profondeur de 1.

Cette dernière approche calculera la taille totale de tous les éléments passés individuellement . Ainsi, il inclut le lien symbolique lib64 dans la sortie, mais exclut les éléments masqués (dont le nom commence par un point). Il manque également la taille totale du répertoire de travail actuel, car cela n'a pas été passé en argument.


Vous souhaitez probablement voir les répertoires classés par taille :

$ du -hs * | sort -hr

856M    lib
746M    share
612M    lib64
312M    src
267M    java
239M    bin
179M    sbin
173M    local
93M     i686-w64-mingw32
72M     libexec
26M     include
20M     puppet
772K    X11R6
20K     man
4.0K    games
4.0K    etc
0       tmp

Imprimer les tailles de tous les dossiers de fichiers et fichiers cachés sur le disque :

[email protected] /home/el $ du -sh `ls -a`
258M    .
265M    ..
4.0K    .classpath
258M    .git
4.0K    .gitignore
9.0K    nbactions.xml
12K     README
20K     .README.swp
4.0K    run.sh
23K    XmlPostPropagate.php

Linux
  1. Utilisation de la force sur la ligne de commande Linux

  2. Comment effacer l'historique de la ligne de commande BASH sous Linux

  3. Comment arrêter ou redémarrer Linux à l'aide de la ligne de commande

  4. Utilisation de la commande Linux Basename dans les scripts Bash

  5. Comment lister la taille de chaque fichier et répertoire et trier par taille décroissante dans Bash ?

Afficher la sortie de la commande Ping au format graphique à l'aide de Gping

Comment afficher l'historique de Bash sans numéros de ligne

La liste des raccourcis clavier Bash utiles

Diviser la sortie de la commande par colonnes à l'aide de Bash ?

Supprimer les espaces blancs dans chaque début de ligne de fichier, en utilisant bash

Bash si sur une seule ligne