linux可以恢复已删除的文件,前提是该文件正在被其他进程占用,比如有进程挣通过less命令查看该文件内容。
通过lsof命令可以查看已被删除文件被占用的进程id,然后通过cat命令恢复文件
lsof | grep 文件名
可以看到该文件已被删除,但是还在被进程88149占用,进入该进程目录可以看到该文件的副本
cd /proc/88149/fd/
可以看到该目录下的链接文件,根据lsof命令也可以知道删除的是类型4的文件,通过cat命令重写到一个新文件中
cat /proc/88149/fd/4 > 1_new.txt
这样就可以恢复被删除的文件了,可以用于恢复删除的日志。
还可以使用这种方式清除rm命令删除的文件但是被其他进程占用而没有释放的空间。