Debian系统恢复误删文件的常用方法
extundelete是Debian下专门用于恢复ext系列文件系统误删文件的工具,操作简便且针对性强。
sudo apt-get update && sudo apt-get install extundelete安装。/home/user/Documents/report.docx),运行sudo extundelete /dev/sdXY --restore-file /path/to/deleted/file(/dev/sdXY为文件所在分区,可通过df -h命令查看)。sudo extundelete /dev/sdXY --restore-directory /path/to/deleted/directory。sudo extundelete /dev/sdXY --restore-all,恢复的文件会保存在当前目录下的RECOVERED_FILES文件夹中。TestDisk擅长恢复丢失的分区,PhotoRec则专注于文件恢复(支持ext2/ext3/ext4、FAT32、NTFS等多种文件系统),适合分区表损坏或文件系统未知的情况。
sudo apt-get install testdisk同时安装TestDisk和PhotoRec。sudo testdisk,选择目标磁盘(如/dev/sda);P键查看文件列表;C键复制到安全分区(如/mnt/recovery)。sudo photorec /dev/sdXY(/dev/sdXY为目标分区);/tmp/recovered_photos),等待扫描完成。若文件被删除但仍被某个进程占用(如编辑器未关闭文档),可通过lsof命令找到并恢复。
sudo lsof | grep deleted,列出所有被删除但仍被占用的文件;找到目标文件后,记下其进程ID(PID);切换到文件所在目录,运行cat /proc/<PID>/fd/<FD> > /path/to/recovered_file(<PID>为进程ID,<FD>为文件描述符,可通过lsof输出获取)。若误删文件后未向磁盘写入新数据,可通过dd命令复制磁盘扇区,再用其他工具(如TestDisk)提取文件。
sudo dd if=/dev/sdXY of=/tmp/recovered_partition.img bs=4M(/dev/sdXY为目标分区),将分区数据保存为镜像文件;后续用TestDisk打开recovered_partition.img进行恢复。若有定期备份(如使用rsync、tar或Debian自带的Deja Dup),可直接从备份中恢复文件,避免数据丢失风险。
rsync备份,运行rsync -avz /backup/source/ /target/destination/;Deja Dup,打开应用后选择“Restore”,选择备份时间和位置即可。