Filesystems

如何刪除名稱中包含“:”的 NTFS 文件系統文件?

  • May 12, 2014

幾天前,我在 NTFS 可移動硬碟中備份了一些 Linux 文件,這次我需要刪除這些文件。但我覺得很難,因為:

  1. 在 Windows 上,它抱怨“找不到這個項目
  2. 在作業系統為ubuntu 12.04的虛擬機上,當我掛載硬碟(我猜它使用“ntfs-3g”)並使用“ rm”時,它會抱怨“沒有這樣的文件或目錄”;甚至“ ls”文件都失敗了。

那麼有什麼方法可以正確粉碎這個文件嗎?

chkdsk /f在 Windows 上執行。它應該刪除帶有無效字元的文件或修復它們的文件名,以便可以手動刪除它們。

NTFS 支持“流”,例如 HFS+ 的“分叉”,並且不同於通常的 unix 文件系統上的任何東西。

Windows 上的約定是將流命名為文件名的一部分,用 分隔文件名和流名:,這就是為什麼你得到“找不到這個項目”——對於名稱“這裡:試試這個”,Windows在文件“here”中尋找流“try this”。我想你可以告訴 Windows 不要像這樣解析文件名,但我不知道怎麼做。

ntfs-3g 有一個掛載選項來啟用兼容的流名稱解析,掛載 fs-o streams_interface=windows和 ntfs-3g 將:在文件名中以相同的方式處理。所以要檢查這一點,mount|grep windows應該工作得很好。

引用自:https://unix.stackexchange.com/questions/102043