温馨提示×

Debian如何找回旧文件

小樊
49
2026-07-27 15:42:01
栏目: 智能运维

在 Debian(以及大多数 Linux 系统)中,“找回旧文件”取决于文件是怎么丢的、有没有备份、以及文件系统类型。下面按常见场景给你一个实用排查清单。


一、先确认:文件是不是真的“没了”

1. 检查是否被误移动

find / -name "文件名" 2>/dev/null

或只在家目录查找:

find ~ -name "文件名"

2. 检查隐藏文件

ls -a

3. 检查是否被其他用户/进程占用

lsof | grep 文件名

二、如果你有备份(最推荐)

1. Timeshift(系统快照)

如果你装过 Timeshift:

timeshift --list
sudo timeshift --restore

2. rsync / cp 备份

ls /path/to/backup

3. Debian 自带备份工具

  • Déjà Dup(图形界面)
  • rsnapshot / borgbackup(命令行)

三、使用文件恢复工具(删除后未覆盖)

⚠️ 立即停止写入该磁盘!

1. ext4 文件系统(最常用)

使用 extundelete

sudo apt install extundelete

恢复单个文件:

sudo extundelete /dev/sdXn --restore-file 路径/文件名

恢复整个目录:

sudo extundelete /dev/sdXn --restore-directory 路径

恢复所有:

sudo extundelete /dev/sdXn --restore-all

恢复文件会放在当前目录的 RECOVERED_FILES/


2. 通用恢复工具(任何文件系统)

TestDisk(推荐)

sudo apt install testdisk
sudo testdisk

功能:

  • 恢复误删分区
  • 恢复删除的文件
  • 修复分区表

PhotoRec(TestDisk 附带)

适合恢复:

  • 文档
  • 图片
  • 压缩包
sudo photorec

四、查看“旧版本”(如果你用的是某些特殊配置)

1. Git 仓库

git log --oneline
git checkout 旧提交 -- 文件名

2. 编辑器自动备份

ls 文件名~
ls .文件名.swp

3. /tmp 目录

ls -l /tmp

五、系统层面:Debian 包里的旧配置文件

如果是 系统配置文件被改丢

dpkg -L 包名

重新安装:

sudo apt install --reinstall 包名

六、如果文件是“被覆盖”而不是删除

⚠️ 覆盖 ≠ 删除,几乎无法恢复 只能尝试:

  • 编辑器历史
  • Git
  • 备份
  • 快照

七、推荐你告诉我这些信息(我可以更精确帮你)

你可以直接回复:

  1. 文件类型(文档 / 代码 / 图片 / 配置)
  2. 删除方式(rm / 清空回收站 / 覆盖)
  3. 文件系统(ext4 / xfs / btrfs)
  4. 是否有备份或 Timeshift
  5. 大概删除时间

我可以给你一步一步的命令方案,而不是泛泛而谈。

0