啊,手快 rm 了,怎么从进程恢复源文件

2020-05-20 18:17:21 +08:00
 May725

首先尝试从磁盘恢复无果; 但是 nvim 进程还在,cat /proc/xxx/fd/xxx 出来文件是乱码的。 我又尝试将 nvim 恢复前台,但发现这个进程已经不属于任何终端了。 有何办法从进程里恢复完整的文件?

ps 信息

 6691     1  0 Apr10 ?        00:06:49 nvim database/database_kits.h

lsof 信息

nvim       6691                   lkj   36u      REG              252,1    12288     266629 /home/lkj/.local/share/nvim/swap/%home%lkj%code%license%src%license_service_impl.h.swp (deleted)
4491 次点击
所在节点    Linux
8 条回复
plasmetoz
2020-05-20 18:58:11 +08:00
不太乐观,swp 好像是修改记录,是差异文件,源文件也许在内存里还有?
可以看看这个: https://superuser.com/questions/204209/how-can-i-recover-the-original-file-from-a-swp-file/874677#874677
superrichman
2020-05-20 19:34:19 +08:00
装个 trash-cli 防止以后再误操作。
文件恢复不知道怎么办,听听楼下的。
May725
2020-05-20 19:42:35 +08:00
@plasmetoz 太感谢了。 将 swp 保存到默认路径,再新建源文件打开,vim 自动检测到 swp 文件恢复了,没有乱码。 😭
May725
2020-05-20 19:44:29 +08:00
@superrichman 这就装,rm 太吓人
systemcall
2020-05-20 20:21:50 +08:00
是生产环境吗?难道没有备份?
May725
2020-05-20 20:40:58 +08:00
@systemcall 不是,就开发环境
laycher
2020-05-20 21:06:13 +08:00
如果没有 swp 文件,还有办法不?
May725
2020-05-20 23:07:22 +08:00
@laycher google 一番有一些从文件系统恢复的软件, 但是我尝试了两个,extundelete 运行 段错误,testdisk 不能识别硬盘,可能本地机器会有用,我的是腾讯云上的机器

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/673730

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX