5 votes

Pourquoi du -sl affiche-t-il des tailles différentes pour la source et le résultat d'un cp -rl ?

J'ai utilisé cp -rl pour copier un dossier. Lors de la mesure de la taille de la source et du résultat de la copie du -sl renvoie des tailles légèrement différentes, même si diff confirme que leur contenu est identique :

$ cp -rl folderA/ folderB/
$ du -sl folderA folderB
98561224 folderA
98590512 folderB
$ diff --brief -ra folderA/ folderB/
$

Les deux dossiers se trouvent sur le même disque dur, aucune modification n'a été apportée à l'un d'entre eux entre la copie et la mesure. Je n'ai rien trouvé dans la documentation de du y cp ce qui pourrait expliquer la différence.

2voto

Arun Points 211

Je viens d'essayer moi-même, et j'ai découvert que la différence de taille provient des fichiers du répertoire. Comme ils ne sont pas liés, ce sont de nouveaux fichiers qui sont créés, peut-être pas avec les mêmes métadonnées ?

Pour illustrer cela, exécutez les commandes suivantes :

ls -alR folderA/ | grep -v '^d' | awk '{total += $5} END {print "Total:", total}'
ls -alR folderB/ | grep -v '^d' | awk '{total += $5} END {print "Total:", total}'

Ces tailles devraient être identiques (fichiers dir non inclus). Vous pouvez imprimer les listes avec les tailles des répertoires et comparer les résultats pour trouver les répertoires qui sont exactement différents.

0 votes

En effet, les résultats sont identiques.

0 votes

J'ai aussi constaté que ce sont les fichiers du répertoire qui sont différents. Mais pourquoi ?

0 votes

Sous linux, les répertoires sont en fait des fichiers eux-mêmes, mais d'un type particulier. Je ne suis pas vraiment sûr de la raison de cette différence, mais elle est probablement liée aux métadonnées stockées par le système de fichiers. Vos répertoires d'origine peuvent avoir une taille plus importante parce qu'ils contenaient plus de fichiers, mais ont été supprimés ( ?). Ces fichiers supprimés ont ajouté un certain "remplissage" aux métadonnées du fichier dir qui n'est plus utilisé. Ainsi, lorsque le répertoire est copié, il n'est pas nécessaire de copier également ces données périmées, et les copies sont donc plus petites. P.S. C'est une supposition totale. Si vous trouvez la réponse, répondez-nous.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X