linux误操作删除文件后,还能还原么?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux误操作删除文件后,还能还原么?相关的知识,希望对你有一定的参考价值。
误删除文件进程还在的情况
这种一般是有活动的进程存在持续标准输入或输出,到时文件被删除后,进程PID还是存在。这也就是有些服务器删除一些文件但是磁盘不释放的原因。比如当前举例说明:
通过一个shell终端对一个测试文件做cat追加操作:
[root@21yunwei_backup ~]# echo "hello py" > testdelete.py
[root@21yunwei_backup ~]# cat >> testdelete.py
hello delete
另外一个终端查看这个文件可以清楚看到内容:
[root@21yunwei_backup ~]# cat testdelete.py
hello py
hello delete
此时,在当前服务器删除操作文件rm -f ./testdelete.py
命令查看这个目录,文件已经不存在了,那么现在我们将其恢复出来。
1,lsof查看删除的文件进程是否还存在。这里用到一个命令lsof,如没有安装请自行yum或者apt-get。类似这种情况,我们可以先lsof查看删除的文件 是否还在:
[root@21yunwei_backup ~]# lsof | grep deleted
mysqld 1512 mysql 5u REG 252,3 0 6312397 /tmp/ibzW3Lot (deleted)
cat 20464 root 1w REG 252,3 23 1310722 /root/testdelete.py (deleted)
幸运的是这种情况进程还存在 ,那么开始进行恢复 操作。
2,恢复。
恢复命令:
cp /proc/pid/fd/1 /指定目录/文件名
进入 进程目录,一般是进入/proc/pid/fd/,针对当前情况:
[root@21yunwei_backup ~]# cd /proc/20464/fd
[root@21yunwei_backup fd]# ll
total 0
lrwx------ 1 root root 64 Nov 15 18:12 0 > /dev/pts/1
l-wx------ 1 root root 64 Nov 15 18:12 1 > /root/testdelete.py (deleted)
lrwx------ 1 root root 64 Nov 15 18:12 2 > /dev/pts/1
恢复操作:
cp 1 /tmp/testdelete.py
查看文件:
[root@21yunwei_backup fd]# cat /tmp/testdelete.py
hello py
hello delete
恢复完成。
参考技术A 你好,如果是linyx误操作删除文件话还是能够还原的,现在网络上出现了很多可以还原手机和电脑中的信息与数据。Linux文件误删除恢复操作
前言
作为一个多用户、多任务的操作系统,Linux下的文件一旦被删除,是难以恢复的。尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是其他用户和一些有写盘动作的进程会很快覆盖这些数据。不过,对于家庭单机使用的Linux,或者误删文件后及时补救,还是可以恢复的
一、用运SecureCRT远程对操作系统上,查看一下当前系统版本号,及文件系统格式
[[email protected] ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[[email protected] ~]# cat /proc/version
Linux version 3.10.0-693.5.2.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Fri Oct 20 20:32:50 UTC 2017
[[email protected] ~]# uname -a
Linux sheng 3.10.0-693.5.2.el7.x86_64 #1 SMP Fri Oct 20 20:32:50 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[[email protected] ~]# uname -r
二、为方便本次实验,我们新创建一文件。[[email protected] ~]# mkdir example
[[email protected] ~]# cd example/
[[email protected] example]# cat /proc/meminfo > web.txt
[[email protected] example]# ll
total 4
-rw-r--r--. 1 root root 1226 Dec 25 10:03 web.txt
以上是关于linux误操作删除文件后,还能还原么?的主要内容,如果未能解决你的问题,请参考以下文章