如何删除波形符 (~) 文件夹?

如何删除波形符 (~) 文件夹?

我需要删除我的主目录中的“~”文件夹。

我现在意识到这rm -R ~是一个糟糕的选择。

我可以安全使用吗rm -R "~"

答案1

理论上是的。在实践中通常也是如此。如果您调用的 shell 脚本或别名执行了一些奇怪的操作,那么可能不会。

您可以使用echoshell 来查看特定命令将扩展为什么:

$ echo rm -R ~
rm -R /home/frostschutz
$ echo rm -R "~"
rm -R ~

请注意,echo删除 ,""因此您不应该复制粘贴它打印的内容。它只是表明,如果您给出"~",该命令会按字面意思看到~,而不是扩展/home/frostschutz路径。

如果您对任何命令有任何疑问,是否可以从一些不太致命的命令开始,如果它出错的话?对于您的情况,您可以从重命名开始,而不是直接删除它。

$ mv "~" delete-me
$ ls delete-me
# if everything is in order
$ rm -R delete-me

对于通常不应该存在的令人困惑的文件名(例如以或~开头的其他名称,或包含换行符等),安全总比后悔好。~

还可以考虑使用制表符补全(输入ls ~<TAB><TAB><TAB>),大多数 shell 都会尽力照顾您,这也有助于避免输错常规文件名。

答案2

正如 Kalvin Lee 提到的,您可以cd到该目录并删除其内容,然后使用rmdir删除该目录。我推荐这种rm -R方法,因为您不太可能误操作命令并破坏您的主目录。

一般来说,您可以将不希望 shell 展开的内容放在单引号中。这将删除一个名为 的空目录~

rmdir '~'

答案3

除了frostschutz的双引号方法和Andy的简单引用方法之外,还有更短的:

rm -r \~

以及相对路径一:

rm -rf ./~

答案4

我知道这个问题已经得到解答,但我总是使用mc- Midnight Commander 来删除我不敢尝试删除的尴尬文件。它是一个类似“GUI”的界面,您只需突出显示要删除的文件,然后将其删除。

相关内容