Filesystems

讓 Linux 在 NTFS 分區的文件名中禁止冒號

  • November 17, 2020

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&gt;cd c:\Program Files

c:\Program Files&gt;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    &lt;DIR&gt;                       .
01/16/2020  10:13 PM    &lt;DIR&gt;                       ..
05/26/2020  04:39 PM    &lt;DIR&gt;                       7-Zip
07/14/2009  06:20 AM    &lt;DIR&gt;          COMMON~1     Common Files
11/21/2010  10:16 AM    &lt;DIR&gt;          DVDMAK~1     DVD Maker
11/21/2010  10:06 AM    &lt;DIR&gt;          INTERN~1     Internet Explorer
11/21/2010  10:16 AM    &lt;DIR&gt;          MICROS~1     Microsoft Games
01/16/2020  10:14 PM    &lt;DIR&gt;          MINGW-~1     mingw-w64
07/14/2009  08:32 AM    &lt;DIR&gt;                       MSBuild
07/14/2009  08:32 AM    &lt;DIR&gt;          REFERE~1     Reference Assemblies
11/21/2010  10:06 AM    &lt;DIR&gt;          WINDOW~3     Windows Defender
11/21/2010  10:16 AM    &lt;DIR&gt;          WI0FCF~1     Windows Journal
11/21/2010  10:06 AM    &lt;DIR&gt;          WINDOW~1     Windows Mail
11/21/2010  10:06 AM    &lt;DIR&gt;          WI54FB~1     Windows Media Player
07/14/2009  08:32 AM    &lt;DIR&gt;          WINDOW~2     Windows NT
11/21/2010  10:06 AM    &lt;DIR&gt;          WINDOW~4     Windows Photo Viewer
11/21/2010  06:31 AM    &lt;DIR&gt;          WIBFE5~1     Windows Portable Devices
11/21/2010  10:06 AM    &lt;DIR&gt;          WI4223~1     Windows Sidebar
              0 File(s)              0 bytes
             18 Dir(s)   5,582,016,512 bytes free

c:\Program Files&gt;

在上面的目錄列表中,文件的兩個命名空間彼此相鄰列出。Win32 名稱與 DOS 不衝突的條目沒有 DOS 名稱。

如果沒有windows_names另一個答案中提到的選項,Linux NTFS 驅動程序ntfs-3g使用 POSIX 命名空間來命名它創建的文件。

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