如何在Linux中恢复意外删除的目录?

在Linux系统中,误删目录或文件后恢复的方法取决于是否还有相关的进程信息,以下是详细准确的恢复步骤:

情况一:误删除的文件进程还在的情况

如何在Linux中恢复意外删除的目录?插图1
(图片来源网络,侵删)

1、检查删除文件的进程是否存在:使用lsof命令查看被删除的文件是否还存在于某个进程中。

```bash

lsof | grep deleted

```

2、恢复文件:如果找到相关进程,可以通过以下命令恢复文件:

如何在Linux中恢复意外删除的目录?插图3
(图片来源网络,侵删)

```bash

cp /proc/pid/fd/1 /指定目录/文件名

```

进入进程目录,

```bash

如何在Linux中恢复意外删除的目录?插图5
(图片来源网络,侵删)

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

小末小末
上一篇 2024年9月27日 11:17
下一篇 2024年9月27日 11:28

相关推荐