学习shell与shell script 02_vim 的保存恢复与打开时的警告信息

news2025/1/13 16:47:46
[1]+  Stopped                 vim test.txt
$kill -9 %1

[1]+  Stopped                 vim test.txt
$jobs
[1]+  Killed                  vim test.txt

编辑一个文件后,使用Ctrl + z 挂起。然后被不正常中断,导致暂存盘无法通过正常的流程来结束。所以暂存文件就不会消失,而继续保留下来。

Found a swap file by the name ".test.txt.swp"
          owned by: ubuntu   dated: 三 1月 25 14:13:01 2023
         file name: ~ubuntu/test.txt
          modified: YES
         user name: ubuntu   host name: ubuntu-virtual-machine
        process ID: 2287
While opening file "test.txt"
             dated: 三 1月 25 14:11:55 2023

(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 test.txt"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file ".test.txt.swp"
    to avoid this message.

Swap file ".test.txt.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort: 

问题一:可能有其他人或程序同时在编辑这个文件

linux是多人多任务的环境,因此很可能很多人同时在编辑同一个文件。

先找到另外那个程序员,请他将该vim的工作结束,然后你再继续处理;

这个时候,你可以选择一只读方式打开O。Open Read-Only

问题二:在前一个vim的环境中,可能因为某些不明原因导致vim中断(crash)

这个是常见的不正常结束vim 产生的后果。解决方案依据不同的情况而不同。

1)R Recover的意思,此时vim 会载入.filename.swp的文件内容。让你自己决定要不要保存。

不过.filename.swp的文件不会自动删除,需要你手动删除,这样子可以避免每次打开这个文件都会有这个提示

2)如果确认临时文件无用,可以使用D删除这个临时文件,这个时候,会载入man.config,并将旧的.man.config.swp删除后,新建这次会使用新的.filename.swp

Open Read-Only

打开此文件成为只读文件,可以用在你只想要查阅该文件的内容。

比如登录到同学电脑查看配置文件,结果发现对方正在编辑时候,可以使用这个模式。

Edit anyway

还是使用正常方式打开你要编辑的文件,并不会载入暂存的文件。不过很容易出现两个用户互改变

对方的文件等问题

Recover

就是加载临时文件的内容,用在你救回之前未保存的工作。不过当你救回来并保存离开vim后,需要手动删除那个暂存文件

Delete it 

直接删除暂存的文件的内容,用在你要救回之前未保存的工作。这个比较常见,因为你不确定这个暂存文件是怎么来的。所以删除他

Quit

退出,不做任何操作

Abort

忽略这个编辑行为,感觉上与quit非常类似

打开test.txt

Ctrl + z 将vim后台挂起,然后使用kill -9  %1来模拟vim非正常中断。

[1]+  Stopped                 vim test.txt
$kill -9 %1

[1]+  Stopped                 vim test.txt

E325: ATTENTION
Found a swap file by the name ".test.txt.swp"
          owned by: ubuntu   dated: 三 1月 25 15:13:01 2023
         file name: ~ubuntu/test.txt
          modified: YES
         user name: ubuntu   host name: ubuntu-virtual-machine
        process ID: 61570
While opening file "test.txt"
             dated: 三 1月 25 15:11:54 2023

