0

0

LINUX系统如何恢复用rm误删除的文件_Linux误删文件恢复方法

穿越時空

穿越時空

发布时间:2025-11-18 10:21:36

|

903人浏览过

|

来源于php中文网

原创

误删文件后应立即停止写入操作,优先尝试使用extundelete恢复ext3/4文件;2. 可通过debugfs查找已删除inode并导出数据;3. photorec支持多文件系统深度扫描,适用于复杂恢复场景;4. 若文件仍被进程占用,可用lsof定位并从/proc/PID/fd复制句柄内容。

linux系统如何恢复用rm误删除的文件_linux误删文件恢复方法

如果您在操作Linux系统时误用了rm命令删除了重要文件,系统不会像回收站那样保留已删除的文件,因此需要立即采取措施尝试恢复。由于文件系统在删除文件后通常只是标记inode为可用,并未立即覆盖数据,因此在数据被覆盖前仍有可能恢复。

本文运行环境:Dell XPS 13,Ubuntu 22.04

一、使用extundelete工具恢复ext3/ext4文件

extundelete是一个专门用于恢复ext3和ext4文件系统中已删除文件的开源工具,它通过读取文件系统的journal日志来还原被rm删除的文件。

1、打开终端,安装extundelete工具:sudo apt install extundelete

2、确认被删除文件所在的分区,通常为根分区/dev/sda1或home分区,可通过df -h查看挂载点。

3、执行恢复命令:sudo extundelete /dev/sda1 --restore-all,其中/dev/sda1替换为实际分区。

4、恢复的文件将保存在当前目录下的RECOVERED_FILES文件夹中,请及时转移。

二、利用debugfs从ext文件系统中提取数据

debugfs是ext2/3/4文件系统的调试工具,可以手动查找并导出已被删除但尚未被覆盖的inode数据。

1、以只读方式挂载目标分区,避免写入新数据:sudo mount -o remount,ro /

2、启动debugfs并进入交互模式:sudo debugfs /dev/sda1

3、在debugfs提示符下输入lsdel命令,列出所有可恢复的已删除inode。

4、找到目标文件的inode号后,使用命令dump /path/to/save/file将其导出到其他存储设备。

5、完成操作后键入quit退出debugfs。

三、使用photorec进行深度数据恢复

photorec是TestDisk套件的一部分,支持多种文件系统和文件类型,通过扫描磁盘原始数据块来恢复丢失的文件,适用于ext、NTFS、FAT等格式。

豆包手机助手
豆包手机助手

豆包推出的手机系统服务级AI助手

下载

1、安装testdisk包:sudo apt install testdisk

2、运行photorec:sudo photorec,进入图形化文本界面。

3、选择要扫描的磁盘和分区,注意不要选错设备。

4、选择文件系统类型(若不确定可选“其他”),然后选择“自由空间扫描”或“整个分区扫描”。

5、指定输出目录(必须位于其他磁盘或分区),开始扫描并恢复匹配的文件。

6、恢复完成后检查输出目录中的文件内容是否完整。

四、通过lsof找回仍被进程占用的已删文件

如果被rm删除的文件仍被某个进程打开,其文件内容依然保留在内存中,可以通过lsof查出句柄并重新导出。

1、立即执行lsof | grep deleted,查找处于deleted状态但仍被打开的文件。

2、记录对应进程PID和文件描述符(如fd 3r)。

3、进入/proc/PID/fd目录,例如:cd /proc/1234/fd

4、使用cp或dd命令复制文件描述符指向的内容到安全位置:cp 3 /recovery/recovered_file

5、通知相关进程关闭句柄或重启服务以释放资源。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1348

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

701

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

776

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

572

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

545

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

297

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

380

2023.07.25

Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.2万人学习

Git 教程
Git 教程

共21课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号