如何在unix中创建带有'/'的目录?

如何在unix中创建带有'/'的目录?

我想创建一个目录,名称如下

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 有特殊含义。文件名有时被称为“路径名组件”。另请参见路径名

相关内容