Filesystems
如何檢查卷上的所有路徑/文件是否符合 EXT3、FAT32 和 HFS+
我有一個包含文件的捲,需要在 Mac、Linux 和 Windows 機器之間複製。我想確保沒有意外:
- 文件大小
- 文件名長度
- 文件名字元集
- 嵌套目錄數
我是否正確假設任何在 FAT32 中合法的(在上面的列表中)在 NTFS、EXT3 和 HFS+ 中也是合法的?
如果沒有,是否有我可以執行的腳本/實用程序,而無需將文件實際複製到所有這些類型的捲,這將列印一個潛在問題列表?
你是對的 - FAT32 和它的限制(與文件大小和字元限制有關)將是你最大的限制。
供參考(以便將資訊集中在一個地方):
| TYPE | FILE SIZE | FILENAME | CHARACTER SET | DIRECTORY | VOLUME SIZE | | FAT32 | ~4GB | 11/255(2)|ASCII/Unicode(2)| No (3) | 2TB (1) | | NTFS | ~16 EiB(5)| 255 | Unicode(6) | No (4) | 16 EiB | | EXT3 | 16GB/2TB | 255 | Unicode | No | 16GB/32TB(7)| | HFS+ | ~8 EiB | 255 | Unicode | Unlimited | ~8 EiB | | ZFS | 16 EiB | 255 | Unicode | Unlimited | 16 EiB |
- 使用 64k 大小的集群可以達到 8TB。
- FAT32 本身支持使用 ASCII 的 11 個字元文件名 (8.3),支持長文件名,它最多支持 255 個 UTF-16 字元。排除的 ASCII 字元是:
" * / : < > ? \\ |
- 雖然子目錄的數量沒有限制 - 您的路徑限制為 260 個字元。(這是 Windows 95/98 中的限制 - 在 Linux 上是 4096)
- 與 FAT32 一樣,對子目錄沒有限制,但路徑限制為 32767。
- EiB = exbibyte = 2 ^ 60 字節。1 exbibyte = 1024 PB。1 PB = 1024 TB。
" * / : < > ? \\ |
NTFS 具有與 FAT 32 ( )不允許的相同字元集- 最大限制取決於塊大小。
有關更多資訊,一個很好的起點是 Wikipedia 的文件系統比較,但在某些細節上相當模糊。