Comment obtenir la taille d’un répertoire sous Linux

Lors de la liste du contenu d’un répertoire à l’aide de la commande ls, vous avez peut-être remarqué que la taille des répertoires est presque toujours de 4096 octets (4 Ko). C’est la taille de l’espace sur le disque qui est utilisée pour stocker les méta-informations pour le répertoire, pas ce qu’il contient.

La commande que vous voudrez utiliser pour obtenir la taille réelle d’un répertoire est du, qui est l’abréviation de « disk usage ».

Obtenir la taille d’un répertoire #

Le affiche la quantité d’espace fichier utilisée par les fichiers ou répertoires spécifiés. Si le chemin spécifié est un répertoire, du récapitule l’utilisation du disque de chaque sous-répertoire de ce répertoire . Si aucun chemin n’est spécifié, du signale l’utilisation du disque du répertoire de travail actuel.

Lorsqu’il est appelé sans aucune option, du affiche l’utilisation du disque du répertoire donné et de chacun de ses sous-répertoires en octets.

En règle générale, vous souhaitez afficher l’espace occupé par le répertoire dans un format lisible par l’homme. Par exemple, pour obtenir la taille totale de /var, vous exécuteriez la commande suivante:

La sortie ressemblera à ceci:

Expliquons la commande et ses arguments:

  • La commande commence par sudo car la plupart des fichiers et répertoires dans le Les répertoires /var appartiennent à l’utilisateur root et ne sont pas lisibles par les utilisateurs normaux. Si vous omettez sudo, la commande du affichera « du: cannot read directory ».
  • s – Afficher uniquement la taille totale du répertoire spécifié, ne pas afficher les totaux de taille de fichier pour les sous-répertoires.
  • h – Tailles d’impression dans un format lisible par l’homme (h).
  • /var – Le chemin vers le répertoire que vous souhaitez obtenir la taille.

Que faire si vous souhaitez afficher l’utilisation du disque des sous-répertoires de premier niveau? Vous avez deux options. La première consiste à utiliser le symbole astérisque (*) comme indiqué ci-dessous, ce qui signifie » correspond à tout ce qui ne commence pas par un point (.) « . L’option -c indique à du d’imprimer un total général de toutes les tailles:

Une autre façon d’obtenir un rapport sur l’utilisation du disque des sous-répertoires de premier niveau consiste à utiliser l’option --max-depth:

Par défaut, la commande du affiche l’espace disque utilisé par le répertoire ou le fichier. Pour trouver la taille apparente d’un répertoire, utilisez l’option --apparent-size. La « taille apparente » d’un fichier correspond à la quantité de données qu’il contient.

Lorsque vous transférez un répertoire via SCP, Rsync. Ou SFTP la quantité de données transférées sur le réseau correspond à la taille apparente des fichiers. C’est pourquoi la taille de l’espace sur le disque utilisé sur la source lorsqu’elle est affichée avec du (sans --apparent-size) n’est pas la même que la taille de la cible.

La commande du peut également être combinée avec d’autres commandes avec des tubes.

Par exemple, pour afficher les 5 plus grands répertoires dans le répertoire /var, vous devez diriger la sortie de du à la commande sort pour trier les répertoires selon leur taille, puis diriger la sortie vers la commande head qui ne s’imprimera que les 5 principaux répertoires:

Conclusion #

Sous Linux, vous peut obtenir la taille d’un répertoire en utilisant la commande du.

Write a Comment

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *