GNU/Linux >> Tutoriels Linux >  >> Linux

Différence de calcul de taille de répertoire ?

J'ai besoin d'obtenir la taille du répertoire dans le terminal à des fins de signature. J'utilise la commande suivante :

du -s /path/to/dir

Je multiplie le résultat par la taille de bloc UNIX traditionnelle (512 octets) et j'obtiens la taille réelle du répertoire en octets. Cependant, la fenêtre de dialogue "Lire les informations" du Finder affiche une taille légèrement inférieure à celle calculée avec la commande du terminal. Et il semble que cela soit reproductible sur n'importe quel dossier/bundle. Qu'est-ce que je rate ?

Réponse acceptée :

Normalement, du affiche des informations sur l'utilisation du disque (d'où son nom vient). Gardez à l'esprit que

disk usage != sum of file sizes

Parce que chaque fichier occupe un certain nombre de blocs sur le système de fichiers (voir man mkfs.ext2 par exemple). Cela signifie que seulement dans une situation très rare, l'utilisation du disque d'un fichier est égale à sa taille réelle - pour cela, la taille doit être exactement un multiple de la taille du bloc.

Considérez les blocs de système de fichiers comme des boîtes contenant des parties de fichiers - chacune ne peut contenir qu'une partie d'un seul fichier.

Pour la version GNU de du , consultez le --apparent-size option.

Une situation encore plus intéressante peut se produire lorsqu'il y a des fichiers clairsemés sur le système de fichiers !


Linux
  1. Différence entre la taille du bloc et la taille du cluster ?

  2. Aide-mémoire sur les autorisations de fichiers/répertoires Linux

  3. Supprimer un lien symbolique vers un répertoire

  4. Obtenir le fichier le plus récent dans un répertoire sous Linux

  5. Exclure le répertoire lors de la création d'un fichier .tar.gz

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

Réduire la taille du fichier PDF sous Linux

Trouver le fichier puis cd dans ce répertoire sous Linux

Comment lister la taille de chaque fichier et répertoire et trier par taille décroissante dans Bash ?

surveiller la taille du fichier sous linux

Restreindre la taille du répertoire