J'ai essayé d'obtenir la taille d'un répertoire (contenant des répertoires et des sous-répertoires) en utilisant la ls
commande avec option l
. Cela semble fonctionner pour les fichiers ( ls -l file name
), mais si j'essaie d'obtenir la taille d'un répertoire (par exemple ls -l /home
), je n'ai que 4096 octets, bien que dans l'ensemble, il soit beaucoup plus grand.
command-line
ls
disk-usage
Abdul Al Hazred
la source
la source
-h
option utile que vous pouvez ajouter à l’-l
option (par exemplels -lh
) pour obtenir la taille des fichiers à imprimer en notation conviviale comme 1.1M au lieu de 1130301. Le "h "dans ladu -hs
commande que @sam a donnée comme réponse à votre question sur les répertoires signifie également" lisible par l'homme ", ainsi que dansdf -h
la liste indiquant la quantité lisible par l'homme d'espace utilisé et disponible sur le disque.Réponses:
du -sh file_path
Explication
du
( d isc u sage) commande estime l'utilisation de l'espace chemin_fichierLes options
-sh
sont (à partir deman du
):Pour vérifier plusieurs répertoires et voir le total, utilisez
du -sch
:la source
du
. Vous donnez également le moyen de rechercher plus de détailsman du
...find
exemple, pour compter la quantité d’espace dans des sous-répertoires spécifiques du chemin actuel:$ find . -type d -name "node_modules" -prune -exec du -sh {} \;
Il suffit d'utiliser la
du
commande:vous donnera l'utilisation cumulée sur le disque de tous les répertoires, fichiers, etc. non cachés du répertoire en cours dans un format lisible par l'homme.
Vous pouvez utiliser la
df
commande pour connaître l'espace disponible dans le système de fichiers contenant le répertoire:la source
du -sh *
commence à générer des erreurs "inconnu" si l'un des fichiers de ce répertoire commence par un tiret.du -sh -- *
du -sh *
ne montre pas les utilisations de la mémoire des dossiers cachésdu -sh -- * .*
inclure les fichiers de points. Ceci est utile pour inclure un.git
répertoire éventuellement volumineux , par exemple. Alternativement, en zsh, vous pouvezsetopt globdots
glober les fichiers de points par défaut.--
fait? Je sais que cela s'applique au shell intégré pour mettre fin aux arguments d'option, mais cedu
n'est pas intégré, et je ne vois pas cet usage documenté pourdu
: linux.die.net/man/1/du-b
(--apparent-size
)du
est votre ami. Si vous voulez juste connaître la taille totale d'un répertoire, sautez-y et lancez:Si vous souhaitez également savoir quels sous-dossiers occupent combien d’espace disque?! Vous pouvez étendre cette commande à:
qui vous donnera la taille de tous les sous-dossiers (niveau 1). La sortie sera triée (le plus grand dossier en haut).
la source
ncdu
les fichiers sont triés par défaut en taille décroissante.du
peut être compliqué à utiliser car vous devez apparemment passer 100 arguments pour obtenir une sortie décente. Et déterminer la taille des dossiers cachés est encore plus difficile.Rendre la vie facile et utiliser
ncdu
.Vous obtenez des résumés par dossier qui sont facilement consultables.
la source
ncdu
est génial, je cherche toujours cette commande quand je l’oublie. C'est rapide, facile à naviguer et aide à trouver facilement de gros dossiers. Pour votre information, il est également disponible sur macOS et probablement sur toutes les machines linux.ncdu
en appuyant sur lad
toucheD'autres ont déjà mentionné
du
, mais je voudrais aussi mentionner Ncdu - qui est une version de ncursesdu
et fournit de l'interactivité: vous pouvez explorer directement la hiérarchie des répertoires et voir la taille des sous-répertoires.la source
La
du
commande affiche l'utilisation du disque sur le disque.L'
-h
option affiche les résultats sous une forme lisible par l'homme (par exemple, 4k, 5M, 3G).la source
Tous les exemples ci-dessus vous indiqueront la taille des données sur le disque (c'est-à-dire la quantité d'espace disque utilisée par un fichier particulier, qui est généralement supérieure à la taille réelle du fichier). Dans certaines situations, ils ne vous donneront pas de rapport précis si les données ne sont pas réellement stockées sur ce disque particulier et que seules les références inode existent.
Dans votre exemple, vous avez utilisé ls -l sur un seul fichier, qui aura retourné la taille réelle du fichier, PAS sa taille sur le disque.
Si vous voulez connaître la taille réelle des fichiers, ajoutez l’option -b à du.
la source
Personnellement, je pense que c'est mieux, si vous ne voulez pas utiliser
ncdu
la source
Cela montre combien d’espace disque il vous reste sur le lecteur en cours, puis combien de temps chaque fichier / répertoire occupe. par exemple,
la source
J'utilise cette commande en tant que root :
la source
trouve tous les fichiers du répertoire courant de manière récursive et résume leur taille:
la source
-not -type d
pour additionner non seulement la taille des fichiers ordinaires (-type f
), mais également celle des liens symboliques, etc.Voici une fonction pour vos .bash_aliases
exemple de sortie:
pour les sous-répertoires:
la source
Une autre variante:
la source
Notez que l’
du
impression de l’espace occupé par un répertoire sur le support est généralement supérieure à la taille totale de tous les fichiers du répertoire, car elledu
prend en compte la taille de toutes les informations auxiliaires stockées sur le support pour organiser le répertoire en conformité avec le format du système de fichiers.Si le système de fichiers est compressible, le
du
nombre de fichiers générés peut être encore inférieur à la taille totale de tous les fichiers, car ceux-ci peuvent être compressés en interne par le système de fichiers et occupent donc moins d'espace sur le support que les informations non compressées qu'ils contiennent. Idem s'il y a des fichiers fragmentés.s'il y a des liens durs dans le répertoire,
du
vous pouvez imprimer une valeur plus petite car plusieurs fichiers différents du répertoire font référence aux mêmes données sur le support.Pour obtenir la taille totale simple de tous les fichiers du répertoire, vous pouvez utiliser l'expression de shell à une ligne suivante (en supposant un système GNU):
ou même plus court:
Il additionne simplement les tailles de tous les fichiers non-répertoires du répertoire (et de ses sous-répertoires de manière récursive) un par un. Notez que pour les liens symboliques, il indique la taille du lien symbolique (pas du fichier vers lequel le lien symbolique pointe).
la source
Vous pouvez utiliser
du -sh directory/
et
du -sh filename
connaître l'espace occupé par le dossier ou le fichier.
df -h
montrera l'utilisation du disque dans un format lisible par l'homme -h le fait.
Il existe également un programme basé sur une interface graphique appelé
Disk Usage Analyzer
.la source
Voici un script POSIX qui fonctionnera avec:
La source
la source