百度
360搜索
搜狗搜索

linux下如何恢复rm命令删除的文件详细介绍

在 Linux 下通过 rm 命令删除文件后,能否恢复取决于文件是否被覆盖。以下是分场景的恢复方案,建议操作前立即停止对目标磁盘的写入(避免数据被覆盖):

一、基础检查:是否进入回收站?

图形化桌面环境(如 GNOME/KDE) 删除的文件可能暂存于回收站:
bash

~/.local/share/Trash/files/

~/.local/share/Trash/files/被删除的文件名 目标路径

注意:终端直接执行 rm(非图形界面删除)默认不会进回收站。

二、文件系统级恢复(适用于 ext3/ext4)

1. 使用
extundelete(需提前安装)

bash

extundelete

extundelete /dev/sda1 --list-deleted

extundelete /dev/sda1 --restore-inode --restore-path ./恢复目录

2. 用
debugfs 手动提取(适合无工具场景)

bash

ro /dev/sda1 /mnt

debugfs /dev/sda1

debugfs: lsdel

debugfs: logdump

debugfs: dump 被删除文件的inode号 恢复后的路径/test.txt

三、通用工具:TestDisk(推荐)

bash

testdisk

testdisk

四、数据恢复注意事项

  1. 立即停止写入:删除后继续使用磁盘会极大降低恢复成功率。
  2. 使用 Live CD:从 U 盘启动系统(如 Ubuntu Live)操作,避免覆盖本地磁盘数据。
  3. 慎用工具extundelete 对 ext4 支持有限,新文件系统(如 btrfs)需用专用工具(如 btrfs restore)。
  4. 备份优先:重要文件建议通过 rsyncborgbackup 等工具定期备份。

五、预防措施(比恢复更重要)

  • 别名保护:在 ~/.bashrc 中添加 alias rm='rm -i'(交互式删除)。
  • 回收站脚本:自定义 rm 别名,将文件移动到回收站(示例脚本)。
  • 版本控制:对代码 / 文档使用 Git,误删可通过 git checkout 回滚。

若文件已被覆盖或磁盘已格式化,恢复几乎不可能。建议根据场景选择对应方案,优先尝试 TestDisk(兼容性强)或 图形化工具 Photorec(TestDisk 内置)。

阅读更多 >>>  为什么有些软件删除不掉

网站数据信息

"linux下如何恢复rm命令删除的文件"浏览人数已经达到20次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:linux下如何恢复rm命令删除的文件的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!