为什么 `'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:只是一个常规文件!

相关内容