Filesystems

如何檢查卷上的所有路徑/文件是否符合 EXT3、FAT32 和 HFS+

  • May 25, 2009

我有一個包含文件的捲,需要在 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      | 
  1. 使用 64k 大小的集群可以達到 8TB。
  2. FAT32 本身支持使用 ASCII 的 11 個字元文件名 (8.3),支持長文件名,它最多支持 255 個 UTF-16 字元。排除的 ASCII 字元是:" * / : < > ? \\ |
  3. 雖然子目錄的數量沒有限制 - 您的路徑限制為 260 個字元。(這是 Windows 95/98 中的限制 - 在 Linux 上是 4096)
  4. 與 FAT32 一樣,對子目錄沒有限制,但路徑限制為 32767。
  5. EiB = exbibyte = 2 ^ 60 字節。1 exbibyte = 1024 PB。1 PB = 1024 TB。
  6. " * / : < > ? \\ |NTFS 具有與 FAT 32 ( )不允許的相同字元集
  7. 最大限制取決於塊大小。

有關更多資訊,一個很好的起點是 Wikipedia 的文件系統比較,但在某些細節上相當模糊。

引用自:https://serverfault.com/questions/11603