Linux/ubuntu/ubuntu16误删文件/文件夹如何恢复/如何恢复文件/文件夹


当我们 rm 删除一个文件或文件夹,是将这片磁盘区域标记为空闲,如果没有重新写入,数据不会丢掉。

方法1: 使用debugfs

假如丢失文件分区是在 /dev/sda1

sudo debugfs -w /dev/sda1 
lsdel

lsdel后会列出来删除的各个文件。每行的第一个是一个文件的inode号。一个文件对应一个inode,每个分区inode有限。
恢复文件执行:

dump <inode> filename

方法2:使用extundelete工具

查看被删除文件的iNode:
sudo debugfs
open /dev/sda1
ls -d [filepath]
第二行按照自己的分区,可以通过df来查看分区。或df -T /home查看详细的用户所在分区的文件系统及使用情况。

安装 extundelete

cd /tmp
wget http://jaist.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
tar -xjvf extundelete-0.2.4.tar.bz2
sudo apt-get install e2fsprogs
sudo apt-get install e2fslibs-dev
rm -f *.tar.bz2
cd ex*
./configure
make

安装成功后我们进入src文件夹下运行extundelete即可恢复近期删除的数据
cd src
sudo ./extundelete /dev/sda1 --restore-file [欲恢复的文件名]

还有其他如恢复全部文件或者恢复某个文件夹,具体可以–help 查看帮助。

方法3: 使用dlocate工具

假如误删 /usr/include,dlocate寻找所有丢失的安装包

安装 dlocate 工具:
sudo apt-get install dlocate

列出所有丢失的包:
dlocate --package-only /usr/include

重装丢失的包:
sudo apt-get install --reinstall $(dlocate --package-only /usr/include)

参考链接:
https://blog.csdn.net/ds1231h/article/details/69587960
https://blog.csdn.net/WillWinston/article/details/85346711

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页