admin管理员组文章数量:1582013
linux删除的文件如何恢复?下面本篇文章给大家介绍一下恢复Linux删除文件的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
linux不像windows有个回收站,使用rm -rf *基本上文件是找不回来的。
那么问题来了:
对于linux下误删的文件,我们是否真的无法通过软件进行恢复呢?
答案当然是否定的,对于误删的文件,我们还是能通过软件恢复过来的。对于误删文件还原可以分为两种情况:
一种是删除以后在进程存在删除信息
一种是删除以后进程都找不到,只有借助于工具还原。
接下来以例子分别解说下两种不同的误删还原方式:
误删除文件进程还在的情况:
这种一般是有活动的进程存在持续标准输入或输出,到时文件被删除后,进程PID依旧存在。这也是有些服务器删除一些文件但是磁盘不释放的原因。
打开一个终端对一个测试文件做cat追加操作:
[root@docking ~]# echo “This is DeleteFile test.” > deletefile.txt
[root@docking ~]# ls
deletefile.txt
[root@docking ~]# cat >> deletefile.txt
Add SomeLine into deletefile for fun.
打开另外一个终端查看这个文件可以清楚看到内容:
[root@docking ~]# ls
deletefile.txt
[root@docking ~]# cat deletefile.txt
This is DeleteFile test.
Add SomeLine into deletefile for fun.
此时,删除文件rm -f deletefile.txt
[root@docking ~]# rm -f deletefile.txt
[root@docking ~]# ls
#命令查看这个目录,文件已经不存在了,那么现在我们将其恢复出来。
lsof查看删除的文件进程是否还存在。
如没有安装请自行yum install lsof或者apt-get install lsof
1、类似这种情况,我们可以先lsof查看删除的文件 是否还在
[root@docking ~]# lsof | grep deletefile
cat 21796 root 1w REG 253,1 63 138860 /root/deletefile.txt (deleted)
2、恢复cp /proc/pid/fd/1 /指定目录/文件名
进入 进程目录,一般是进入/proc/pid/fd/,针对当前情况:
[root@docking ~]# cd /proc/21796/fd
[root@docking fd]# ll
总用量 0
lrwx------ 1 root root 64 1月 18 22:21 0 -> /dev/pts/0
l-wx------ 1 root root 64 1月 18 22:21 1 -> /root/deletefile.txt (deleted)
lrwx------ 1 root root 64 1月 18 22:21 2 -> /dev/pts/0
恢复操作:
[root@docking fd]# cp 1 ~/deletefile.txt.backup
[root@docking fd]# cat ~/deletefile.txt.backup
This is DeleteFile test.
Add SomeLine into deletefile for fun.
3、恢复完成。
误删除的文件进程已经不存在,借助于工具还原
准备一些文件目录
#准备一份挂载的盘
mkdir backuptest
cd backuptest
mkdir deletetest
mkdir deletetest/innerfolder
echo “Delete a folder test.” > deletetest/innerfolder/deletefile.txt
echo “tcpdump❌172:72:
版权声明:本文标题:linux系统的服务器文件被删除了如何恢复? 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1727893463a1136554.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论