【问题标题】:How to delete a folder which named as \ using terminal如何使用终端删除名为\的文件夹
【发布时间】:2016-07-21 06:48:23
【问题描述】:

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

【问题讨论】:

  • 请给出您在尝试删除时收到的错误信息。

标签: bash terminal rmdir


【解决方案1】:

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

rmdir \\
rmdir '\'

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • -v 标志在这里很方便 ++
    【解决方案3】:

    你只需要给 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')"

    【讨论】:

      【解决方案4】:

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

      【讨论】:

      • 这将删除名为 \ 的文件夹
      猜你喜欢
      • 1970-01-01
      • 2013-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-23
      • 2011-04-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多