昨天,我使用 nano 文件记录与大学工作相关的重要笔记。那天我从未保存过该文件,并且整天都在积极地做笔记。快到一天快结束时,我的笔记本电脑没电了,在我保存之前就关机了(是的,我知道,在笔记本电脑电量低的时候不保存是很愚蠢的)。
假设正在编辑文件的目录是
~/Documents/uni/notes.txt
重启笔记本电脑后,文件仍未在我的终端中打开,此外,也没有我希望 nano 可能在这种情况下创建的 .save 文件。我尝试通过运行以下命令在我认为可能存在的目录中以及我的整个系统中查找 .save 文件:
sudo find / -mtime -1 -print | egrep -i '\.save$|\.save\.[1-90]*$'
以及 和
sudo find / "*.save"
。sudo find / "notes.*"
没有
运气。
有什么方法可以恢复该文件?它可能仍保存在内存或交换空间中吗?如果是这样,我该如何检查是否可以在内存中找到它?我正在运行 Arch Linux(systemd)。
答案1
根据您的问题,您更可能询问nano
在关机时被杀死时的具体行为。
PS:您没有描述笔记本电脑是如何关机的:是操作系统关机还是突然断电?后者绝对无济于事。即使在前一种情况下,也取决于操作系统向进程发送的信号。我读了以下内容:https://unix.stackexchange.com/a/499764/544770并发现通常Linux应该先发送SIGTERM,然后再发送SIGKILL。
我确实了解它会.save
在某些信号中保存文件:https://askubuntu.com/a/601989/1640619。它确实提到了 SIGTERM。但是,它在您的案例中不起作用。
您的文件暂时消失了。以后,请考虑使用定期保存的编辑器,而不是在文件消失前尝试保存。
您可以尝试的另一件事是,通过在 nano 中处理某个文件然后直接sudo poweroff
从终端/TTY 运行来重现此行为,并查看它是否保存了任何内容。如果它确实保存了nano.save
,那么在之前的运行中您的笔记本电脑可能没有正常关闭。