使用lsof恢复rm -rf删除后的文件

简介:

   在Linux系统中使用rm -rf删除文件后,其实文件只是从磁盘中移除,文件内容还是在系统后台等待回收,此时可以使用系统进程号将文件考贝出来,内容不会有更改。


1.删除一个文件

[root@iZ62f427er8Z logs]# ll access.log 
-rw-r--r-- 1 root root 11723908 Jun 14 16:02 access.log
[root@iZ62f427er8Z logs]# rm -rf access.log 


2.查看文件在后台的进程
[root@iZ62f427er8Z logs]# lsof  | grep delete | grep access
nginx      1212   root    9u   REG  202,1   11723908   274125 /usr/local/nginx-1.4.7/logs/access.log (deleted)
nginx     12953     www    9w   REG  202,1   11723908   274125 /usr/local/nginx-1.4.7/logs/access.log (deleted)
nginx     12954    www  9w   REG     202,1   11723908     274125 /usr/local/nginx-1.4.7/logs/access.log (deleted)
[root@iZ62f427er8Z logs]# 

3.将文件从进程中复制到磁盘上

[root@iZ62f427er8Z logs]# cp /proc/12953/fd/9  .     #12953是进程号,9是文件描述符 
[root@iZ62f427er8Z logs]# du -sh 9 
12M    9
[root@iZ62f427er8Z logs]# cat 9        #文件内容看到了










本文转自 z597011036 51CTO博客,原文链接:http://blog.51cto.com/tongcheng/1789173,如需转载请自行联系原作者
目录
相关文章
|
6月前
rm 移除文件或目录
rm 移除文件或目录。
100 5
|
6月前
|
弹性计算 运维 Shell
删除某个目录下大小为0 的文件
【4月更文挑战第29天】
39 0
|
6月前
|
供应链 Shell Linux
通过extundelete使用shell实现CentOS6 ext4文件系统误删除文件的恢复
通过extundelete使用shell实现CentOS6 ext4文件系统误删除文件的恢复
91 0
|
Linux Shell
Linux 处理文件( touch 命令、cp 命令、mv 命令、rm 命令)
创建文件( touch 命令),复制文件( cp 命令),重命名文件( mv 命令),删除文件(rm 命令)
158 1
Linux 处理文件( touch 命令、cp 命令、mv 命令、rm 命令)
|
网络安全
rm -rf 误删除数据如何进行恢复
rm -rf 误删除数据如何进行恢复
1151 0
|
运维 Shell Linux
Linux防止“rm -rf /”误删除
Linux防止“rm -rf /”误删除
rm -rf / 真的能删除所有东西吗?
rm -rf / 真的能删除所有东西吗?
rm -rf / 真的能删除所有东西吗?
|
安全 Linux 测试技术
Linux之rm -rf 安全删除
新建自定义删除脚本:vim /usr/bin/safe_remove !/bin/bash TRASH_DIR="/tmp/user/${USER}/.trash"mkdir -p $TRASH_DIR RMPATH="" 遍历rm命令参数(e.
2551 0
|
数据可视化
相对和绝对路径/cd命令/创建和删除目录mkdir/rmdir/rm命令
 2.6 相对和绝对路径 2.7 cd命令 2.8 创建和删除目录mkdir/rmdir 2.9 rm命令   绝对路径:从根开始的路径;文件所在的路径; 相对路径:相对于当前目录而言的路径;上一级或者下一级的路径。
1254 0