大量の .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 のスペースを占有することになります)。ただし、これは表示されるファイル サイズに影響を与えることはないと思いますし、大きなファイルではそれほど問題にはならないと思います。