為什麼 `'ln -s /directory 'D:'` 會像它那樣運作?

為什麼 `'ln -s /directory 'D:'` 會像它那樣運作?

所以,正如所提到的這裡'ln -s /directory 'D:'將 WindowsD:位置對應到 Linux 樣式目錄。

然而,據我所知,這違反了 Linux 命名系統。為什麼 Linux 允許在命令中使用 Windows 風格的目錄起始符ln

答案1

這是有效的,因為D:是 Linux(以及一般的 POSIX)中的有效目錄名稱。對於 Linux 而言,它沒有任何意義。

(有些程式會在適當的目錄中以特殊方式處理這樣命名的某些目錄;例如,Wine 期望在dosdevicesWine 前綴內的目錄中出現這樣的目錄。但這只是Wine 特有的,而不是Linux 強制執行的。 )

答案2

:字元在 *nix 檔案名稱中沒有特殊意義。允許使用除 NUL 和 之外的任何字符/(在輸入或通過管道傳輸到命令時需要轉義幾個字符,特別是空格和換行符,但它們仍然是合法的)。

在您的範例中,D:只是一個常規文件!

相關內容