0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

linux误删文件后的恢复方法

dyquk4xk2p3d 来源:良许Linux 2023-02-09 09:51 次阅读

对于linux下误删的文件,我们是否真的无法通过软件进行恢复呢?

误删文件还原可以分为两种情况

一种是删除以后在进程存在删除信息

一种是删除以后进程都找不到,只有借助于工具还原。

今天只分析文件被删除后,相关进程还存在的情况

这种一般是有活动的进程存在持续标准输入或输出,到时文件被删除后,进程PID依旧存在。这也是有些服务器删除一些文件但是磁盘不释放的原因

案例演示

创建一个文件

>vimrumenz.txt
123
//保存退出
>catrumenz.txt
123

用tail -f打开rumenz.txt文件

目的是让rumenz.txt被删除后,进程依然存在

>tail-frumenz.txt

新开一个终端删除rumenz.txt

>rm-frumenz.txt

找到占用rumenz.txt的进程

lsof查看删除的文件进程是否还存在。

如没有安装请自行yum install lsof或者apt-get install lsof

>lsof|grepdelete|greprumenz
tail10222root3rREG253,1470911074/root/test/rumenz.txt(deleted)

进程ID是10222,从上面可以看出,当前文件状态为已删除(deleted)

恢复文件

/proc/10222/fd:进程操作的文件描述符目录

>cd/proc/10222/fd
>ls-al
dr-x------2rootroot0May1121:41.
dr-xr-xr-x9rootroot0May1121:41..
lrwx------1rootroot64May1121:410->/dev/pts/1
lrwx------1rootroot64May1121:411->/dev/pts/1
lrwx------1rootroot64May1121:412->/dev/pts/1
lr-x------1rootroot64May1121:413->/root/test/rumenz.txt(deleted)
lr-x------1rootroot64May1121:414->anon_inode:inotify

开始恢复文件

>cp3/root/test/rumenz.txt
>cat/root/test/rumenz.txt
123

能恢复的根本原因

当程序运行时,操作系统会专门开辟一块内存区域,提供给当前进程使用,对于依赖的文件,操作系统会发放一个文件描述符,以便读写文件,当我们执行rm -f删除文件时,其实只是删除了文件的目录索引节点,对于文件系统不可见,但是对于打开它的进程依然可见,即仍然可以使用先前发放的文件描述符读写文件,正是利用这样的原理,所以我们可以使用I/O重定向的方式来恢复文件。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206734
  • 服务器
    +关注

    关注

    12

    文章

    8116

    浏览量

    82509
  • 软件
    +关注

    关注

    67

    文章

    4348

    浏览量

    85621
  • 磁盘
    +关注

    关注

    1

    文章

    338

    浏览量

    24882
  • 文件
    +关注

    关注

    1

    文章

    540

    浏览量

    24402

原文标题:Linux手误rm可能不需要跑路

文章出处:【微信号:良许Linux,微信公众号:良许Linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    怎么恢复U盘误删的文档word,excel文件

    了,需要重新找回来的话,需要注意下,不要往被误删文件的U盘存入任何新的文件,避免丢失的文件被覆盖,从而无法恢复。怎么
    发表于 06-06 15:41

    固态硬盘误格式化恢复步骤方法

    的。怎么做呢?请看下面。步骤/方法1下载得力数据恢复软件并安装到电脑2打开得力数据恢复软件并选择文件误删功能3对
    发表于 07-27 14:02

    linux无法开机的修复方法概述

    概述:我们在使用linux的时候如果遇到无法开机了怎么办呢?难道要重装系统了吗?是不是看着那满屏幕的乱码(其实很有用)束手无策,本次博客,我来给大家尽量详尽的介绍几种linux常见错误的修复方法
    发表于 07-11 07:28

    Linux文件系统被误删档怎么恢复

    作为一个多用户、多任务的操作系统,Linux下的文件一旦被删除,是难以恢复的。尽管删除命令只是在档节点中作删除标记,并不真正清除文件内容,但是其它用户和一些有写盘动作的进程会很快覆盖这
    发表于 10-16 07:22

    如何选择时钟恢复方式?

    CDR电路原理环路带宽对眼图、抖动测量的影响测试中时钟恢复方式的选择
    发表于 02-24 06:51

    负偏压温度不稳定性的恢复电路和恢复方法

    本文介绍了负偏压温度不稳定性的恢复电路和恢复方法
    发表于 05-07 06:32

    微信误删聊天记录怎么恢复找回-最简单教程

    今天就来给大家推荐一个最简单有效的恢复方法,告诉大家iphone微信 聊天记录删了如何恢复
    发表于 06-22 18:41 5783次阅读

    误删的短信怎么恢复?你有什么好的妙招吗

    想的,可是你知道朋友误删的是什么短信嘛,是面试短信,就此错过了一次好机会,相信有不少人也遇到过误删短信的情况吧!遇到这种情况,我们应该如何解决呢?苹果7p恢复短信的具体操作步骤:1、首先在电脑上下
    发表于 08-14 18:50 209次阅读

    安卓手机图片误删恢复方法

    许多安卓手机在使用一段时间就会卡顿,需要清理垃圾减少手机卡住状态,万一手抖在清理垃圾的时候点错成清理图片,造成手机图片误删怎么恢复?想必还有很多网友不清楚手机图片误删怎么恢复,在这里小
    发表于 01-26 11:00 2666次阅读
    安卓手机图片<b class='flag-5'>误删</b><b class='flag-5'>恢复方法</b>

    数据恢复方法有哪些

    本视频主要详细介绍了数据恢复方法有哪些,分别是硬盘数据恢复、硬盘物理故障、U盘数据恢复、Unix数据恢复
    的头像 发表于 02-23 11:28 7533次阅读

    Linux误删文件恢复操作

    因此,使用rm命令删除文件的时候,一定要小心;重要的数据一定要有备份;并且恢复删除的数据前,删除文件的目录内不能往进存放新东西,否则覆盖掉的信息无法找回。
    的头像 发表于 12-11 16:19 1415次阅读
    <b class='flag-5'>Linux</b>中<b class='flag-5'>误删</b><b class='flag-5'>文件</b>的<b class='flag-5'>恢复</b>操作

    Linux恢复误删除的文件或目录的小妙招

    Linux不像windows有那么显眼的回收站,不是简单的还原就可以了。linux删除文件还原可以分为两种情况:一种是删除以后在进程存在删除信息,另一种是删除以后进程都找不到,只有借助于工具还原
    的头像 发表于 11-18 11:33 6558次阅读

    【服务器数据恢复LINUX误删除、误格式化怎么恢复数据?

    Linux误删除及误格式化的数据恢复方案针对的文件系统。
    的头像 发表于 11-23 11:34 1634次阅读

    服务器数据恢复-LINUX误删除/格式化的数据恢复方

    服务器数据恢复环境: 基于EXT2/EXT3/EXT4/Reiserfs/Xfs文件系统的Linux操作系统。 服务器故障: LINUX操作系统下
    的头像 发表于 09-15 15:29 551次阅读

    小米电脑数据恢复的常用方法、工具和步骤

    、工具和步骤。 一、 数据恢复方法: 垃圾箱恢复:当我们删除文件时,它们通常被送往电脑的垃圾箱,我们可以在垃圾箱中找回已删除的文件。因此,在数据丢失后,首先要检查垃圾箱是否有被
    的头像 发表于 01-25 11:10 604次阅读