Linux回收站误删文件怎么找回

哈,上周有客户问我如何恢复Linux中误删除的文件,我给他详细解释了。
Linux系统没有像Windows那样自带回收站,但是我们可以尝试通过一些方法来恢复文件。

首先,它可以设置自定义脚本来模拟回收站的功能。
这种方法不仅仅是一种预防措施。
原则是他可以提前准备好场景。
当您删除文件时,它不会直接删除它,而是将文件移动到特定目录,例如~/.trash。
这样,如果文件被意外删除,可以从 ~/.trash 目录中恢复。
但这种方法有局限性,需要提前配置,并且对于误删除的文件无效。

然后,如果他不小心删除了该文件,他可以使用命令行工具来查找并恢复它。
如果知道文件名,可以使用搜索命令来定位该文件;如果不确定文件名,可以使用 grep 和 search 来搜索内容。
恢复文件时,如果文件仍在指定的回收站中,则直接将其移至原路径。
如果文件被rm删除但没有覆盖,可以尝试通过lsof查找并复制该文件。
如果文件系统没有卸载,也可以尝试使用纠错的方式手动恢复,但这需要一定的技术基础。

最后,还可以使用专业的数据恢复工具。
例如extundelete,适用于ext2 /3 /4 文件系统。
使用该工具,首先需要卸载目标分区,然后扫描该分区以恢复特定文件或所有文件。
还有TestDisk和PhotoRec,这些工具具有更广泛的兼容性。

但是,这里有一些基本的考虑因素。
首先,误删除后立即停止写入操作,防止新数据被覆盖。
其次,文件被覆盖后几乎不可能恢复,尤其是SSD硬盘,由于其TRIM功能,很难恢复。
此外,有些工具需要熟悉文件系统结构,因此建议先在测试环境中进行练习。
最后,定期备份重要数据非常重要。

无论如何,这取决于你。
如果数据很重要,建议联系专家。
我还在想这个问题。
如果你还有更具体的情况或者疑问,可以再问我。

如何在Linux上恢复误删除的文件或目录

在 Linux 上恢复文件取决于您的情况。
有两种情况:文件被删除但进程仍在运行,文件被删除而进程消失。

1 .删除文件的进程仍然存在
这种情况很常见。
例如,即使日志文件被删除,服务也会继续写入日志文件。
现在,您必须使用工件 lsof。

1 .首先看lsof
首先您需要安装 lsof。
对于 CentOS,使用 yum install lsof。
对于 Ubuntu,lsof 是 apt-get install lsof。

运行 lsof | grep 已被删除。
如果您看到类似 /root/testdelete.py(deleted) 的内容,则意味着该进程仍然存在并且可以恢复。

2 恢复文件
切换到该进程的 fd 目录并运行 cd /proc//fd。
是进程号,可以用lsof找到。

要查看这些 fd,请使用 ll (例如 1 -> /root/testdelete.py(deleted))。

复制即可,cp 1 /tmp/testdelete.py。

使用 cat /tmp/testdelete.py 查看恢复进展情况。

2 即使删除了文件,进程也消失了
这种情况,只能依靠extundelete等工具了。

1 .保持静止,不要移动
首先,停止任何可能写入该分区的服务,以便新数据不会覆盖旧数据。
如果可能,请关闭互联网。

2 创建备份
要备份分区,请使用dd,例如dd if=/dev/vdb1 of=/dev/vdc1 如果您有危险,请先做好准备。

3 卸载分区
卸载/dev/vdb1 如果这不起作用,请运行 fusions -m -v -i -k /mount point。

4 安装扩展删除
下载并安装,运行 wget http://.../extundelete-0.2 .4 .tar.bz2 ,然后 tar jxvf..., ./configure, make, make install。

5 .扫描恢复
扫描并运行 extundelete --inode 2 /dev/vdb1 显示文件名和索引节点号。

恢复单个文件(extundelete /dev/vdb1 --restore-file test)。

恢复的文件默认位于 RECOVERED_FILES 中,必须手动重命名。

6 检查您的康复进展如何
cd RECOVERED_FILES, cat <文件名>.
备忘录
恢复率要看运气。
如果它没有被新数据覆盖,那么它很有可能被恢复。

extundelete 仅识别 ext3 /ext4 对于其他文件系统,您将需要寻找其他工具。

需要root权限。
恢复的文件默认为根目录。
您必须使用 chown 来更改它。

恢复前请备份您的分区。
别搞砸了。

就是这样,说实话,操作之前还是要三思而后行,以免让事情变得更糟。