在Linux系统中,误删目录或文件后恢复的方法取决于是否还有相关的进程信息,以下是详细准确的恢复步骤:
情况一:误删除的文件进程还在的情况
1、检查删除文件的进程是否存在:使用lsof
命令查看被删除的文件是否还存在于某个进程中。
```bash
lsof | grep deleted
```
2、恢复文件:如果找到相关进程,可以通过以下命令恢复文件:
```bash
cp /proc/pid/fd/1 /指定目录/文件名
```
进入进程目录,
```bash
cd /proc/20464/fd
```
然后执行复制操作:
```bash
cp 1 /tmp/testdelete.py
```
3、验证恢复结果:通过查看恢复的文件内容来确认是否成功:
```bash
cat /tmp/testdelete.py
```
情况二:误删除的文件进程已经不存在,借助工具还原
1、停止对当前分区的任何操作:防止inode被覆盖。
2、备份当前分区:使用dd
命令对当前分区进行备份。
```bash
dd if=/path/filename of=/dev/vdc1
```
3、卸载设备分区:使用umount
命令卸载当前设备分区。
```bash
umount /dev/vdb1
```
如果提示设备忙,可以用fuser
命令强制卸载:
```bash
fuser -m -v -i -k /21yunwei
```
4、下载并安装extundelete工具:用于恢复ext3、ext4文件系统上的文件。
```bash
wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
tar jxvf extundelete-0.2.4.tar.bz2
cd extundelete-0.2.4
./configure
make
make install
```
5、恢复文件:使用extundelete工具搜索并恢复误删除的文件。
```bash
extundelete /dev/sda1 --restore-all
```
注意事项
虽然有工具可以恢复误删的数据,但完全恢复数据的概率并不是百分百的。
使用rm
命令删除文件时一定要小心;重要的数据一定要有备份。
恢复删除的数据前,删除文件的目录内不能往进存放新东西,否则覆盖掉的信息无法找回。
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/61988.html