Filesystems
讓 Linux 在 NTFS 分區的文件名中禁止冒號
Linux 真的允許在文件名中使用冒號嗎,即使在 NTFS 分區上也是如此?這是為什麼?是否有任何選項可以直接設置它,並且在使用 NTFS 分區時不允許在文件名中使用冒號(和 Windows 限制的其他字元)?並且允許它用於 Ext2、Ext3 和 Ext4 分區嗎**?**
Linux 將一些名稱中帶有冒號的文件寫入了我安裝了 Windows 的主 NTFS 分區。我已經解除安裝了 Linux,但現在我無法在 Windows 中打開這些文件。
如果是 NTFS-3G,請查看ntfs-3g 手冊頁並蒐索“windows_names”。
摘抄
windows_names
此選項可防止使用 Windows 不允許的名稱創建文件、目錄和擴展屬性,因為它包含一些不允許的字元(即九個字元“* / : < > ? \ | 以及那些其程式碼小於0×20) 或者因為最後一個字元是空格或點。現有的此類文件仍然可以讀取(和重命名)。
即使在 NTFS 分區上?這是為什麼?
除了 Win32 文件名,NTFS 還通過文件名命名空間機制支持 DOS 和 POSIX 文件名。這樣,一個文件不僅可以在其名稱中包含冒號或反斜杠,而且它甚至可以有多個名稱。
您可能已經在命令行中看到過 DOS 文件名,如下所示(或在 的根目錄中
MICROS~1
常見的PROGRA~1
名稱):Program Files``C:
Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\Users\User>cd c:\Program Files c:\Program Files>dir /x Volume in drive C has no label. Volume Serial Number is E4FC-4AD7 Directory of c:\Program Files 01/16/2020 10:13 PM <DIR> . 01/16/2020 10:13 PM <DIR> .. 05/26/2020 04:39 PM <DIR> 7-Zip 07/14/2009 06:20 AM <DIR> COMMON~1 Common Files 11/21/2010 10:16 AM <DIR> DVDMAK~1 DVD Maker 11/21/2010 10:06 AM <DIR> INTERN~1 Internet Explorer 11/21/2010 10:16 AM <DIR> MICROS~1 Microsoft Games 01/16/2020 10:14 PM <DIR> MINGW-~1 mingw-w64 07/14/2009 08:32 AM <DIR> MSBuild 07/14/2009 08:32 AM <DIR> REFERE~1 Reference Assemblies 11/21/2010 10:06 AM <DIR> WINDOW~3 Windows Defender 11/21/2010 10:16 AM <DIR> WI0FCF~1 Windows Journal 11/21/2010 10:06 AM <DIR> WINDOW~1 Windows Mail 11/21/2010 10:06 AM <DIR> WI54FB~1 Windows Media Player 07/14/2009 08:32 AM <DIR> WINDOW~2 Windows NT 11/21/2010 10:06 AM <DIR> WINDOW~4 Windows Photo Viewer 11/21/2010 06:31 AM <DIR> WIBFE5~1 Windows Portable Devices 11/21/2010 10:06 AM <DIR> WI4223~1 Windows Sidebar 0 File(s) 0 bytes 18 Dir(s) 5,582,016,512 bytes free c:\Program Files>
在上面的目錄列表中,文件的兩個命名空間彼此相鄰列出。Win32 名稱與 DOS 不衝突的條目沒有 DOS 名稱。
如果沒有
windows_names
另一個答案中提到的選項,Linux NTFS 驅動程序ntfs-3g
使用 POSIX 命名空間來命名它創建的文件。