Existe-t-il une commande simple permettant d’afficher la taille totale agrégée (utilisation du disque) de tous les fichiers d’un répertoire (dossier)?
J'ai essayé ceux-ci, et ils ne font pas ce que je veux:
ls -l
, qui n’affiche que la taille des fichiers individuels dans un répertoire, nidf -h
, qui n’affiche que l’espace libre et utilisé sur mes disques.
filesystem
command-line
David Barry
la source
la source
Réponses:
La commande
du
"résume l'utilisation du disque de chaque fichier, de manière récursive pour les répertoires", par exemple,-h
est d'obtenir les nombres "lisibles par l'homme", par exemple, get à la140M
place de143260
(taille en Ko)-s
est pour le résumé (sinon vous obtiendrez non seulement la taille du dossier mais aussi tout ce qui se trouve dans le dossier séparément)Pendant que vous utilisez,
-h
vous pouvez trier les valeurs lisibles par l'homme à l'aide deLe
-h
drapeau sursort
considérera les valeurs de taille "Human Readable".Si vous souhaitez éviter de répertorier de manière récursive tous les fichiers et répertoires, vous pouvez fournir le
--max-depth
paramètre permettant de limiter le nombre d'éléments affichés. Le plus souvent,--max-depth=1
la source
du -sh
ou DOOSH comme moyen de s'en souvenir (NOTE: la commande est la même, mais l'organisation des drapeaux de ligne de commande à des fins de mémoire)du -hs *
et suis allé dans le plus grand répertoire et j'ai découvert quels fichiers étaient si gros ... C'est une si bonne méthode, et le meilleur, c'est que vous n'avez rien à installer! Mérite vraiment mon vote positifdu
un peu particulier, ne pas afficher de décimales si la valeur a plus d'un chiffre dans l'unité choisie), et le préfixe classique avec préfixe 1024 vs 1000 .du
a une option-B
(ou--block-size
) pour changer les unités dans lesquelles il affiche les valeurs, ou vous pouvez utiliser-b
au lieu de-h
pour obtenir la valeur "brute" en octets.Récemment, j'ai trouvé un excellent outil interactif basé sur ncurses, qui vous donne rapidement un aperçu de la taille des répertoires. Recherché ce genre d'outil pendant des années.
Pensez-y comme un baobab pour la ligne de commande:
la source
ncdu
est génial! Après l'avoir installé, faites cecincdu /
. Vous trouverez très rapidement les fichiers les plus volumineux du système. Appuyez également sur à l'h
intérieur de l'interface de la console de ncdu. Il a des raccourcis très utilesCela trouve la taille de manière récursive et le met à côté de chaque nom de dossier, avec la taille totale en bas, le tout au format humain.
la source
Prendre plaisir!
Plus d'informations sur cette commande ici
la source
tree
est une autre commande utile pour ce travail:Installez-le simplement via
sudo apt-get install tree
et tapez ce qui suit:De l' homme arbre :
la source
Voici ce que j'utilise pour imprimer la taille totale, du dossier et du fichier:
Détails
Sortie
la source
Les réponses ont clairement montré qu’il s’agissait de
du
l’outil permettant de déterminer la taille totale d’un répertoire. Cependant, il y a deux facteurs à prendre en compte:Parfois, la
du
sortie peut être trompeuse car elle indique l'espace alloué par le système de fichiers, qui peut être différent de la somme des tailles des fichiers individuels. Généralement, le système de fichiers allouera 4096 octets à un fichier même si vous n'y avez stocké qu'un seul caractère!Différences de sortie dues à une puissance de 2 et à une puissance de 10 unités. Le
-h
commutateurdu
divise le nombre d'octets par 2 ^ 10 (1024), 2 ^ 20 (1048576), etc. pour obtenir une sortie lisible par l'homme. Beaucoup de gens pourraient être plus habitués à voir des puissances de 10 (par exemple 1K = 1000, 1M = 1000000) et être surpris par le résultat.Pour trouver la somme totale des tailles de tous les fichiers d'un répertoire, en octets, procédez comme suit:
Exemple:
la source
--bignum
ou-M
; si ce n'est pas une option, utilisezfind . -ls | tr -s ' '|cut -d' ' -f 7| paste -sd+ |bc
# 2 .--si
option: "comme -h, mais utilisez des puissances de 1000 et non de 1024"Pour seulement la taille du répertoire dans un format lisible, utilisez ce qui suit:
Ce n'est probablement pas dans la bonne section, mais à partir de la ligne de commande, vous pouvez essayer:
La
-s
taille est, et le-h
est lisible par l'homme.Utilisez
-l
pour afficher sur lals
liste, comme ci-dessous:la source
du /foldername
est la commande standard pour connaître la taille d'un dossier. Il est recommandé de rechercher les options en lisant la page de manuel:Vous devriez lire la page de manuel (disponible en ligne ) avant d’utiliser la commande.
la source
Voici un script POSIX qui fonctionnera avec:
La source
la source
Si votre répertoire souhaité contient plusieurs sous-répertoires, utilisez ce qui suit:
ce qui produirait alors un total global de l'utilisation de la mémoire par tous les fichiers / dossiers du répertoire en cours.
la source
Le meilleur que je pense est le suivant:
Cela ne vous montrera que la taille du répertoire qui vous intéresse et n'imprimera pas la taille des répertoires et des fichiers qu'il contient.
Je devrais ajouter que si la taille du dossier est grande, cela prend plus de temps. Vous devez être patient pour que cette commande fonctionne. Comme toute autre commande unix, vous pouvez connaître la durée totale de ce processus en utilisant
time
avant cette commande:la source
du
a une option pour cela:-s