在基于 unix 的操作系统中,使用文件夹名称中的特殊字符更改目录

在基于 unix 的操作系统中,使用文件夹名称中的特殊字符更改目录

我想进入 ubuntu 服务器中的一个目录。

问题 :该文件夹的名称是@w$#

它在 /Volumes/


$ pwd
/Volumes

$ ls -a
.       ..      @w$#        hdd

我不能进入@w$#。

注意事项:

还,Tab 补全或者拖放不会起作用。(来源:https://askubuntu.com/a/101602

另外,我认为我不应该删除/硬盘甚至/卷

答案1

用单引号括住目录名称:

cd '@w$#'

这将转义其中包含的特殊字符:@$#

答案2

一般来说,答案是转义特殊字符。正如 Nasir 上面提到的,可以通过将整个内容括在单引号中来实现。也可以通过在任何特殊字符前面加上反斜杠来实现。

cd \@w\$\#

另外,正如其他人提到的,如果您转义第一个字符,则制表符补全将起作用。在这种特殊情况下,使用制表符补全时,@ 被视为特殊的网络字符,因此会尝试将其补全为各种主机名之一。如果您将 @ 传递给 w,它会意识到它不是网络补全并正常工作。

相关内容