Debian系统恢复误删除文件的常用方法
extundelete是Debian下针对ext系列文件系统的专用恢复工具,操作简便且针对性强。
sudo apt-get update && sudo apt-get install extundelete
安装。/home/user/documents/deleted_file.txt
,命令为sudo extundelete /dev/sdXY --restore-file /home/user/documents/deleted_file.txt
(/dev/sdXY
为文件所在分区,如/dev/sda1
)。/home/user/documents
目录,命令为sudo extundelete /dev/sdXY --restore-directory /home/user/documents
。sudo extundelete /dev/sdXY --restore-all
。TestDisk擅长恢复丢失的分区和结构,Photorec则专注于文件内容恢复,二者配合可应对复杂场景。
sudo apt-get install testdisk
同时安装TestDisk和Photorec。sudo testdisk
启动;/dev/sda
);Intel
);Enter
;Analyse
→Quick Search
(快速扫描)或Deep Search
(深度扫描);C
键复制到安全目录(如/home/user/recovered
)。sudo photorec
启动;ext4
);Documents
、Photos
)或All
(全部);若文件被删除但仍被某个进程占用(如编辑中的文档),可通过lsof命令找回。
sudo lsof | grep deleted
,列出所有已删除但仍被占用的文件;找到目标文件后,记下其PID
(进程ID);执行sudo kill -9 PID
终止进程,文件将恢复至原路径(或通过/proc/PID/fd/文件描述符
访问)。若误删文件后未向磁盘写入新数据,可通过dd命令复制原始数据块(需知道原文件位置)。
/dev/sda1
的第1000-2000字节,执行sudo dd if=/dev/sda1 of=recovered_file bs=1 skip=1000 count=1000
(bs
为块大小,skip
为起始位置,count
为读取字节数)。若有定期备份(如使用rsync
、tar
或Debian自带的Deja Dup
),可直接从备份介质(外接硬盘、NAS、云存储)恢复文件。
tar
备份,执行sudo tar -xvf backup.tar -C /path/to/restore
(backup.tar
为备份文件,/path/to/restore
为目标目录);Deja Dup
,打开应用后选择“恢复”,指定备份位置和目标目录即可。lsblk
或fdisk -l
命令查看磁盘分区信息,避免选错分区(如将/dev/sda1
误认为/dev/sdb1
);cron
任务设置自动备份(如每天凌晨备份/home
目录),降低数据丢失风险。