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

 更新时间:2017年04月04日 11:10:30   作者:Anka9080  
最近在MCTF上看到了Vim的undo备份,顺手学习了下 Vim 的几种备份机制,所以这篇文章主要给大家介绍了关于Vim中的几种文件备份,需要的朋友可以参考借鉴,下面来一起看看吧。

一、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

总结

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

相关文章

  • Linux下Oracle如何导入导出dmp文件详解

    Linux下Oracle如何导入导出dmp文件详解

    这篇文章主要给大家介绍了关于在Linux下Oracle如何导入导出dmp文件的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-07-07
  • 解决Linux Centos yum-config-manager --add-repo添加仓库添加错误问题

    解决Linux Centos yum-config-manager --add-repo添

    这篇文章主要介绍了解决Linux Centos yum-config-manager --add-repo添加仓库添加错误问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • Linux中hostname修改方法详解

    Linux中hostname修改方法详解

    这篇文章主要为大家详细介绍了Linux中hostname的修改方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • linux实现定时备份mysql数据库的简单方法

    linux实现定时备份mysql数据库的简单方法

    在本篇文章中我们给大家整理了一些关于linux实现定时备份mysql数据库的简单方法,有需要的朋友们可以学习下。
    2018-09-09
  • Linux下的fdisk命令用法详解

    Linux下的fdisk命令用法详解

    这篇文章主要介绍了Linux下的fdisk用法,大家都知道fdisk功能真的很强大,用它可以划分出最复杂的分区,本文重点给大家介绍Linux下的fdisk命令用法,感兴趣的朋友一起看看吧
    2018-05-05
  • Apache No space left on device的解决办法

    Apache No space left on device的解决办法

    [Fri Aug 15 10:54:31 2008] [emerg] (28)No space left on device: Couldn't create accept lockdf一下发现不是磁盘空间的问题。Google了一下就找到了解决方案,原来是系统的信号量(?)不够用了。
    2008-08-08
  • Linux删除文件不同方法效率对比

    Linux删除文件不同方法效率对比

    这篇文章主要介绍了Linux删除文件不同方法效率对比,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • CentOS桌面环境中网卡启动失败的解决方法

    CentOS桌面环境中网卡启动失败的解决方法

    这篇文章主要为大家详细介绍了CentOS桌面环境中网卡启动失败的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • CentOS6.5环境下使用rsync增量同步备份文件的方法

    CentOS6.5环境下使用rsync增量同步备份文件的方法

    这篇文章主要介绍了CentOS6.5环境下使用rsync增量同步备份文件的方法,结合实例形式分析了rsync进行文件同步备份操作的相关命令与使用技巧,需要的朋友可以参考下
    2018-04-04
  • linux 入侵常用命令汇编

    linux 入侵常用命令汇编

    掌握这些命令也有助于配置linux的安全,大家可以看看。
    2009-07-07

最新评论