数据恢复:在 Linux 上恢复删除了的文件

2025-10-16 15:56:24

1、步骤

把删除创建为rm -i 的别名当 -i 选项配合 rm 命令(也包括其他文件处理命令比如 cp 或者 mv)使用时,在删除文件前会出现一个提示。

这同样也可以运用到当复制,移动或重命名一个文件,当所在位置已经存在一个和目标文件同名的文件时。

这个提示会给你第二次机会来考虑是否真的要删除该文件 - 如果你在这个提示上选择确定,那么文件就被删除了。这种情况下,很抱歉,这个技巧并不能防止你的粗心大意。

为了rm -i 别名替代 rm ,这样做:

alias rm='rm -i'

运行alias命令可以确定rm现在已经被别名了。

然而,这只能在当前用户的当前 shell 上有效。为了永久改变,你必须像下面展示的这样把它保存到 ~/.bashrc 中(一些版本的 Linux 系统可能是~/.profile )。

为了让~/.bashrc(或~/.profile)中所做的改变立即生效,从当前 shell 中运行文件:

. ~/.bashrc

数据恢复:在 Linux 上恢复删除了的文件

数据恢复:在 Linux 上恢复删除了的文件

数据恢复:在 Linux 上恢复删除了的文件

2、取证工具-Foremost

但愿你对于你的文件足够小心,当你要从外部磁盘或 USB 设备中恢复丢失的文件时,你只需使用这个工具即可。然而,当你意识到你意外的删除了系统中的一个文件并感到恐慌时-不用担心。让我们来看一看 foremost ,一个用来处理这种状况的取证工具。

要在 CentOS/RHEL 7 中安装 Foremost,需要首先启用 Repoforge:

# 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中找到。

3、总结

在这篇文章中,我们阐述了如何避免意外删除一个不该删除的文件,以及万一这类事情发生,如何恢复文件。还要警告一下,foremost可能运行很长时间,时间长短取决于分区的大小。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