在我编写的程序中,我经常从文件中读取和写入数据。我注意到,在执行此操作的过程中,我无意中创建了交换.swp
文件。
你认为发生了什么事?如果您必须重现该问题,什么会导致出现交换文件?
答案1
.swp 文件不是操作系统意义上的交换文件。它是一个状态文件。它保留自上次保存以来的更改(最后 200 个字符除外)、已保存的缓冲区、未保存的宏和撤消结构。
您可以在 VIM 的帮助中阅读更多内容:vim +help\ swap-file
。如果发生崩溃(电源故障、操作系统崩溃等),您可以使用此交换文件恢复您的更改。将交换文件中的更改保存到原始文件后,您需要退出 vim 并自行删除交换文件。
答案2
答案3
.swp 文件只不过是您编辑器(通常是 vim)创建的一种锁定文件,以指示该文件正在被编辑。这样,如果您在另一个 vim 实例中打开该文件,或者网络中有人这样做,他们会看到一条警告,表明该文件正在编辑。
您无需手动删除它们。在编辑器中关闭文件后,编辑器将删除交换文件。
答案4
我刚刚对一个 31GB 文件执行了 mv 命令,并创建了一个 13GB 的 .swp 文件,没有涉及任何编辑。
mv X.csv Y.csv
创建了 Y.csv 和 .Y.csv.swp
CentOS 6.5,ext4 文件系统