Linux环境下恢复误删文件的方法
在Linux环境下,如果误删了文件,不要惊慌,我们还可以通过以下几种方式找回被误删的文件。
1. 使用回收站
在图形化的桌面环境下,我们可以通过回收站来找回误删的文件,但是在纯命令行环境下,我们需要使用第二种方法。
2. 使用extundelete命令
extundelete 是一款可以恢复 ext3/ext4 文件系统上被误删文件的工具。以下是使用示例:
- 安装extundelete命令
sudo apt-get install extundelete
- 扫描误删文件所在的分区,获取其 inode 编号
sudo extundelete --inode <文件inode编号> --restore-file <文件恢复后保存的路径> <分区路径>
例如,误删了 /home/user1/important.txt 文件,可以通过上述命令来找回:
sudo extundelete --inode 448617 --restore-file /home/user1/important.txt /dev/sda1
其中,448617 是误删文件 important.txt 的 inode 编号,/dev/sda1 是误删文件所在的分区路径。
-
注意事项
-
在使用extundelete之前,建议先卸载误删分区对应挂载点
- 文件恢复后,请注意所属用户和读写权限
3. 使用scalpel工具
scalpel 是一款针对文件恢复场景下,可定制性比较强的文件恢复工具。以下是使用示例:
- 安装scalpel命令
sudo apt-get install scalpel
- 配置scalpel.conf配置文件
首先我们需要先配置 scalpel.conf 文件,以指定需要恢复的文件类型,并规定恢复后保存的路径:
sudo vim /etc/scalpel/scalpel.conf
在 scalpel.conf 文件中,找到 FILE_SIGNATURES 和 OUTPUT_DIRECTORY 两个选项,并在其下方设置需要恢复的文件格式和保存路径(以 txt 和 jpg 文件为例):
# 指定文件类型
define FILE_SIGNATURES {
jpg;
txt;
};
# 恢复文件保存路径
recover_jpg y;; # jpg 需要恢复
recover_txt y;; # txt 需要恢复
OUTPUT_DIRECTORY /home/user1/recovered_files/;
- 运行scalpel命令
接下来在命令行中运行以下命令:
sudo scalpel <分区路径> -o <恢复文件保存的路径>
例如,要恢复 /dev/sda1 分区中误删的文件,可以运行以下命令:
sudo scalpel /dev/sda1 -o /home/user1/recovered_files/
-
注意事项
-
纯命令行操作,无图形化界面
- 文件恢复后,请注意所属用户和读写权限
总结
在Linux环境下,误删文件不必惊慌失措,通过回收站、extundelete 命令和 scalpel 工具等方式,可以轻松找回被误删的文件。建议使用 extundelete 和 scalpel 命令时,先卸载误删分区对应挂载点,恢复文件后注意所属用户和读写权限。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:linux环境下恢复rm误删的文件方法 - Python技术站