Je sais que vous pouvez voir la taille en octets d'un fichier lorsque vous faites une longue liste avec ll
ou ls -l
. Mais je veux savoir quelle quantité de stockage se trouve dans un répertoire, y compris les fichiers de ce répertoire et les sous-répertoires qu'il contient, etc. Je ne veux pas du nombre de fichiers, mais de la quantité de stockage occupée par ces fichiers.
Donc, je veux savoir combien de stockage est récursivement dans un certain répertoire? J'imagine que s'il y a une commande, ce sera en octets.
directory
disk-usage
recursive
Rob Avery IV
la source
la source
-b
à la sortie en octetsVous faites juste:
où
-s
est pour résumé et-h
pour lisible par l'homme ( option non standard ).Attention , contrairement à
ls
ce qui se passe , cela ne vous montrera pas la taille du fichier, mais l’utilisation du disque (c’est-à-dire un multiple de la taille de bloc du système de fichiers), mais le fichier peut être plus petit, voire plus gros. Vous pouvez donc utiliser l’--apparent-size
option suivante:C'est la taille qui serait transférée sur le réseau si vous deviez le faire.
En effet, le fichier peut avoir des "trous" (shell vide), peut être plus petit que la taille de bloc du système de fichiers, peut être compressé au niveau du système de fichiers, etc. La page de manuel explique cela.
Comme le souligne Nicklas , vous pouvez également utiliser l' analyseur d' utilisation du disque. Lancé depuis un répertoire, il vous montrera quels dossiers et fichiers utilisent l’espace disque en les classant par ordre croissant.
ncdu
Vous pouvez voir cette question aussi.
la source
Notez que si vous voulez connaître la taille de tous les sous-dossiers dans un répertoire, vous pouvez également utiliser l' option
-d
ou--max-depth
dedu
(qui prend un argument: la limite récursive).Par exemple :
Va vous montrer quelque chose comme
PS: Entrer
0
comme limite récursive équivaut à l'-s
option. Ces 2 commandes vous donneront le même résultat (votre répertoire donné est une taille lisible par l'homme):la source
-d 1
doit être avant le chemin du répertoireUne alternative à la
du
commande déjà mentionnée seraitncdu
un bon analyseur d’utilisation du disque à utiliser dans un terminal. Vous devrez peut-être d'abord l'installer, mais il est disponible dans la plupart des référentiels de paquets.Edit: Pour le format de sortie, voir ces screenshots http://dev.yorhel.nl/ncdu/scr
la source
Cela vous donnera une liste des tailles du répertoire actuel, y compris les dossiers (récursifs) et les fichiers.
la source
Sous Unix, un répertoire ne contient que des noms et des références à des objets de système de fichiers (inodes, qui peuvent faire référence à des répertoires, des fichiers ou à d’autres objets exotiques). Un fichier peut apparaître sous plusieurs noms dans le même répertoire ou être répertorié dans plusieurs répertoires. Donc, "l'espace utilisé par le répertoire et les fichiers à l'intérieur" n'a vraiment aucun sens, car les fichiers ne sont pas "à l'intérieur".
Cela dit, la commande
du(1)
liste l’espace utilisé par un répertoire et tout ce qui est accessible à travers celui-ci,du -s
donne un résumé.-h
Certaines implémentations telles que GNUdu
donnent une sortie "lisible par l’homme" (ie, kilo-octet, mégaoctet).la source
Pour moi, cela a fonctionné à l'envers dans le cas de la profondeur et du chemin sous OS X El Capitán
la source
Vous pouvez utiliser "file-size.sh" depuis la bibliothèque de awk Velour :
la source