如何在文件名中添加正斜杠?

如何在文件名中添加正斜杠?

我知道这可能会破坏我的系统并使其混乱不堪,但是是否可以命名或重命名文件,使其/名称中包含 s (这对于需要发送到同样疯狂的服务器的文件来说是必要的 - 嗯,有点,这更像是一种疯狂的解决方法)?我正在运行带有 GNOME 3.18 的 Ubuntu GNOME 15.10,并且我尝试对大多数程序执行此操作,它们要么用该文件创建一个文件夹,因为它们将 之前的内容/视为文件夹,将其之后的内容视为文件名,或者只是给我一个错误。

原因:

我需要它的具体原因是因为我设置了一个很顽固的服务器,现在它不会改变其配置文件所在位置的想法。但是我不小心/在文件名称中加入了 ,所以它认为配置文件而不是在~/configuration/files/config1.conf...~/configuration/files/con/fig1.conf所以你可能会说我应该创建一个文件夹files并命名为con,然后将配置文件命名为fig1.conf,但是服务器目前甚至不允许创建新目录或任何其他东西...所以我认为我唯一的希望是暂时在文件名中加上正斜杠,直到它退出锁定模式。

答案1

是否可以命名或重命名文件,以使其名称中包含/s [...]?

不,原因很明显。

例如,假设您有一个包含以下内容的目录:

  • 名为“foo”的目录,包含名为“bar”的文件
  • 名为“foo/bar”的文件
/path/to/foo/bar # file named "bar" in the directory named "foo"
/path/to/foo/bar # file named "foo/bar"

引用其中任何一个都会产生歧义。

如果您好奇限制是在哪里施加的,那是在内核级别,为了符合文件系统的规范。

一般来说,除了/(unicode 002f) 和\0(unicode 0000) 之外,任何字符都可以在文件名中使用,并且像.和 这样的文件名..也是不允许的。

答案2

在 Mac OS 终端中,重命名时可以将斜线替换为冒号 (:),在 Finder(图形文件管理器)中查看文件时,文件名中输入冒号的位置应该会出现斜线。这可能也适用于 Linux。

答案3

这是可以做到的,但并不容易,效果也不好,而且不推荐(当尝试删除文件时会产生问题。

只需使用 unicode 替代即可。linuxanswers.com 上有更好的解释。

bash使用 unicode“小数斜杠”的 shell 示例U+2044

bash# >test$'\xe2\x88\x95'file
bash# ls --show-control-chars
test∕file
bash# ls
test???file

我不知道服务器是否可以访问该文件,但 Ubuntu 可以。如果可能的话,您可能必须在服务器端为其设置别名。(自 Windows 95 时代以来,就再也没有接触过 Windows 安装)。

相关内容