2020年2月21日 星期五

vi中系统失败后数据的恢复

在编辑文件的过程中,有时可能会遇到系统关机,或者失去了与系统的连接等系统失败的情况。如果是这样,那么vi通常可以将数据恢复出来。



当使用vi时,正在编辑的数据保存在编辑缓冲区内。vi编辑器会时不时地将编辑缓冲区的内容保存到一个临时文件中。通常,vi在编辑完成时会删除该文件。但是如果程序非正常终止,那么这个临时文件还会存在,因此我们可以使用这个文件来恢复数据。

为了恢复数据,需要使用-r(recover,恢复)选项启动vi:

vi -r

这将显示所有可以用来恢复数据的文件。接下来就可以通过-r选项,后面跟希望恢复的文件的名称重新启动vi。例如:

vi -r test.c

这将恢复文件,恢复到系统关机时文件的内容。
注意:一定要小心,不要将-r(recover, 恢复)选项与-R(read- only,只读)选项混淆。

提示:

Vim通过将一个编辑缓冲区保存在一个交换文件(swap file)中。提供了出色的恢复功能。交换文件与正在编辑的文件存储在同一个目录中。每当键入200个字符之后,或者有4秒没有键入内容时,交换文件都会自动的更新。

为了恢复文件,必须使用rm命令删除交换文件,Vim不会自动完成这一操作。

交换文件的名称包含一个.(点号),后面跟着原始文件的名称,再后跟着.swap。例如正在编辑的test.c程序,那么交换文件是.test.c.swap,如果不删除交换文件,那么下一次编辑原始文件时,Vim将以一个稍微有所不同的名称创建一个新的交换文件,例如.test.c.swo

沒有留言:

張貼留言