![為什麼我的 USB 記憶棒上的相同檔案更大?](https://rvso.com/image/1449484/%E7%82%BA%E4%BB%80%E9%BA%BC%E6%88%91%E7%9A%84%20USB%20%E8%A8%98%E6%86%B6%E6%A3%92%E4%B8%8A%E7%9A%84%E7%9B%B8%E5%90%8C%E6%AA%94%E6%A1%88%E6%9B%B4%E5%A4%A7%EF%BC%9F.png)
當我將檔案複製到 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 是分區的設備節點。