说明: 只可以恢复被某进程占用的文件

 

# 创建一个 answer.cmd 文件
echo "this is lsof command" > answer.cmd

# 使用 tail 进行实时监听 answer.cmd 文件(模拟 answer.cmd 文件被占用)
tail -f answer.cmd

 

新开一个会话

# 删除文件
rm answer.cmd

# 使用lsof查看此文件
sudo lsof | grep answer.cmd
tail 14107 ubuntu 3r REG 253,16 21 4718627 /data/poc/script/answer.cmd (deleted)
# 说明: 可以看出14107占用着此文件, 文件描述符为3r, 并且状态为(deleted). 然后我们可以去相应proc文件夹下查看

# 查看 /proc/14107/fd/3
cat /proc/14107/fd/3

# 我们将得到的数据重新写入 answer.cmd 即可
cat /proc/14107/fd/3 > answer.cmd