Linux误删文件恢复
上周我把我的git项目目录删掉了,所有的本地分支都消失了,你说痛不痛,这么痛的领悟让我决定研究研究linux怎么恢复被删除文件。
METHOD 1 从内存恢复
现在我有一个文件test.txt,我正在使用tail -f命令监听他的状态
然后我再开一个终端,删除这个文件
现在磁盘中已经没有test.txt这个文件了,
然后我们通过执行
lsof | grep test.txt
可以看到这个被删除文件的基本信息,如果有进程正在使用它的话
可以看到最末尾有个deleted标识,标识该文件已经被删除,然后我们记住它的pid 44162
然后执行
cd /proc/44162/fd
看到几个文件描述符,再来
ls -al
描述符3正是我们需要的,我们执行
cat 3 > /tmp/recover.txt
可以看到我们的文件被恢复了!!
METHOD 2 从日志恢复
该方法还没做实验,待定