USBスティックで同じファイルが大きいのはなぜですか?


2

USBデバイスにファイルをコピーすると、サイズが大きくなるようです。

asciiテキストファイルの束を含むtestdirというディレクトリがあります。元のディレクトリ:

$ du -hs testdir
22M

ディレクトリをUSBデバイスにコピーしました

$ du -hs testdir
82M

内容を確認しました。それらはまったく同じです。私が考えることができる唯一の違いはファイルシステムです:

$ lsblk -f
...
 sdb                                                        
└─sdb1 ext4           ce7a8f47-699d-450a-9391-932e75e6eb44 /
sdc                                                        
└─sdc1 vfat           F474B7AA74B76DCC                     /mnt/usbstick
...

どうしてこれなの?


おそらく、使用されているさまざまなタイプのファイルシステムと「ブロック」のサイズに関係があります。私は正確にそれを答えとは言いません...ごめんなさい。ここにいくつかのリンクがあります。ここで答えに興味があります。[1] unix.stackexchange.com/questions/14409/... [2] superuser.com/questions/510105/...
ディーンスパイサー

わずか違いがある場合は、スティックのフォーマットに使用されるアロケーションユニットのサイズが原因である可能性がありますが、小さなファイルが多数あったとしても、4:1に近い増加は少し大きいです。んLSは、各ファイルの詳細を表示しますか?
DrMoishe Pippik

回答:


1

簡単な答え:ブロックサイズ

長い回答:USBドライブは、ハードドライブよりもブロックサイズが大きい可能性があります。ファイルシステムはその性質上、ブロックの一部のみを使用することはできません。その結果、データ量がブロックサイズのほんの一部であっても、ブロック全体が使用されます。

あなたが言うように、「大量のASCIIテキストファイル」を持っているので、これらは通常非常に小さいので問題を増幅します。たとえば、ブロックサイズが16Kbの場合、ファイルは実際のサイズに関係なく、少なくともその量のスペースを使用します。

このコマンドでパーティションのブロックサイズを確認できます(ルートが必要です)。

blockdev --getbsz /dev/XXXX

....ここで、XXXはパーティションのデバイスノードです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.