Bash 如何使用终端删除名为\的文件夹

Bash 如何使用终端删除名为\的文件夹,bash,terminal,rmdir,Bash,Terminal,Rmdir,当我尝试使用terminal by rmdir删除文件夹时,我在桌面上使用名为“\”的GUI创建了一个文件夹。那我就不能删除了。原因是什么???键入rmdir'\'以删除该文件夹您需要转义删除字符,rmdir\\\,为verbose添加一个-v标志,即rmdir-v\\ $ mkdir \\ $ ls -lrt \\ total 0 $ rmdir -v \\ rmdir: removing directory, `\\' 问题在于\是一个特殊字符,在rmdir程序获取它之前,shell(“扩

当我尝试使用terminal by rmdir删除文件夹时,我在桌面上使用名为“\”的GUI创建了一个文件夹。那我就不能删除了。原因是什么???

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

您需要转义删除字符,
rmdir\\\
,为verbose
添加一个
-v
标志,即rmdir-v\\

$ mkdir \\
$ ls -lrt \\
total 0
$ rmdir -v \\
rmdir: removing directory, `\\'

问题在于
\
是一个特殊字符,在
rmdir
程序获取它之前,shell(“扩展”)会截取并使用它。因此,您需要引用该字符,以指示shell不应将其弄乱。有(至少)两种方法:

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


作为练习,您将如何删除名为
-\
的目录

您只需要给bash一个命令行,该命令行的参数为单个
\
(在bash扩展之后)

最简单的方法是:
rmdir'\'

最基本的是转义
\
rmdir\\

$ mkdir \\
$ ls -lrt \\
total 0
$ rmdir -v \\
rmdir: removing directory, `\\'
甚至在双引号内:
rmdir“\\”

使用八进制转义码:
rmdir$'\134'

rmdir“$(echo-e'\0134')”

rmdir“$(printf'%b\n'\134')”

使用十六进制值:
rmdir$'\x5c'

rmdir“$(echo-e'\x5c')”


rmdir“$(printf'%b\n'\x5c')”

请给出尝试删除时收到的错误消息。这将删除名为\n的文件夹
-v
标志在这里很方便++