如何在Linux中恢复已删除的文件

在本文中,我们将共享一些建议,可能有助于避免意外删除文件,以及如何尝试恢复已删除的文件Linux系统。

这是否发生在你身上? 你意识到你已经误删了文件 - 无论是通过Del键,或使用rm在命令行。 在第一种情况下,你可以随时去到垃圾桶搜索文件 ,并将其恢复到原来的位置。 但是第二种情况呢? 正如我相信你可能知道,在Linux命令行不会在任何地方发送删除文件 - 它确实已删除 。Bum,他们确实不在了。

推荐阅读: 如何恢复删除的文件/目录使用Scalpel工具

在这篇文章中,我们将分享一个方法,可能有助于防止这种情况发生在你身上,以及一个工具,你可以考虑使用,如果在任何时候你是不小心删除时可以使用它。

创建一个别名为'rm -i'

-i命令,rm(以及其他使用时的文件操作工具如cp或mv )导致的提示删除文件之前出现。 这同样适用于复制,移动或重命名的文件中,其中一个具有相同名称已经存在的位置。 此提示让您第二次考虑是否真的要删除文件 - 如果您确认提示,它将会消失。在这种情况下,对不起,但这个提示不会保护你从你自己的粗心。 要使用别名来代替RM 'rm -i'这样做:
alias rm='rm -i'
alias命令将确认rm现在别名:
添加别名rm命令

添加别名rm命令

但是,这只会在当前shell中的当前用户会话期间持续。为了使更改永久,你将不得不将它保存到~/.bashrc (一些发行可能会使用~/.profile代替),如下图所示:
在Linux中永久添加别名

在Linux中永久添加别名

为了在变化~/.bashrc (或~/.profile )立即生效,源从当前shell文件:
. ~/.bashrc
Linux中的活动别名

Linux中的活动别名

forensics工具 - 首要

希望你会小心你的文件,只需要使用这个工具,同时从外部磁盘或USB驱动器恢复丢失的文件。 但是,如果你意识到你不小心删除了一个文件在你的系统,并会恐慌 - 不要。让我们来看看最重要的,一个为这种场景设计的forensics工具。 在CentOS/ RHEL 7最重要的安装,您需要先启用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
一旦安装完成,让我们继续一个简单的测试。我们将开始通过删除名为图像文件nosdos.jpg从 /boot/images 目录:
# cd images
# rm nosdos.jpg
要恢复它,如下方式使用最重要的是(你需要先找出潜在的分区- /dev/sda1是,其中/boot驻留在这种情况下):
# foremost -t jpg -i /dev/sda1 -o /home/gacanepa/rescued
在这里的 /home/gacanepa/rescued 是一个单独的磁盘上的目录-请记住,当那些去掉了位于同一驱动器上的恢复文件是不是一个明智之举。 如果在恢复过程中,您占用与删除的文件过去相同的磁盘扇区,则可能无法恢复任何内容。此外,必须在执行恢复之前停止所有活动。 最重要的是后完成执行,恢复的文件(如果恢复是可能的)会到 /home/gacanepa/rescued/jpg 目录中找到。
概要
在本文中,我们已经解释了如何避免意外删除文件,以及如果发生这种意外事件,如何尝试恢复文件。但是,请注意,根据分区的大小,最重要的可能需要相当长的时间才能运行。 与往常一样,如果您有任何问题或意见,请随时与我们联系。请随时使用下面评论给我们留言。