當我將檔案複製到 USB 裝置時,它們的大小似乎變大了。
我有一個名為 testdir 的目錄,其中包含一堆 ascii 文字檔。原目錄:
$ 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
簡短回答:塊大小
更長的答案:USB 驅動器的區塊大小很可能比硬碟的區塊大小更大。檔案系統本質上無法僅使用區塊的一部分,結果是即使資料量僅為區塊大小的一小部分,也會使用整個區塊。
正如您所說,由於您有“一堆 ascii 文字檔案”,這會放大問題,因為這些文件通常非常小。例如,如果您的區塊大小為 16Kb,則檔案將至少佔用那麼多空間,無論其實際大小如何。
您可以使用此命令查看分區塊大小(需要 root):
blockdev --getbsz /dev/XXXX
....其中 XXX 是分區的設備節點。