删除名为 ~ 的文件夹

删除名为 ~ 的文件夹

这是输出ls -l

ls -l
total 53484
drwxr-xr-x 3 root root     4096 2011-02-10 05:59 ~
-rw-r--r-- 1 root root 54313810 2011-02-13 05:09 jobs.jar
-rw-r--r-- 1 root root   384035 2011-02-15 05:33 jobsLog.out

我不能这样做,rm -rf ~ 因为那样会删除我的主目录。

我该怎么办?这对我来说不是问题,只是有点碍眼。

答案1

rm -R ./~

~这将使其在当前文件夹中查找。

答案2

我以前也犯过一些愚蠢的错误rm,所以这里有我多年来学到的一些技巧,可以尝试保护您的数据免受意外损坏:

  1. 使用 Nautilus 等图形解决方案。将其软删除到垃圾箱。然后,当您知道您没有将其移入$HOME垃圾箱时(一切都会开始崩溃并且看起来很奇怪),清空垃圾箱。

  2. 移动而不是删除。使用 重命名目录mv,例如:

    mv ./\~ ./a-nice-sensible-directory-name
    

    然后删除它。

  3. 如果有疑问,请-i在处理潜在问题时使用该标志。它会提示您删除的每个文件,并会让您很快知道是否会发生不好的事情。

    oli@bert:~/Desktop$ rm -rfi ./del/
    rm: descend into directory `./del'? y
    rm: remove regular file `./del/output2.pdf'?
    

答案3

精彩问题:)

您可以通过以下方式删除目录逃跑波浪符号:

rm -rf \~

这适用于各种特殊字符。

答案4

另一种稍微复杂一点的方法是使用 inode 编号:

$ ls -li
total 24
 7146369 drwxr-xr-x   4 user  staff   136 Jan 19 21:50 ~
$ find . -xdev -inum 7146369 -exec rm -rf {} \;

优点

  • 它可以适用于任意奇特的名称。
  • 应该安全的因为 inode 编号是唯一的(-xdev:不要在其他文件系统上下降目录)并且您可以先测试搜索,以防万一,删除-exec rm -rf {} \;

缺点

  • find .在包含大量文件和/或目录的目录中执行此操作将花费大量时间并进行磁盘读取。

相关内容