如何删除一个名为〜的目录?

一个缺陷程序已经创build了一个名为~的目录。

如果我做rm \~然后TAB它转换为~/这是用户主目录。

如何删除这样的目录?

更新

看到我的答案,解决了这个问题。 它基于发布的答案。

 rmdir ./~ 

所以,基本上,你指定的path是这样的,不会在“〜”上扩展shell。

使用rmdir '~'应该可以做到。

作为任何文件的一般答案。

ls -i

find -maxdepth 1 -inum [number] -exec rm -r {} \;这个数字,并把它放在find -maxdepth 1 -inum [number] -exec rm -r {} \;

我已经确认了以下的作品。 你也可以使用tab完成。

 rm ./~ 

没有按tab,请尝试

 rmdir \~ 

给绝对的道路解决问题。

 rmdir /home/user/~ 

而TAB并没有把它改写成别的东西。

shell在几个保留符号上执行通配符扩展,代字号就是一个例子。 当壳看到

 $ rm ~ 

它将代字符扩展到用户主目录的path。 实际上,shell“看到”这个,而是:

 $ rm /home/$USER/ 

要防止通配符扩展,请使用\转义符号,如下所示:

 $ rm \~ 

这将确保shell从字面上处理。

你有两个选项可以删除名为~目录

对于非空目录,将recursion标志传递给rm

 $ rm -r \~ 

而对于一个空目录:

 $ rmdir \~ 

首先想到的将是“不使用标签”,但未经testing。 更好的select:安装“MC”(午夜指挥官),并从其界面删除目录。 尽pipe它有一些解决方法。