删除名为〜的文件夹

这是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 ~因为那会删除我的主目录。

我该怎么办? 这对我来说不是问题,只是眼睛疼痛。

rm -R ./~

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

我以前用rm做过愚蠢的错误所以这里有一些我多年来学到的一些提示,试图让你的数据免于意外事故:

  1. 使用像Nautilus这样的图形解决方案。 将其删除到垃圾箱。 然后,当你知道你没有将$HOME移动到垃圾箱中时(一切都会开始崩溃并且看起来很时髦),清空垃圾桶。

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

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

    然后删除它。

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

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

精彩问题:)

您可以删除目录 逃离波浪号:

 rm -rf \~ 

这适用于各种特殊字符。

您可以将文件夹名称简化为撇号:

  rm '~' 

另一种,更复杂的方法是使用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 . 在具有大量文件和/或目录的目录中将花费大量时间和磁盘读取。
Interesting Posts