(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 test.txt"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file ".test.txt.swp"
    to avoid this message.

Swap file ".test.txt.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

使用R  Recover

发现内容是非正常中断之前的内容。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AHB协议(2/2)

Charpter 4 Bus Interconnection 4.1 互联结构 互联结构在系统中提供了M端和S端的连接。单一的M端只需要使用一个解码器和多路选择器。 一个多M端的系统中需要使用提供仲裁和将信号从不同的M端分发到对应的S端的互联结构。分发结构需要地址,控制信号和写数据。 4…

ARM uboot的常用命令

一、uboot 的常用命令1 1、类似 linux 终端的行缓冲命令行 (1) 行缓冲的意思就是:当我们向终端命令行输入命令的时候,这些命令没有立即被系统识别,而是被缓冲到一个缓存区(也就是系统认为我们还没有输入完)&#xff…

2.5 变量与常量

文章目录1.变量1.1 变量的声明1.2 变量的命名1.3 变量的初始化1.4 变量的使用2 常量1.变量 和其他的编程语言一样,JAVA也是用变量来存储值的,常量可以理解为一种特殊的变量,其特殊在它的值是不变的。 1.1 变量的声明 声明变量本质就是创造…

自动驾驶感知——环境感知的基本概念

文章目录1. 智能汽车概述1.1 汽车新四化1.2 智能网联汽车1.3 SAE J3016自动驾驶分级标准2. 环境感知定义2.1 智能网联汽车系统架构2.2 环境感知定义及对象3. 各类传感器的介绍4. 环境感知经典算法概述5. 自动驾驶仿真软件的功能5.1 背景介绍5.2 自动驾驶仿真软件平台背后的科学…

(二十六)Set系列集合

简介: Set集合,基础自Collection。特征是插入无序,不可指定位置访问。Set集合的实现类可说是基于Map集合去写的。通过内部封装Map集合来实现的比如HashSet内部封装了HashMap。Set集合的数据库不能重复( 或 eqauls)的元素Set集合的…

AxMath使用教程(持续更新中)

前言 这两天学了学Latex,主要是为了以后写毕业论文做铺垫,而且Latex在数学公式这一方面,要比Word方便许多,于是我就下载了一款国产的公式编辑器——AxMath。永久会员不贵,只要36元,而且软件很好用&#xf…

【自然语言处理】情感分析(一):基于 NLTK 的 Naive Bayes 实现

情感分析(一):基于 NLTK 的 Naive Bayes 实现朴素贝叶斯(Naive Bayes)分类器可以用来确定输入文本属于某一组类别的概率。例如,预测评论是正面的还是负面的。 它是 “朴素的”,它假设文本中的单…

机器学习: Label vs. One Hot Encoder

如果您是机器学习的新手,您可能会对这两者感到困惑——Label 编码器和 One-Hot 编码器。这两个编码器是 Python 中 SciKit Learn 库的一部分,它们用于将分类数据或文本数据转换为数字,我们的预测模型可以更好地理解这些数字。今天&#xff0c…

图机器学习-节点嵌入(Node Embedding)

图机器学习-节点嵌入(Node Embedding) Node Embedding简单点来说就是将一个node表示为一个RdR^dRd的向量。 EncoderDecoder Framework 我们首先需要设计一个encoder对节点进行编码。既然要比较相似度那么我就需要定义节点的相似度。同时我们还需要定义一个decoder&#xff0…

Java线程的生命周期的五种状态

在java中,任何对象都要有生命周期,线程也不例外,它也有自己的生命周期。当Thread对象创建完成时,线程的生命周期便开始了,当run()方法中代码正常执行完毕或者线程抛出一个未捕获的异常(Exception)或者错误(Error)时&am…

通信原理简明教程 | 数字基带传输

文章目录1数字基带传输系统的基本组成2 数字基带信号及其频域特性2.1 基本码型2.2 常用码型2.3 数字基带信号的功率谱3 码间干扰3.1 码间干扰的概念(ISI)3.2 无码间干扰传输的条件3.3 无码间干扰的典型传输波形4 部分响应和均衡技术(*&#x…

java+ssm网上书店图书销售评价系统

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 2 第3章 系统分析 4 3.1 需求分析 4 3.2 系统可行性分析 4 3.2.1技术可行性:技术背景 4 3.2.2经…

【蓝桥云课】位运算

一、原码、反码、补码 原码:符号位(正数为0、负数为1)二进制数 反码:正数的反码正数的原码;负数的反码负数的原码除符号位外按位求反 补码:正数的补码正数的反码;负数的补码负数的反码1 整数原…

基于SPN实现的密码学课程设计(附完整代码)

就是如图所示的一个过程! 1.1 初次写SPN 初代SPN 为了方便的使用S盒P盒的那些运算(直接使用数组, 而不使用位运算),所以想起了C语言课上学的

HTML基本常用标签

<!doctype html> <html> <head> <title>HTML的常用标签</title> <meta charset"UTF-8"> <!-- 这行代码是告诉浏览器使用UTF-8字符集打开; 而不是设置当前页面的编码方式 --> </head> <bo…

SSH命令

概念 安全外壳协议&#xff08;Secure Shell Protocol&#xff0c;简称SSH&#xff09;是一种加密的网络传输协议&#xff0c;可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中建立安全隧道&#xff08;secure channel&#xff09;来实现SSH客户端与服务器之间…

结构体的内存对齐与位段的实现

本篇文章重点介绍结构体相关知识以及深入介绍的结构体的内存对齐与位段的实现 ———————————— 内存对齐位段——————————————————一.结构体1.结构体类型的声明1.1基础知识1.2声明1.3特殊声明1.4结构体的自引用1.5结构体变量的定义和初始化与访问2.结…

C 语言零基础入门教程(八)

C 判断 判断结构要求程序员指定一个或多个要评估或测试的条件&#xff0c;以及条件为真时要执行的语句&#xff08;必需的&#xff09;和条件为假时要执行的语句&#xff08;可选的&#xff09;。 C 语言把任何非零和非空的值假定为 true&#xff0c;把零或 null 假定为 false…

JVM快速入门学习笔记(四)

15.GC &#xff1a;垃圾回收机制 垃圾回收的区域只有在堆里面&#xff08;方法区在堆里面&#xff09; 15.1 垃圾回收 GC JVM 在进行垃圾回收&#xff08;GC&#xff09;时&#xff0c;并不是堆这三个区域统一回收。大部分时候&#xff0c;回收都是新生代~   1.新生代   …

Opencv项目实战:19 手势控制鼠标

目录 0、项目介绍 1、效果展示 2、项目搭建 3、项目代码展示 HandTrackingModule.py VirtualMouse.py 4、项目资源 5、项目总结 0、项目介绍 在Opencv项目实战&#xff1a;15 手势缩放图片中&#xff0c;我们搭建了HandTrackingModule模块&#xff0c;但在这里你还得用…