误删恢复Linux目录:避免误删的痛苦(linux目录存在)

系统管理员可能经常使用rm(remove)来删除文件和目录,但是有时会出现误删除的结果,有时这些重要的文件就这么消失了。对于普通的Linux文件系统,可以利用文件系统的日志来进行恢复。

在终端窗口中输入以下命令,以查找最近一小时中被删除的文件:

find / -mmin -60 -type f -delete
```
使用-delete标志,可以删除上面找到的文件,但在恢复之前,最好先复制一份文件到另一个目录,以防万一:

find / -mmin -60 -type f -exec cp -p {} /tmp/ {}

接下来,我们就可以使用xtype这个工具来找到被删除的文件,其原理是检查文件系统的i-node表(文件与目录信息),将i-node魔数的起始位置设置为被删除的文件的位置,找到被删除的文件的i-node魔数,然后根据此魔数进行文件的恢复,编译文件的源代码:

# make xtype

# ./xtype /dev/sda1 /tmp/mydel

如果成功,可以在/tmp/mydel目录中看到被删除的文件,需要注意的是,恢复的文件可能不是完整的,另外也不要和现有的文件重名,以免造成替换现有的文件。
其实,最好的方法还是采取预防措施,避免误删文件,有以下几个方法可以遵循:

(1)确认rm命令的参数:rm的参数比如-i,-f都要确认清楚,不要出错,比如如果不小心将-i写成-I,可能就把/etc/目录下的文件全部弄没了;
(2)修改rm命令的默认参数:平时可以将rm命令的默认参数设置为“-i -f”,这样就可以必须确认才能执行删除操作;
(3)备份文件系统:在进行大文件清理之前,最好经常把文件系统进行备份,这样可以保证即使文件遗失了,也可以从备份中恢复;
(4)使用回收站:支持回收站功能的文件系统,可以将删除的文件转移到回收站中,在安全的情况下,可以随时从回收站中恢复文件。
以上4种措施,都能够有效的避免删除了重要文件以及文件夹的痛苦,因此在管理Linux文件系统时,记得采取合理的预防措施,以免在误删的痛苦中痛不欲生。

数据运维技术 » 误删恢复Linux目录:避免误删的痛苦(linux目录存在)