Linux查找丢失文件的实用步骤
一 先判断属于哪类丢失
二 快速定位仍存在的文件
sudo find / -name "filename" 2>/dev/nullsudo find / -iname "filename" 2>/dev/nullsudo find / -name "*.log" 2>/dev/nullsudo find / -mtime -7 -type f 2>/dev/nullsudo find / -size +100M -type f 2>/dev/nullsudo grep -R "关键字" /目标目录 2>/dev/nullsudo updatedb && locate filename三 文件已被删除但可能仍在被进程使用
lsof | grep deletedls -l /proc/<PID>/cwdcp /proc/<PID>/fd/<FD> /recovery/recovered_file四 文件已被删除且未被覆盖的专业恢复
sudo umount /dev/sdX1 或 sudo mount -o remount,ro /dev/sdX1sudo dd if=/dev/sdX of=/backup/disk_image.img bs=4Mextundelete
sudo extundelete /dev/sdX1 --restore-file /path/to/filesudo extundelete /dev/sdX1 --restore-directory /path/to/dirsudo extundelete /dev/sdX1 --restore-allsudo testdisk,选择磁盘 → 分区表类型 → Advanced → 浏览已删除文件 → 选择并恢复sudo photorec /dev/sdX,选择分区与文件系统类型 → 选择要恢复的文件类型 → 指定输出目录 → 开始恢复五 预防与后续建议
rm替换为trash,可用trash-restore还原;或自建脚本将删除文件移至**~/.trash**。alias rm='rm -i',或禁用rm强制使用回收站。sudo chattr +i important_file(解除:sudo chattr -i important_file)inotifywait -m -r -e delete /important/dir,及时发现异常删除。