1. 检查隐藏的垃圾文件夹(Trash)
Debian系统默认将删除的文件移动至用户家目录下的隐藏垃圾文件夹(~/.local/share/Trash),其中files/子目录存放被删文件,info/子目录存储元数据(如原始路径、删除时间)。
ls -a ~/.local/share/Trash/files/(-a参数显示隐藏文件),确认被删文件是否存在。cp命令将文件复制回原路径,例如cp ~/.local/share/Trash/files/误删文件.txt ~/Documents/(替换为实际文件名和目标路径)。cp -r ~/.local/share/Trash/files/* ~/目标目录/(-r参数递归复制目录)。rm命令直接删除),需尝试其他方法。2. 使用命令行回收站工具(Trash-Cli,推荐)
Trash-Cli是一款符合FreeDesktop规范的命令行回收站工具,支持更规范的回收站管理(如查看删除时间、批量恢复)。
sudo apt install trash-cli(需联网)。trash-put命令替代rm命令,例如trash-put 误删文件.txt(可同时删除多个文件,如trash-put file1.txt file2.txt)。trash-list,可查看回收站内文件的删除时间、大小及原路径(输出格式为“删除时间 文件名”)。trash-restore命令选择恢复项,例如trash-restore,按提示输入文件序号(如0代表第一个文件),恢复后文件将回到原路径。trash-empty,确认后可清空回收站内所有文件(谨慎操作,不可逆)。3. 利用版本控制系统恢复(如Git)
若文件已纳入版本控制(如Git仓库),可通过回滚提交历史恢复误删文件(需提前提交文件)。
git init。git add . → git commit -m "初始提交"(需提前提交,否则无法恢复)。git log --oneline(--oneline参数简化输出),获取误删前的提交哈希值(如a1b2c3d)。git checkout命令恢复到指定提交的文件状态,例如git checkout a1b2c3d 误删文件.txt(恢复后文件将回到工作目录)。4. 使用数据恢复工具(适用于彻底删除)
若文件被rm命令直接删除(未进入垃圾文件夹),或垃圾文件夹中的文件已被清空,可使用以下工具扫描磁盘恢复:
sudo apt install extundelete。sudo extundelete /dev/sdXY --restore-file /path/to/deleted/file(/dev/sdXY为目标分区,如/dev/sda1;/path/to/deleted/file为被删文件的原始路径)。sudo extundelete /dev/sdXY --restore-all(恢复分区内的所有可恢复文件,结果保存在RECOVERED_FILES目录中)。sudo apt install testdisk。sudo testdisk,按提示选择磁盘、分区类型(通常为Intel),选择要恢复的分区,点击Analyse进行快速/深度搜索,找到文件后按C键复制到安全位置。sudo apt install photorec。sudo photorec /dev/sdXY,选择磁盘、分区,指定文件类型(如文档、图片、视频),选择保存目录,扫描后保存恢复的文件(注意:PhotoRec按文件类型分类,需手动筛选)。sudo apt install foremost。sudo foremost -t jpg,pdf,doc -i /dev/sdXY -o /home/username/rescued(-t参数指定恢复的文件类型,-i为输入磁盘,-o为输出目录)。注意事项
rsync(增量备份,命令:rsync -av --delete /源目录/ /备份目录/)或tar(打包备份,命令:tar -czvf 备份文件名.tar.gz /源目录/)备份重要数据,降低数据丢失风险。