一、Vim 的交换文件 .filename.swp
默认交换文件在打开文件的时候就会产生交换文件,正常退出的时候才会删除交换文件(断电,Ctrl+Z强制退出就不会删除),内容大致是这个样子。
通过在 Vim 配置文件设置 set noswapfile
来关闭交换文件。
二、 Vim 的备份文件 filename~
默认关闭,需要通过设置 set backup
来开启,Unbuntu的Vim配置文件是 /etc/vim/vimrc
开启后,对文件进行修改后会保存修改之前的一个副本,展示如下:
如果不喜欢 ~ 作为备份文件的后缀,可以使用 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 缓存文件是追加写入的,所以你所有的撤销操作都会在这个文件中找到。
内容大概是这个样子:
四、PS
默认缓存文件会在当前目录下生成,可以通过修改配置文件的方式指定自动保存位置。
参考连接中有提高可以通过 Vim 的备份机制实现 内容的版本控制。
我们可以从漏洞挖掘的角度延伸一点点,像 敏感文件扫描这种工具一般都是一个敏感文件列表无脑开扫,若是增加一个功能:
结合爬虫已经爬取到的文件和目录,生成相应的缓存/备份文件,是不是又会有新的发现 :p
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。
原文链接:http://www.evilclay.com/2017/03/31/谈谈-Vim-的几种文件备份/