在控制台非常容易误删文件,这可是个痛苦的经历,转瞬间,重要的文件就灰飞烟灭了……误删了系统文件还可以重装,如果误删了自己的文档资料,那就哭死了。
虽然可以 alias rm='rm -i' ,但是一个眼花,或者 -rf 就可以轻易让这道脆弱的防线崩溃。
Safe-rm 可以给你重要的文件目录加一层保护,他其实是一个 rm 命令的封装,在执行真正的 rm 操作前,先检查目录和文件是否在保护列表中,如果在就放弃,并且打印出一条错误信息~
你可以在这里下载 Safe-rm 软件包,解压后会得到一个 safe-rm 可执行文件,将这个文件拷贝到 /usr/local/bin,就可以使用 safe-rm 命令来删除文件了,用法和参数和 rm 是一样的。
当然,最好是能够替换掉系统默认的 rm 命令,这样即使是不知道 safe-rm 的用户,也可以受到保护。只需做一个 rm 的符号链接:
ln -s /usr/local/bin/safe-rm /usr/local/bin/rm |
然后,要保证环境变量 PATH 中,/usr/local/bin 在 其他路径的前面:
PATH=/usr/local/bin:/bin:/usr/bin |
这样 rm 命令实际调用的就是 safe-rm 命令了。
safe-rm 命令使用两个配置文件:
/etc/safe-rm.conf
~/.safe-rm
分别为全局和用户的保护文件列表,只需要将重要文件或者目录的完整路径输入进去就可以了,每条以回车分隔。
例如,在 ~/.safe-rm 中写:
/home/galeki/mywork /home/galeki/mydoc |
这样,我主目录下的 mywork 和 mydoc 这两个目录就不会被删除了。如果强行执行 rm -R mywork,那么就会出现错误信息: