LinuxGem
此处为老的 LinuxGem,新版 LinuxGem 请移步 www.linuxgem.org

Safe-rm -- 防止误删重要的文件

galeki posted @ 2008年9月08日 20:10 in Bash 和它的朋友们 with tags rm , 3526 阅读

在控制台非常容易误删文件,这可是个痛苦的经历,转瞬间,重要的文件就灰飞烟灭了……误删了系统文件还可以重装,如果误删了自己的文档资料,那就哭死了。

虽然可以 alias rm='rm -i' ,但是一个眼花,或者 -rf 就可以轻易让这道脆弱的防线崩溃。

Safe-rm 可以给你重要的文件目录加一层保护,他其实是一个 rm 命令的封装,在执行真正的 rm 操作前,先检查目录和文件是否在保护列表中,如果在就放弃,并且打印出一条错误信息~

你可以在这里下载 Safe-rm 软件包,解压后会得到一个 safe-rm 可执行文件,将这个文件拷贝到 /usr/local/bin,就可以使用 safe-rm 命令来删除文件了,用法和参数和 rm 是一样的。

当然,最好是能够替换掉系统默认的 rm 命令,这样即使是不知道 safe-rm 的用户,也可以受到保护。只需做一个 rm 的符号链接:

  1. ln -s /usr/local/bin/safe-rm /usr/local/bin/rm

然后,要保证环境变量 PATH 中,/usr/local/bin 在 其他路径的前面:

  1. PATH=/usr/local/bin:/bin:/usr/bin

这样 rm 命令实际调用的就是 safe-rm 命令了。

safe-rm 命令使用两个配置文件:

/etc/safe-rm.conf
~/.safe-rm

分别为全局和用户的保护文件列表,只需要将重要文件或者目录的完整路径输入进去就可以了,每条以回车分隔。

例如,在 ~/.safe-rm 中写:

  1. mywork
  2. mydoc

这样,我主目录下的 mywork 和 mydoc 这两个目录就不会被删除了。如果强行执行 rm -R mywork,那么就会出现错误信息:

Safe-rm 的主页: http://code.google.com/p/safe-rm/

  • 无匹配
lon 说:
2008年9月09日 01:07

晕,失落,太失落了

你目录后面去掉/

rm -R mywork 试试,全玩完

Head_small
galeki 说:
2008年9月09日 06:29

  我晕死……郁闷

Head_small
galeki 说:
2008年9月09日 06:36

似乎,~/safe-rm 里面不应该写绝对路径,我改成:

  1. mywork
  2. mydoc

就 ok 了~

lon 说:
2008年9月10日 03:12

是不是您写的呀,又更新了,0.3,似乎这个解决了

lon 说:
2008年9月10日 03:29

晕,还是很不爽

safe-rm -rf me/me1

me是保护的内容,但me1就完了

Head_small
galeki 说:
2008年9月10日 07:30

汗,不是我写的……

我再找找有没有高级一点的防误删软件~

lon 说:
2008年9月10日 09:31

是我们的要求高了点


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter