Linux CentOS7 vim临时文件

在vim中,由于断网、停电、故意退出、不小心关闭终端等多种原因,正在编辑的文件没有保存,系统将会为文件保存一个交换文件,或称临时文件,或备份文件。

如果因某种原因产生了交换文件,每次打开文件时,都会提示用户作一定的选择。按提示,录入大写的单字母,就可以进入相应的状态。

交换文件是一种文件保护机制,有重要作用。有时会带来一定困惑,但恰当处理,很容易解决。本文作一初步介绍与讨论。

由于正确使用vim不会产生交换文件,没有意外情况出现,很难看到交换文件。为此,我们特意由强制断开xshell来创建交换文件。实际工作中,可能不会出现(一般新手使用vim不熟练,会多次产生。而操作熟练后,将很难产生了)。

一、创建交换文件

1.编辑文件

为了说明问题,我们在远程终端,以zhangsan用户登录,在/home/zhangsan目录下,用vim编辑一个文件swp_test.txt,录入部分内容后,保存。

列表查看文件信息:

2.创建一个交换文件

为了创建一个交换文件,我们可以这样操作:用vim打开文件,在最后一行添加一部分内容,不保存,断开终端。重新连接终端,切换到家目录,查看文件,就会发现一个交换文件。

a.重新打开文件

        vim swp_test.txt

b.修改文件

3.断开连接

我们不保存文件,直接断开xshell连接

4.重新连接

选择xshell文件,选择“重新连接”

5.查看文件

        ls -Alrt

6.打开文件

我们再次用vim打开文件swp_test.txt

        vim swp_test.txt

将出现交换文件提示,选择最后一行中任意一项(直接按大写字母),进行下一步操作:

        O  以只读方式打开:文件不允许编辑,不能保存(可以另存,但成为了另一个文件)

        E  直接编辑:文件以原来保存的内容显示,可以重新修改、编辑(交换文件仍存在)

        R  恢复:文件以交换文件保存的内容显示,可以重新修改、编辑(交换文件仍存在)

        D  删除交换文件:交换文件删除后不再存在

        Q  退出:查看此信息后,不作处理,退出vim编辑

        A  中止:与Q类似,退出vim

为了更多验证交换文件,我们选择Q,退出vim。

二、创建第二个交换文件

我们重新创建一个xshell连接,以root用户登录,切换到/home/zhangsan目录下,用vim再次编辑文件swp_test.txt。

1.登录后切换目录

登录成功后,我们先切换到zhangsan家目录。

2.查看文件信息

  执行命令ls  -al

可以看到交换文件的存在。

3.选择直接编辑

我们选择E,直接编辑原文件。

在显示的文件内容中,可以看到是原来的文件,没有第一次修改后的任何信息。

我们再次录入部分内容后,不保存

4.再次断开与连接xshell

        a.断开xshell

        b.重新连接xshell

        c.切换目录并查看

(1)通过ls命令查看交换文件

(2)通过vim  –r查看交换文件

由查看交换文件信息,可知:

a.交换文件后缀名有变化:从.swp到.swo,再有交换文件,将是.swn .swm..等等

b.每个交换文件信息中都有交换文件的保存时间,都有原文件名,不同的进程号等

5.以交换文件为基础编辑文件

可以执行命令:

        vim –r .swp_test.txt.swo

可以在.swp_test.txt.swo基础上编辑文件swp_test.txt

按enter后:

不作其他修改,保存退出。

再次查看文件信息:

        ls -Alrt

因为没有删除交换的操作,两个交换文件仍存在。

三、创建第三个交换文件

我们重新创建一个xshell连接,以lisi用户登录(lisi用户是root组的用户,相当于指定管理员),用vim再次编辑/home/zhangsan目录下文件swp_test.txt。

1.编辑文件

我们选择E,录入部分内容后,不保存。

2.断开与重连xshell

为了创建新的交换文件,我们断开xshell,并重新连接。

再次查看交换文件信息:

3.选择R

使用命令,再次编辑文件

        sudo vim /home/shangsaan/swp_test.txt

选择D,删除交换文件后,显示原文件内容。

保存后,退出。

再次查看交换文件信息:

当我们再次打开文件时,没有了交换文件提示,可以直接编辑文件了。

注意:此时仍然存在两个交换文件,我们仍然可以用某一个交换文件作为起点,修改原文件。

        sudo vim -r /home/zhangsan/.swp_test.txt.swn

效果如下:

对于没有用的、过时的交换文件,可以删除。命令简单,不作展示。

如果文件没有交换文件,用vim –r选项,将有如下提示,按任意键继续即退出vim编辑。

小结

本文讨论了交换文件产生的原因,处理方法及相关信息查询。有几点需要说明:1.交换文件是系统对文件的一种保护机制,并非多余。2.当同一文件,有多个交换文件时,交换文件后缀名有变化,可以推算出是第几个交换文件。3.可以在用vim编辑文件时,加上-r选项,有交换文件时会有说明,没有交换文件时,会退出vim。4.可以有多种方法删除交换文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/125333.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java】接口 interface

目录 概述 示例代码: 接口成员访问特点 示例代码: 概述 什么是接口 接口就是一种公共的规范标准,只要符合规范标准,大家都可以调用。 Java 中的接口更多的体现在对行为的抽象! 1. 接口 用关键字 interface 修饰 pub…

基于SpringBoot的ElasticSearch操作(超详细教程)

一、ElasticSearch 简介 1、简介 ElasticSearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多员工能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 语言开发的,并作为 Apache 许可条款下的开放源码发布,是一种…

ElasticSearch第四讲:ES详解:ElasticSearch和Kibana安装

ElasticSearch第四讲:ES详解:ElasticSearch和Kibana安装 本文是ElasticSearch第四讲:ElasticSearch和Kibana安装,主要介绍ElasticSearch和Kibana的安装。了解完ElasticSearch基础和Elastic Stack生态后,我们便可以开始…

Pikachu靶场——远程命令执行漏洞(RCE)

文章目录 1. RCE1.1 exec "ping"1.1.1 源代码分析1.1.2 漏洞防御 1.2 exec "eval"1.2.1 源代码分析1.2.2 漏洞防御 1.3 RCE 漏洞防御 1. RCE RCE(remote command/code execute)概述: RCE漏洞,可以让攻击者直接向后台服务器远程注入…

flex布局与几个实例(含源码)

本文简单的说明下flex布局 有源码实例,后续会持续添加 flex默认主轴是横轴 容器主要有6个属性 flex-direction 决定主轴的方向 flex-direction: row | row-reverse | column | column-reverse; flex-wrap 决定是否换行 flex-wrap: nowrap | wrap | wrap-revers…

华为云云耀云服务器L实例评测|Elasticsearch的springboot整合 Kibana进行全查询和模糊查询

前言 最近华为云云耀云服务器L实例上新,也搞了一台来玩,期间遇到各种问题,在解决问题的过程中学到不少和运维相关的知识。 在前几期的博客中,介绍了Elasticsearch的Docker版本的安装,Elasticsearch的可视化Kibana工具…

手搭手Mybatis-Plus多数据源异构数据迁移案例

环境介绍 技术栈 springbootmybatis-plusdruidbaomidoumysqloracledm 软件 版本 mysql 8 IDEA IntelliJ IDEA 2022.2.1 JDK 1.8 Spring Boot 2.7.13 mybatis 2.3.1 pom.xml所需依赖 <dependencies><dependency><groupId>org.springframework.…

6轮面试阿里Android开发offer,薪资却从21k降到17k,在逗我?

一小伙工作快3年了&#xff0c;拿到了阿里云Android开发岗位P6的offer&#xff0c;算HR面一起&#xff0c;加起来有6轮面试了&#xff0c;将近3个月的时间&#xff0c;1轮同级 1轮Android用人部门leader 1轮Android 组leader 1轮项目CTO 1轮HR 1轮HRBP。 一路上各种事件分…

Vue中如何进行响应式图像与图片懒加载优化

Vue中响应式图像与图片懒加载优化 在现代的Web开发中&#xff0c;图像在网站性能和用户体验方面扮演着至关重要的角色。然而&#xff0c;加载大量的图像可能会导致网页加载速度变慢&#xff0c;从而影响用户的满意度。为了解决这个问题&#xff0c;Vue.js提供了一些强大的工具…

联想M7216NWA一体机连接WiFi及手机添加打印机方法

联想M7216NWA一体机连接WiFi方法&#xff1a; 1、首先按打印机操作面板上的“功能键”&#xff1b;【用“”&#xff08;上翻页&#xff09;“-”&#xff08;下翻页&#xff09;来选择菜单的内容】 2、下翻页键找到并选择“网络”&#xff0c;然后“确认键”&#xff1b; 3…

【图像处理】使用各向异性滤波器和分割图像处理从MRI图像检测脑肿瘤(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

讲讲项目里的仪表盘编辑器(二)

应用场景 正常来说&#xff0c;编辑器应用场景应该包括&#xff1a; 编辑器-预览 编辑器 最终运行时 怎么去设计 上一篇推文&#xff0c;我们已经大概了解了编辑器场景。接下来&#xff0c;我们来看预览时的设计 编辑器-预览 点击预览按钮&#xff0c;执行以…