Windows と Linux ではファイル サイズが若干異なるのはなぜですか?

Windows と Linux ではファイル サイズが若干異なるのはなぜですか?

大量の .gz ファイルを Windows マシンから Linux マシンに (scp 経由で) 転送しました。ファイルが大きいため、ファイル サイズを比較して、完全に転送されたことを確認しました。Linux にコピーしたファイルは、Windows マシン上の元のファイルより 0.097% 大きいと表示されています。この不一致の原因は何なのか知りたいです。Linux で ls -l を使用し、Windows のプロパティでファイル サイズ情報を確認しました。

答え1

おそらく、Windows ではファイル サイズが kbs、mbs、gbs などで表示されるのに対し、Linux では kibs、mibs、gibs などで表示されるからでしょうか。

1 kb は 1000 バイト、1 kib は 1024 バイト、1 mib は 1024 kib です。

他に考えられる理由はおそらくメタデータです。

ただし、どちらの理由も Linux のファイル サイズが Windows よりも小さいことを示唆しているため、確信はありません。

もちろん、問題は最小データ ブロック サイズにある可能性があります (4kib のデータ ブロックと 1kib のファイルがある場合、ディスク上で 4kib のスペースを占有することになります)。ただし、これは表示されるファイル サイズに影響を与えることはないと思いますし、大きなファイルではそれほど問題にはならないと思います。

関連情報