Vim中的几种文件备份方法总结

Vim中的几种文件备份方法总结

一、Vim 的交换文件 .filename.swp

默认交换文件在打开文件的时候就会产生交换文件,正常退出的时候才会删除交换文件(断电,Ctrl+Z强制退出就不会删除),内容大致是这个样子。

Vim中的几种文件备份方法总结

通过在 Vim 配置文件设置 set noswapfile 来关闭交换文件。

二、 Vim 的备份文件 filename~

默认关闭,需要通过设置 set backup 来开启,Unbuntu的Vim配置文件是 /etc/vim/vimrc

开启后,对文件进行修改后会保存修改之前的一个副本,展示如下:

Vim中的几种文件备份方法总结

如果不喜欢 ~ 作为备份文件的后缀,可以使用 set backupext=.bak 来设置备份文件的扩展名。

当然可以通过设置 set nobackup 来关闭备份文件。

三、undo 备份文件 .filename.un.~

默认关闭,需要设置 set undofile 来开启 undo 备份文件。这是 Vim 官方给出的 undo 备份文件的解释:

When on, Vim automatically saves undo history to an undo file when writing a buffer to a file, and restores undo history from the same file on buffer read.

也就是说开启时,在 Vim 中编辑文件是使用了 撤销更改(u命令)的操作,会把撤销更改的那部分保存到缓存文件 ..un.~ 中。
测试发现这个 undo 缓存文件是追加写入的,所以你所有的撤销操作都会在这个文件中找到。

内容大概是这个样子:

Vim中的几种文件备份方法总结

四、PS

默认缓存文件会在当前目录下生成,可以通过修改配置文件的方式指定自动保存位置。

参考连接中有提高可以通过 Vim 的备份机制实现 内容的版本控制。

我们可以从漏洞挖掘的角度延伸一点点,像 敏感文件扫描这种工具一般都是一个敏感文件列表无脑开扫,若是增加一个功能:

结合爬虫已经爬取到的文件和目录,生成相应的缓存/备份文件,是不是又会有新的发现 :p

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。