linux系统的服务器文件被删除了如何恢复?

当在Linux系统中误删文件,尤其是使用`rm -rf`命令后,文件通常难以找回。然而,如果文件被删除但进程仍存在,或者借助专门的恢复工具,如extundelete,还是有可能恢复文件。本文详细介绍了在进程存在和进程不存在两种情况下,如何恢复已删除的Linux文件。
摘要由CSDN通过智能技术生成

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:😕:/sbin/nologin” > tmppasswd

最后准备的目录结构如下:

taroballs@taroballs-PC:/media/taroballs/taroballs/backuptest$ cd …

taroballs@taroballs-PC:/media/taroballs

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值