web-dev-qa-db-fra.com

Pourquoi un fichier copié a-t-il une taille différente?

Lorsque je copie des fichiers entre deux disques durs du même système Ubuntu 14.04, à l'aide de la commande du -s, j'obtiens des valeurs différentes. Pour les fichiers de 11,3 Go, l'original est 11015704 et le nouveau 11015628. L'original a ext4 et a été transféré sur un système de fichiers NTFS.

Pourquoi les tailles de fichiers sont-elles différentes?

3
rubytiger1

Les systèmes de fichiers (les plus utiles) stockent les fichiers en blocs de taille (plus ou moins) fixe. Cela signifie qu'un fichier typique occupera plus d'espace que sa taille logique car il reste des octets inutilisés dans l'un de ses blocs de système de fichiers. La taille des blocs peut varier en fonction du type de système de fichiers et/ou peut être configurée lors de la création du système de fichiers, ce qui signifie que l'utilisation du même fichier sur un même système de fichiers peut différer d'un autre.

Par défaut, du indique l’espace réel occupé par les fichiers sur le lecteur (c.-à-d. Le nombre de blocs occupés multiplié par la taille du bloc).

Si vous souhaitez que du indique la taille (collective) des fichiers logiques, vous devez utiliser l'option --apparent-size (ou -b qui implique --apparent-size).

À partir du manuel du(1)) :

--apparent-size - imprime les tailles apparentes plutôt que l'utilisation du disque; bien que la taille apparente soit généralement plus petite, elle peut l'être davantage en raison de trous dans les fichiers ("clairsemés"), de la fragmentation interne, des blocs indirects, etc.

6
David Foerster