如何在 Linux 中恢复一个删除了的文件
创始人
2024-03-01 18:18:45
0次

你曾经是否遇到这样的事?当你发现的时候,你已经通过删除键,或者在命令行中使用 rm 命令,错误的删除了一个不该删除的文件。

在第一种情况下,你可以到垃圾箱,搜索那个文件,然后把它复原到原始位置。但是第二种情况又该怎么办呢?你可能知道,Linux 命令行不会把删除的文件转移到任何位置,而是直接把它们移除了,biu~,它们就不复存在了。

在这篇文章里,将分享一个很有用的技巧来避免此事发生。同时,也会分享一个工具,不小心删除了某些不该删除的文件时,也许用得上。

把删除创建为 rm -i 的别名

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

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

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

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

alias rm='rm -i'

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

增加 rm 别名的命令

为 rm 增加别名

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

在 Linux 中永久增添别名

在 Linux 中永久增添别名

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

. ~/.bashrc

在 Linux 中激活别名

在 Linux 中激活别名

取证工具-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` 中找到。

总结

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

如果您有什么问题或想法,和往常一样,不要犹豫,告诉我们。可以给我们留言。


via: http://www.tecmint.com/recover-deleted-file-in-linux/

作者:Gabriel Cánepa 译者:ucasFL 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

热门资讯

“Linux 中国” 开源社区... 这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个...
硬核观察 #1263 德国铁路... #1 德国铁路公司招聘 Windows for Workgroups 3.11 管理员该职位要求了解...
人工智能教程(七):Sciki... 在本系列的 上一篇文章 中,我们用 TensorFlow 构建了第一个神经网络,然后还通过 Kera...
关闭 WSL 中正在运行的 L... 以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。你使用 WSL 在...
MX Linux 23.2 “... 最新的 MX Linux 23.2 小版本更新带来了基本的改进和新增功能。MX Linux 推出了 ...
硬核观察 #1262 网络上最... #1 网络上最古老的软件存档库之一即将关闭美国新墨西哥州立大学(NMSU)最近宣布,即将于 2024...
如何在 RHEL 上通过绑定配... 在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bondin...
Linux Matrix 消息... Matrix 用户可以升级 Fractal 6 了!Fractal 是目前 最好的 Matrix 客...
如何通过 VLC 使用字幕 使用 VLC 媒体播放器播放和管理字幕的新手指南。我是一个超级动漫迷,如果你想观看最新的剧集,那么你...
硬核观察 #1261 X 计划... #1 X 计划在奥斯汀建立内容审核总部据报道,该部门将招聘 100 名全职员工,将主要关注 CSE ...