SWP文件详细介绍与利用

来源:互联网 发布:apache base64 maven 编辑:程序博客网 时间:2024/06/05 16:57

SWP介绍与利用

swp文件介绍

vim中的swp即swap文件,在编辑文件时产生,它是隐藏文件。这个文件是一个临时交换文件,用来备份缓冲区中的内容。如果原文件名是data,那么swp文件名就是.data.swp。如果文件正常退出,则此文件自动删除。需要注意的是如果你并没有对文件进行修改,而只是读取文件,是不会产生swp文件的。

swp文件产生

以下两种情况不会删除swp文件:

  • vim非正常退出(比如直接关闭终端或者电脑断电或者你使用了Ctrl+ZZ;vim编辑器要正常退出可以使用Shift-ZZ);这种情况下,除非手动删除swp文件(也可以在vim提示时删除),否则它会一直存在。
  • 多个程序同时编辑一个文件;为了避免同一个文件产生两个不同的版本(vim中的原话),还是建议选择readonly为好。

非正常退出时,并不会覆盖旧的交换文件,而是会重新生成新的交换文件。而原来的文件中并不会有这次的修改,文件内容还是和打开时一样。例如,第一次产生的交换文件名为“.data.swp”;再次意外退出后,将会产生名为“.data.swo”的交换文件;而第三次产生的交换文件则为“.data.swn”;依此类推。

当你强行关闭vim时,vim自动生成一个swp文件,当你再次用vim打开文件时,会首先出现一些提示。这里我们当然可以用R键恢复。

swp文件设置

  • 使用以下命令来查看当前目录下的所有swp文件
    vim -r

  • 使用以下命令来恢复文件,这样上次意外退出没有保存的修改,就会覆盖文件。然后用rm 命令删除交换文件。不然每一次编辑时总是有这个提示。
    vim -r filename
    rm .{filename}.swp

  • 如果你不想vim产生交换文件,可以使用如下命令禁止
    :set noswapfile

  • 也可以使用以下命令,设置生成交换文件:
    :set swapfile

  • 根据默认设置,交换文件会每隔4000毫秒(4秒)或者200个字符保存一次。我们可以使用以下命令,修改保存交换文件的频率:
    :set updatetime=2000
    :set updatecount=400

  • 注意,如果我们将updatecount的值为0,那么就将不保存交换文件。

  • vim默认在当前文件所处的目录下产生交换文件,我们可以通过directory选项来更改交换文件产生的目录。例如,使用以下命令将交换文件存放在/tmp目录下:
    :set directory=/tmp

  • 注意,如果我们将交换文件存储在一个指定目录,那么当编辑不同目录下相同名称的文件时,就会产生命名冲突。我们可以将directory选项设置为一个以逗号分隔的目录列表,并将当前目录(.)设为目录列表的第一个选项,这样交换文件首先会被存放在当前目录下。

swp利用演示:

题目链接 http://111.231.111.54/

  • i. 御剑扫描后台发现文件

  • ii. 下载swp文件

  • iii. 恢复源文件

  • iv. 分析源文件

  • v. 登陆后台

原创粉丝点击