差点把自己的主目录删掉了

我一直很讨厌 rm 命令的 -i 选项,一般删除目录都是直接 rm -rf 的,所谓“常在河边走,哪能不湿鞋”,今天差点把自己的主目录给删掉了。

本来是在试用 blueprint ,它的配置文件里面可以指定路径,谁知道它并不展开 ~ 为主目录,运行几次都没有反应,后来我改为绝对路径,才正常了。偶然发现它在当前目录生成了一个叫做 ~ 的目录,真是有些哭笑不得,立马 rm ~ 删除,结果出错了,我根本没有仔细看错误信息,心想:哦!对,这是一个目录,不能这样删。于是我又习惯性地键入 rm -rf ~ ……

过了大约 1 秒钟,没啥反应,我在想这个目录应该很小吧,怎么会删这么久?又敲了一个回车,然后突然反应过来了,难道它在删我的主目录?!立马 ^C 停止了!

2008-06-06-rm-rf.png

赶紧 ls 了一下,似乎应该在的东西都还在,算是虚惊一场,不过以后真得注意了。但是如果这次真的没有什么东西被删掉的话,那两秒钟的时间它在干什么呢?难道是 permission denied 救了我?

Comments (16)

blogkid June 06, 2008
“难道是 permission denied 救了我?”
再试试? :)
pluskid June 06, 2008
@blogkid,
-,-bb 还是算了吧……
小影 June 07, 2008

我也試過類似情景,真是嚇得出一身泠汗啊

兩秒鐘的時間...是否正在刪除隱藏檔案呢?

pluskid June 07, 2008
@小影,
嗯,我也检查了一下 . 开头的文件,看样子似乎都还在呢。
Rhythm June 08, 2008
估计是在计算待删除文件的列表?不知道 Linux 在删除文件之前是不是会干这么一件事情。反正 Windows 下删除大目录之前都会有这么一段时间。
pluskid June 08, 2008
@Rhythm,
好像不会啊, rm 又不会显示进度条的。
quark June 11, 2008
我的rm的两秒钟把我的blog全部吃掉了... =.=b
幸好QQ阅读空间中订阅了,还可以恢复正文文字部分...
比起来,Google Reader似乎自动无视了过长的文章,我转载的两万多字的文章没有在Google Reader中显示出来,QQ阅读空间中是正常显示的。
pluskid June 11, 2008
@quark,
我看了隐藏文件,可能第一个被删的两个文件(文件名的第一个字母) .bashrc 或者是 .zshrc 都还在。
pluskid June 11, 2008
啊!发现 .emacs 被删掉了…… T_T
Jack June 11, 2008
说明你很久没用emacs了
pluskid June 11, 2008

@Jack, no, 只是说明我很久没有改 Emacs 的配置了。我天天都在用,只是 ~/.emacs 没了,可是编译成字节码的版本 ~/.emacs.elc 还在,所以一直没发现。

不知道可不可以反编译出原来的 .emacs 来。-,-bb

quark June 12, 2008
批量删除文件不是按照字母顺序的,好像是直接按照文件系统中的物理排列顺序以获得最大的效率。Windows资源管理器也是这样的,许多第三方文件管理器的复制/删除效率都没有Windows资源管理器高,也许就是因为这个缘故吧。
ln June 12, 2008

做系统工作久了。习惯使用mv代替rm......

真的需要释放空间时候,我会ls foo;然后再rm -rf

pluskid June 12, 2008
@ln,
看来命令行下做一个回收站也还是挺不错的。 :)
Rhythm June 14, 2008

@pluskid

你的 .emacs 居然能被删整整 2 秒钟……我的 .vim 可是瞬间就删掉了

pluskid June 14, 2008
@Rhythm,
你也出这样的事故? momo ,不过现在只是发现 .emacs 没了,没有发现其他损失并不能说明没有损失啊。