Ion*_*zău 1 special-characters filenames
这周我参加了一场考试,其中一个问题是(有一个正确答案):
文件名可以包含以下字符:
一种)
\
b)
/
C)
?
d)
!
我选择c) ?
是因为它对我来说看起来不错。当我回到家时,我在我的机器(Ubuntu 14.04)上对其进行了测试,并成功创建了文件。在现成的计算器中,正确答案标记为d) !
。
我知道考试是特定于 Windows 的,但在试卷上没有指定平台。
很明显,文件名中不支持\
和/
字符,但是有没有办法强制操作系统允许它们?
证明支持even\
和/
characters真的很酷。
在考虑文件名中允许的字符时,有两个限制因素 - 与操作系统相关的限制和与文件系统相关的限制。对于这个问题,我假设我们谈论的是最新版本的 Linux 和 ext4。
Linux 只不允许在文件名中使用两个字符:/
,因为它是路径分隔符,和\0
(ASCII NUL),因为它终止 cstrings。除此之外,特殊名称.
和..
也被文件系统保留用作导航硬链接。
您可以轻松证明问题中提到的其他字符是允许的:
$ touch '\' '?' '!'
$ ls
! ? \
Run Code Online (Sandbox Code Playgroud)