【问题标题】:Removing a file called ~ [closed]删除一个名为 ~ [关闭]
【发布时间】:2016-04-09 17:36:18
【问题描述】:

当我试图将文件移动到我的主目录时,我不小心将其命名为 ~。现在在我的/ 中有一个名为~ 的文件,我不知道如何删除它。

如何删除不小心重命名为 ~ 的文件?

【问题讨论】:

  • @black 恕我直言,它是 on-topic 因为它是关于 shell 编程的。
  • @hek2mgl 我不明白 shell 编程有什么意义。
  • @black 让我们同意这是一个极端情况。了解~ get 是如何被 bash 扩展的 与 bash 编程相关,而用例“删除意外创建的文件”则与系统管理员工作更相关。但是,这在与 shell 相关的标签中很常见,因为系统管理员使用 shell,无论是交互的还是在脚本中。
  • @NisseEngström 有效点。我已将其标记为 bash
  • rm \~rm ./~rm '~'rm "~"。请注意,与名为- 的文件的解决方案之一不同,命令rm -- ~不起作用~rm 看到之前被 shell 扩展。

标签: linux bash rm


【解决方案1】:

您可以使用反斜杠将其删除。

 rm \~

【讨论】:

  • 它给了rm: cannot remove ‘~’: Is a directory
【解决方案2】:

将文件名放在引号中:

rm '~'

您可以按照bash手册:

https://www.gnu.org/software/bash/manual/html_node/Tilde-Expansion.html

如果一个单词以 不带引号的 波浪字符 ('~') 开头,则直到第一个不带引号的斜杠(或所有字符,如果没有不带引号的斜杠)之前的所有字符都被视为波浪号前缀。 ...

【讨论】:

  • 我早该想到的!我会尽快接受这个答案是正确的。谢谢!
  • 它给了rm: cannot remove ‘~’: Is a directory
  • 删除目录需要使用rm -r '~'
猜你喜欢
  • 1970-01-01
  • 2019-01-20
  • 2016-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-24
  • 1970-01-01
相关资源
最近更新 更多