0

当我尝试通过 rmdir 使用终端删除该文件夹后,我使用名为“\”的 GUI 在桌面中创建了一个文件夹。然后我无法删除它。这是什么原因???

4

4 回答 4

4

问题是这\是一个特殊字符,在rmdir程序获取它之前被shell(“扩展”)拦截和使用。所以你需要引用这个字符来表示shell不应该弄乱它。有(至少)两种方式:

rmdir \\
rmdir '\'

注意第二个:单引号,而不是双引号(\在双引号内展开)。

给它,作为一个练习,你将如何删除一个名为 的目录-\

于 2016-07-21T07:02:55.273 回答
2

您需要转义字符以进行删除rmdir \\,添加-v详细标志i.e. rmdir -v \\

$ mkdir \\
$ ls -lrt \\
total 0
$ rmdir -v \\
rmdir: removing directory, `\\'
于 2016-07-21T06:59:15.827 回答
1

您只需要为 bash 提供一个参数为单个的命令行\(在 bash 扩展之后)。

最简单的是:rmdir '\'

最基本的是逃避\rmdir \\

甚至在双引号内:rmdir "\\"

使用八进制转义数:rmdir $'\134'
rmdir "$(echo -e '\0134')"
rmdir "$(printf '%b\n' '\134')"

使用十六进制值:rmdir $'\x5c'
rmdir "$(echo -e '\x5c')"
rmdir "$(printf '%b\n' '\x5c')"

于 2016-07-21T07:57:55.290 回答
0

键入 rmdir '\' 以删除该文件夹

于 2016-07-21T06:50:22.210 回答