在 Linux 中如何恢复已删除的文件
一、概述
这曾经发生在你身上吗?你意识到你错误地删除了一个文件---要么通过Del键,要么在命令行中使用rm。
在第一种情况下,您可以使用回站站(GNOME界面),然后将其恢复到原始位置。但是第二种情况呢?我相信你可能知道,Linux 命令行不会将删除的文件发送到任何地方,而是直接删除它们。
二、过程
1、 为“rm -i”创建别名
该-i选项与rm一起使用时在删除文件之前会出现提示。此提示让您有第二次机会考虑是否真的要删除文件 ,但此提示不会保护您免受自己的粗心大意删除文件,它只是给你提供了二次确认的机会。
要将rm替换为别名'rm -i',请执行以下操作:
alias rm='rm -i'
alias命令将确认rm现在是别名:
但是,这只会在当前 shell 中的当前用户会话期间持续。要使更改永久生效,您必须将其保存到~/.bashrc(某些发行版可能会使用~/.profile),
如下所示:
为了使~/.bashrc(or ~/.profile) 中的更改立即生效,请从当前 shell 获取文件:
2、 恢复工具 – Foremost
在日常的系统操作,请小心的你文件,但是,如果您意识到您不小心删除了系统中的文件并且惊慌失措,别担心,此工具会轻松帮你找回误删除的文件!
2.1 安装软件包
CentOS/RHEL 7,是目前在生产环境见到的使用最广泛的版本,下面展示在CentOS/RHEL 7中的安装过程。
#rpm -Uvh https://rpmfind.net/linux/dag/redhat/el7/en/x86_64/dag/RPMS/foremost-1.5.7-1.el7.rf.x86_64.rpm
命令展示:
[root@192_168_209_128 images]# foremost -h foremost version 1.5.7 by Jesse Kornblum, Kris Kendall, and Nick Mikus. $ foremost [-v|-V|-h|-T|-Q|-q|-a|-w-d] [-t <type>] [-s <blocks>] [-k <size>] [-b <size>] [-c <file>] [-o <dir>] [-i <file] -V - display copyright information and exit -t - specify file type. (-t jpeg,pdf ...) -d - turn on indirect block detection (for UNIX file-systems) -i - specify input file (default is stdin) -a - Write all headers, perform no error detection (corrupted files) -w - Only write the audit file, do not write any detected files to the disk -o - set output directory (defaults to output) -c - set configuration file to use (defaults to foremost.conf) -q - enables quick mode. Search are performed on 512 byte boundaries. -Q - enables quiet mode. Suppress output messages. -v - verbose mode. Logs all messages to screen
选项释义:
- -t:指定要恢复的文件类型如jpeg,pdf,exe,doc等,如果要恢复所有文件类似,指定参数值为"all"即可。
- -d:打开间接块检测(对于 UNIX 文件系统)。
- -i:指定输入文件(默认为标准输入)。
- -a:不执行错误检测(损坏的文件)。
- -w:只输出审计文件,不输出被删除的文件至磁盘上。
- -o:设置输出目录(默认为输出)。
2.2 示例展示
(1) 安装完成后,让我们进行一个简单的测试。
首先我们将xihu.jpg从/boot/images目录中删除:
[root@192_168_209_128 images]# cd image [root@192_168_209_128 images]# pwd /boot/images [root@192_168_209_128 images]# ls xihu.jpg [root@192_168_209_128 images]# rm xihu.jpg
(2) 执行恢复。
要恢复它,首先按如下方式使用(您需要首先识别底层分区 -在这种情况下/dev/sda1就是/boot所在的分区):
remost -t jpg -i /dev/sda1 -o /home/rescure/
(3) 查看恢复情况。
查看一下审计文件。
从输出内容来看,文件被成功恢复。
注意事项:
- 其中/home/rescue是单独磁盘上的目录 - 请记住,在已删除文件所在的同一驱动器上恢复文件不是明智之举。
- 如果在恢复过程中,您占用已删除文件所在的相同磁盘扇区,则可能无法恢复任何内容。此外,必须在执行恢复之前停止所有活动。
- 在 foremost 完成执行后,恢复的文件(如果可以恢复)将在/home/rescue/jpg目录中找到。
三、小结
在本文中,我们解释了如何避免意外删除文件以及在发生此类意外事件时如何尝试恢复文件。但是请注意,根据分区的大小,最终可能需要运行很长时间。
到此这篇关于在 Linux 中如何恢复已删除的文件的文章就介绍到这了,更多相关 Linux 恢复已删除文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
相关文章
- linux怎么避免删除错误的文件和恢复文件?linux系统经常误删文件,该怎么防止这种事情呢?下面我们就来看看如何避免删除错误的文件和恢复文件,需要的朋友可以参考下2016-12-15
- 这篇文章主要介绍了在Linux中恢复被删除的文件的教程,文中包括介绍了永久擦除硬盘中的数据的方法,需要的朋友可以参考下2015-06-09
- 需要对日志文件的内容进行清理,但有时因为粗心而将日志文件给删除了,删除的日志文件syslog是可以恢复的,下面是误删日志文件的恢复方法,感兴趣的朋友可以看看2015-04-21
- 在linux redhat 5.4版本,rm误删除数据库文件的恢复过程如下,网上找的,测试过OK2013-07-22
恢复linux下被删除的syslog—/var/log/messages文件方法
如果/var/log/messages文件被误删除了,那么应该如何恢复呢?请看本文2013-02-07- Linux误删除数据文件和归档日志的恢复方法,需要的朋友可以参考下2013-01-22
- 今天有客户的数据库意外被删除了整个目录中的数据文件,操作系统级别的删除,然而幸运的是这个数据库没有崩溃,仍然处于open状态的时候,客户就发现了问题,求助到我们,最2013-01-22
最新评论