我想创建一个目录,名称如下
A3456/90876/IN AS%90876 JI KOL
答案1
虽然/
(U+002F) 是路径组件分隔符,显然不能在文件名中使用,但有一些(╱
⟋
⁄
∕
⧸
⁄
例如,甚至是组合分隔符 ( ̸
))看起来非常相似,如果需要,您可以使用它们来代替是为了迷惑或欺骗使用该系统的人。
例如:
mkdir A3456⁄90876⁄IN
现在,如果您只想使用一个命令IN
在目录中90876
的目录中创建目录A3456
,那么只需:
mkdir -p A3456/90876/IN
答案2
该字符/
不允许出现在文件名中,包括目录名。这是总是 解释为分隔符路径名组件之间。
资料来源:
路径名
用于标识文件的字符串。在 POSIX.1-2008 的上下文中,路径名可能限制为 {PATH_MAX} 字节,包括终止空字节。它具有可选的开头 <slash> 字符,后跟零个或多个由 <slash> 字符分隔的文件名。路径名可以选择包含一个或多个尾随 <slash> 字符。多个连续的 <slash> 字符被视为与一个 <slash> 相同,但恰好有两个前导 <slash> 字符的情况除外。
笔记:
如果路径名仅包含与可移植文件名字符集(请参阅可移植文件名字符集)中的字符相对应的字节、<slash> 字符和单个终止 <NUL> 字符,则该路径名将可用作所有支持的字符串。语言环境;否则,路径名可能只是一个字符串(而不是字符串)。此外,由于 <slash> 字符的单字节编码要求在所有语言环境中都相同,并且不能出现在多字节字符内,因此即使在以下情况下,对路径名中的 <slash> 字符的引用也是明确定义的:路径名不是字符串。但是,此属性不一定适用于可移植文件名字符集中的其余字符。
路径名解析详细定义在路径名解析。
(The Open Group 基本规范第 7 期, 体积基本定义,第 3 章“定义”,SV3.271路径名)
答案3
你不能。这是明确禁止的路径/文件名的 POSIX 定义:
3.170 文件名
由 1 到 {NAME_MAX} 个字节组成的字节序列,用于命名文件。组成名称的字节不得包含
<NUL>
或<slash>
字符。在路径名的上下文中,每个文件名后面应跟一个<slash>
或 一个<NUL>
字符;在其他地方,文件名后跟一个<NUL>
字符形成一个字符串(但不一定是字符串)。文件名 dot 和 dot-dot 有特殊含义。文件名有时被称为“路径名组件”。另请参见路径名