拿什么拯救你? rm -r

天雷滚滚。

天雷滚滚。

天雷滚滚。

拿什么拯救你? rm -r


作为一个Linux程序员,你能碰到的最伤心的事情,莫过于:

  1. 编译了一整天的工程,不小心被rm -r掉了

  2. 错误的执行了rm -r,把文件系统都删除了

  3. 在嵌入式板子和PC之间切换的时候,不小心删错了目标


不要说你没有遇到过!那么,你不是真的程序员。

拿什么拯救你? rm -r

要求确认

有人说,在你的bash中加入别名,譬如:

alias rm='rm -i'

这样可以保证任何的一次删除动作,都是需要确认的!

比如在~/.bashrc中添加:

拿什么拯救你? rm -r

这样删除文件会引发提示:

拿什么拯救你? rm -r


如果嫌弃提示太多,可以用-I:

拿什么拯救你? rm -r


这样提示会少:

拿什么拯救你? rm -r

拿什么拯救你? rm -r

阻止删除

在ext4这样的文件系统中,如果想阻止某个目录被不小心删除,可以"chattr +i "该目录,譬如:

chattr

$mkdir tmpi 

$sudo chattr +i tmpi/

这样后,甚至根用户也无法删除和改动里面的文件:


chattr

$rm -r tmpi

rm: remove write-protected directory ‘tmpi’? y

rm: cannot remove ‘tmpi’: Operation not permitted

$sudo rm -r tmpi

rm: cannot remove ‘tmpi’: Operation not permitted


Linux chattr命令用于改变文件属性,-i 是设置了immutable属性:

拿什么拯救你? rm -r

亲爱的读者,你是怎么避免这种灾难性的误操作的呢?或者您有什么类似经历呢?欢迎留言您的故事和解决方法,即有机会获得神秘礼品。