Cette question a déjà une réponse ici:
Quelle commande est-ce que j'utilise pour trouver la taille de tous les fichiers (de manière récursive) dans un répertoire Linux ou Mac OS X?
linux
macos
mac
command-line
Daryl Spitzer
la source
la source
-k
option d'utiliser la taille de bloc de 1du
, j'utilisencdu
, vous pouvez trouver la référence ici, remysharp.com/2018/08/23/cli-improvedRéponses:
La version BSD de
du
utilisée dans OS X rapports taille avec des blocs de 512 octets - les tailles sont essentiellement arrondies à la valeur suivante 512 octets. Cela vous indique l'espace sur le disque, qui est plus grand que la quantité de données. Si vous avez beaucoup de petits fichiers, la différence peut être grande.Voici un exemple.
C'est la valeur avec regular
du
. C'est par blocs de 512 octets:L'
-h
indicateur génère un nombre plus lisible, en kilo-octets. Comme prévu, il s'agit de la moitié du nombre de blocs de 512 octets:Enfin, vous pouvez utiliser
find
etawk
vous donner la somme des octets réels dans les fichiers. C'est un peu lent, mais ça marche:Cette valeur correspond exactement au nombre indiqué par la fenêtre Obtenir des informations du Finder. (Il n'y a pas de forks ou xattrs étranges dans cet ensemble de fichiers.) Il est nettement inférieur à la valeur indiquée par
du
.Voici comment cela fonctionne: il obtient une liste de tous les fichiers et les transmet à
ls -l
; puisawk
est utilisé pour compter les octets. Le-type f
drapeau est là pour que seuls les fichiers (et non les répertoires) soient envoyés àls
. Sans cet indicateur, il enverra également les noms de répertoire àls
, et chaque fichier sera répertorié deux fois: une fois en tant que fichier individuel et une fois en tant qu'élément du répertoire.La version GNU de
du
peut donner des valeurs en octets réels au lieu de blocs. Il est regrettable que la version BSD dedu
ne soit pas aussi flexible.la source
du
GNU coreutils avec l'-b
option, le résultat est différent de celui obtenu avec votrefind
pipe. Pour un répertoire de 36 Go, la différence est de 82 Ko.Afficher la taille d'un seul fichier
du -h path_to_a_file
Affiche la taille du contenu d'un répertoire, de chaque sous-répertoire et de chaque fichier:
du -h path_to_a_directory
Affiche la taille du contenu d'un répertoire:
du -sh path_to_a_directory
la source
du -sch
si vous voulez quelque chose de plus facile à lire.du - indique à l’ utilisation du disque et non à la taille du fichier .
ci-dessus, le code terminal (im sur osx 10.6) offre pour moi le meilleur résultat et est plus rapide que "find ... -exec"
un repère rapide
la source
find . -type f -print0 | xargs -0 stat -c%s | awk '{b+=$1} END {print b}'
Vous pouvez utiliser
du -ah .
les tailles d'affichage de tous les fichiers et répertoires de manière récursive.Ceci peut être combiné avec
sort
, ainsi vous verrez les 20 plus grands répertoires du dossier actuel:Remarque: l' option
-h
poursort
n'est pas disponible sur Mac OS X / BSD, de sorte que vous avez à installer àsort
partircoreutils
(par exemple viabrew
) et appliquer le chemin du bac àPATH
, par exemple ,Sinon, utilisez:
la source
brew install coreutils
sinon utilisez la commande de tri BSD à la fin sans-h
.J'ai combiné toutes vos approuches et combiné avec une sortie lisible par l'homme le résultat est:
Lien vers l'essentiel: https://gist.github.com/mlegenhausen/9365461
la source