把删除建立为 rm -i 的别名html
当 -i 选项配合 rm 命令(也包括其余文件处理命令好比 cp 或者 mv)使用时,在删除文件前会出现一个提示。这一样也能够运用到当复制,移动或重命名一个文件,当所在位置已经存在一个和目标文件同名的文件时。linux
这个提示会给你第二次机会来考虑是否真的要删除该文件 - 若是你在这个提示上选择肯定,那么文件就被删除了。这种状况下,很抱歉,这个技巧并不能防止你的粗枝大叶。shell
为了 rm -i 别名替代 rm ,这样作:bash
alias rm='rm -i'
运行 alias 命令能够肯定 rm 如今已经被别名了:工具
然而,这只能在当前用户的当前 shell 上有效。为了永久改变,你必须像下面展现的这样把它保存到 ~/.bashrc 中(一些版本的 Linux 系统多是 ~/.profile)。测试
为了让 ~/.bashrc(或 ~/.profile)中所作的改变当即生效,从当前 shell 中运行文件:htm
. ~/.bashrc
取证工具-Foremostrem
然而,当你意识到你意外的删除了系统中的一个文件并感到恐慌时-不用担忧。让咱们来看一看 foremost,一个用来处理这种情况的取证工具。get
CentOS/RHEL 7 中安装 Foremost,须要首先启用 Repoforge:/strong>it
# rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm # yum install foremost
在 Debian 及其衍生系统中,需这样作:
# aptitude install foremost
安装完成后,咱们作一个简单的测试吧。首先删除 /boot/images 目录下一个名为 nosdos.jpg 的图像文件:
# cd images # rm nosdos.jpg
要恢复这个文件,以下所示使用 foremost(要先确认所在分区 - 本例中, /boot 位于 /dev/sda1 分区中)。
# foremost -t jpg -i /dev/sda1 -o /home/gacanepa/rescued
其中,/home/gacanepa/rescued 是另一个磁盘中的目录 - 请记住,把文件恢复到被删除文件所在的磁盘中不是一个明智的作法。若是在恢复过程当中,占用了被删除文件以前所在的磁盘分区,就可能没法恢复文件。另外,进行文件恢复操做前不要作任何其余操做。
当 foremost 执行完成之后,恢复的文件(若是能够恢复)将可以在目录 ·/home/gacanepa/rescue/jpg` 中找到。
总结
在这篇文章中,咱们阐述了如何避免意外删除一个不应删除的文件,以及万一这类事情发生,如何恢复文件。还要警告一下, foremost 可能运行很长时间,时间长短取决于分区的大小。
若是您有什么问题或想法,和往常同样,不要犹豫,告诉咱们。能够给咱们留言。