Comment lister tous les fichiers d'un répertoire et leur taille de fichier récursive?
---modifier
Je veux voir les tailles "cumulées" aux répertoires parents dans le répertoire répertorié. Je ne veux pas voir les répertoires enfants, leur contenu ou leur taille.
Je suppose que le moyen le plus simple consiste à saisir ls -l
ou ls -lh
, qui fournira la taille du fichier dans un format lisible par l'homme (Ko, Mo, etc.).
Si 'récursivement' signifie la liste de tous les dossiers suivants, par exemple:
/ foo /
/foo/bar/....
Ensuite, vous devriez également ajouter le paramètre R
name__, comme ls -lR
ou ls -lhR
Vous trouverez plus d’informations sur ls
en tapant man ls
.
Mettre à jour:
La commande suivante proposée par Lekensteyn fera probablement l'affaire:
du -h --max-depth=1 <folder>
-h
est lisible par l'homme--apparent-size
est un autre moyen d’afficher les tailles déjà indiquées--max-depth
est le niveau de sous-dossiers auquel vous voulez accéder.
apt-get install ncdu
Il est interactif aussi, donc si vous voulez vérifier un sous-dossier, il suffit de monter, de descendre et d’entrer.
Pour obtenir la taille totale d'un répertoire et de tous les enfants
du -hs directory/*
Consultez également tree
. Il n'est pas installé par défaut mais ce sont les référentiels.
Exemple:
richard@legend:~$ tree Applications/ -s
Applications/
├── [ 4096] AlexFTPS-1.0.2
│ ├── [ 31232] AlexPilotti.FTPS.Client.dll
│ ├── [ 274432] C5.dll
│ ├── [ 1457] C5-License
│ ├── [ 35147] COPYING
│ ├── [ 7639] COPYING.LESSER
│ ├── [ 70] ftps
│ ├── [ 28672] ftps.exe
│ ├── [ 98304] Plossum CommandLine.dll
│ ├── [ 1557] Plossum-License
│ └── [ 2560] README
└── [ 4096] src
└── [ 180849] AlexFTPS_bin_1.0.2.Zip
Vous trouverez plus d'options dans la page de manuel.
Comme vous ne mentionnez pas spécifiquement que vous avez besoin d’une solution basée sur un terminal, je pense que baobab a.k.a. L’analyseur d’utilisation du disque est absent de la liste.
Il est installé dans Ubuntu par défaut et fait exactement ce que vous voulez dans une interface graphique de Nice avec la possibilité d’explorer la hiérarchie des répertoires.
En plus d'afficher une liste de répertoires avec leurs tailles, il affiche également un diagramme en anneaux ou en treemap de l'utilisation du système de fichiers, ce qui est extrêmement utile pour visualiser les répertoires qui occupent le plus d'espace.
A solution terminale est la commande du
:
du --all --human-readable --apparent-size
(abrégé: du -ah --apparent-size
)
du
affiche l'utilisation du disque pour chaque fichier et répertoire. Les options expliquées:
--all
, -a
- affiche également la taille des fichiers, pas seulement des répertoires--human-readable
, -h
- affiche les tailles dans un format lisible par l'homme, par exemple. 10K
(10 kilo-octets), 10
(10 octets)--apparent-size
- affiche la taille réelle du fichier, pas celle utilisée par le disque.Cela semble faire l'affaire lorsque des simlinks sont impliqués.
ls -LRlh
Pour obtenir une liste triée, mettez tout en Mo et triez:
du -m * | sort -n
Ou utilisez un outil tel que DiskReport pour générer un rapport d'arborescence complète du disque.
Une autre solution de terminal avec find
et sort (par taille de fichier, colonne 1)
$ find . -maxdepth 1 ! -path . -printf "%s %p\n" | sort -n -k1
178 ./somefile.txt
219 ./somefile2.txt
4096 ./c
4096 ./cs2
4096 ./Perl
4096 ./python
4096 ./random
4096 ./sh