首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用lsof命令恢复已删除文件(正在使用的文件)

使用lsof命令恢复已删除文件(正在使用的文件)

作者头像
互联网-小阿宇
发布2022-11-21 21:23:17
发布2022-11-21 21:23:17
2.4K00
代码可运行
举报
文章被收录于专栏:互联网-小阿宇互联网-小阿宇
运行总次数:0
代码可运行

此方法适用于正在使用的文件 ,且被删除后,可以通过lsof的方式进行恢复。 演示:

代码语言:javascript
代码运行次数:0
运行
复制
[root@master ~]# less /var/log/messages

开启另一个终端进行删除操作

代码语言:javascript
代码运行次数:0
运行
复制
[root@master ~]# rm -rf /var/log/messages
[root@master ~]# cat /var/log/messages
cat: /var/log/messages: 没有那个文件或目录

这个时候不要慌,第一个终端less还是可以正常浏览文件的 准备进行恢复文件 如果提示没有lsof命令就安装

代码语言:javascript
代码运行次数:0
运行
复制
yum -y install lsof
代码语言:javascript
代码运行次数:0
运行
复制
[root@master ~]# lsof | grep deleted
rsyslogd   9420          root    6w      REG              253,0   1655588   17390930 /var/log/messages (deleted)
in:imjour  9420  9442    root    6w      REG              253,0   1655588   17390930 /var/log/messages (deleted)
rs:main    9420  9470    root    6w      REG              253,0   1655588   17390930 /var/log/messages (deleted)
less      10295          root    4r      REG              253,0   1655437   17121932 /var/log/messages (deleted)

可以清楚的看到在最后一行代表这个less正在占用这个文件但是已经被删除了

记住这两个数字:第一个红框代表的是PID 第二个红框记住这个数字就行了 不需要字母

代码语言:javascript
代码运行次数:0
运行
复制
[root@master ~]# cat /proc/10295/fd/4

你会神奇的发现着就是你刚刚删除的文件 直接复制一份还原回去

代码语言:javascript
代码运行次数:0
运行
复制
[root@master ~]# cp /proc/10295/fd/4 /var/log/messages
[root@master ~]# ll /var/log/messages
-rw------- 1 root root 1655437 3月  31 14:58 /var/log/messages
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档