服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - Linux系统下Found a swap file by the name “xxx.swp“问题出现的原因及解决方法

Linux系统下Found a swap file by the name “xxx.swp“问题出现的原因及解决方法

2023-10-15 10:17夹娃夹娃没有头发 Linux

本文主要为大家介绍下Linux系统下Found a swap file by the name “xxx.swp“问题出现的原因及解决方法,有需要的朋友可以参考下

情景再现

我在一次使用vim编辑文件的时候,习惯性的按了ctrl+s想保存,然后屏幕就卡住了,最后我使直接暴力推出了终端,再次编辑想保存的时候就出了下面的警告提示:

E325: ATTENTION
Found a swap file by the name "/etc/.profile.swp"
          owned by: root   dated: Sat Feb  4 10:57:53 2023
         file name: /etc/profile
          modified: YES
         user name: root   host name: TTK-ALI-ESC-1
        process ID: 26006
While opening file "/etc/profile"
             dated: Sat Feb  4 10:59:20 2023
      NEWER than swap file!

(1) Another program may be editing the same file.  If this is the case,
    be careful not to end up with two different instances of the same
    file when making changes.  Quit, or continue with caution.
(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r /etc/profile"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file "/etc/.profile.swp"
    to avoid this message.

Swap file "/etc/.profile.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
问题分析
  1. 按enter可以进入编辑,编辑完wq保存的时候提示E45: 'readonly' option is set (add ! to override),加上!确实可以强制保存,但是这个问题会一直存在
  2. 然后如果我们认真的看了情景再现中的报错信息,那么会发现给你说的已经清清爽爽了,首先大概的意思是发现了一个和你想要编辑的文件同名的xxx.swp文件,拥有者是root,时间是Sat Feb 4 10:57:53 2023,当你想要编辑这个文件的时候,时间比这个swp文件新,大概有点感觉了,像是个版本控制的东西,冲突了。再翻译一下下面大段的(1)(2)
# 翻译
(1)另一个程序可能正在编辑同一个文件。 如果是这种情况,注意不要以相同的两个不同实例结束进行更改时的文件。 退出,或谨慎继续。
(2)此文件的编辑会话崩溃。
     如果是这种情况,请使用 ":recover" 或 "vim -r /etc/profile"
     恢复更改(参见“:help recovery”)。
     如果您已经这样做了,请删除交换文件“/etc/.profile.swp”
     以避免此消息。
  1. 很明显是因为你的编辑会话崩溃了(异常关闭),vim给你在临时文件xxx.swp中保存了上次编辑的内容,然后你再次编辑文件会和上次的编辑产生冲突
解决方法

解决办法在报错信息(2)中已经说的很清楚了使用vim -r /etc/profile打开并编辑,我尝试后发现其实是根据xxx.swp文件来继续完成上次异常退出时的编辑内容。如果你已经这样做了,或者不在乎上次编辑的内容,可以直接删掉xxx.swp文件。

注意

# 先到对应目录下看看是否真的有这个东西,注意这是个隐藏文件,需要加参数-a
ls -a
# 直接删除即可,后面是你自己的那个.xxx.swp文件
rm -rf .profile.swp

再次尝试编辑,问题解决

补充: ctrl+s在linux里是暂停的意思,因此让我产生了一种卡死的错觉,可以用ctrl+q退出这种状态

到此这篇关于Linux系统下Found a swap file by the name “xxx.swp“问题出现的原因及解决方法的文章就介绍到这了,更多相关内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/T1401026064/article/details/128882296

延伸 · 阅读

精彩推荐