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

RHCA实战vim精要:27个高危高频命令与防错校验链 vi/vim是Linux系统运维的基础交互界面,其核心价值在于无GUI、无网络、无辅助工具的极端约束下实现精准、原子、可逆的文本编辑。它遵循POSIX vi标准,强调模式切换逻辑、光标确定性与命令最小化路径,广泛应用于配置修复、日志调试、权限管理等关键场景。在Red Hat认证体系(如RHCE/RHCA)中,vim能力直接决定排障效率与考试成败——从修改ifcfg-ens33网络配置、修复sudoers语法,到处理sshd_config、fstab及容器平台ConfigMap,每个操作都需兼顾SELinux 阅读详情
[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

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

vim 出现 Another program may be editing the same file. If this is the case 的解决方法 通过vim或者vi编辑文件的时候出现如下所示:终端显示如下: 截图如下: 在linux中系统为了保证安全性,如果文件遭到不一 比如多人编辑这个文件导致文件的不一、上次编辑没有正常退出等 会将其文件后缀生成一个swp格式的文件(临时交换文件,主要备份缓冲区内容)保存或者写入文件的方式无误,一般swp格式文件都会自动删除,如果写入有误,临时文件就会一直存在,再次编辑的时候就会一直指到改文件将其删除重新编辑或者恢复重新编辑即可通过ls -al查看全部文件的时候 可以看到swp格式(隐藏临时文件,临时缓冲区) v 阅读详情

相关推荐

问题:dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)

 1. 问题:Ubuntu安装软件的过程中出现依赖项的问题 “E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).” 按照指示执行如下两条命令都没有解决问题。 sudo apt-get -f install sudo apt-get --fix-broken ...

gloria_littlechi的博客 2万+

Linux打开文件报错E325解决方法

Linux打开文件报错E325解决方法

whx02046的博客 5150

408计算机复试专业课问答汇总

408计算机复试专业课问答汇总

weixin_45930223的博客 3699

Another program may be editing the same file.使用vim时,文件被另一个程序打开——已解决

解决由于误操作,导致vim被另一个程序正在编辑的问题

Hello_World_222的博客 2569

Win11实时字幕还能这么玩?手把手教你打造专属‘AI字幕机’,告别视频网站无字幕困扰

本文详细介绍了如何利用Win11的实时字幕功能打造全平台通用的AI字幕系统。通过C#抓取程序、Node.js中转服务和前端展示界面的组合,实现自动抓取系统字幕并实时推送到任意网页视频的方案,有效解决在线视频无字幕的困扰。

weixin_33735077的博客 393

SRC漏洞挖掘实战:从攻击面管理到业务逻辑漏洞的精准狩猎

在网络安全领域,漏洞挖掘是识别和利用软件系统中安全弱点的核心实践。其基本原理在于通过系统化的方法,识别和评估一个应用或系统的攻击面,并从中定位安全防护的薄弱环节。这项技术的价值在于能够主动发现潜在风险,防患于未然,对于保障企业数字资产安全至关重要。典型的应用场景包括对Web应用、移动端API以及各类在线业务系统的安全性评估。在实际的漏洞挖掘,尤其是针对安全应急响应中心(SRC)的实战中,高效的策略往往聚焦于**边缘资产**的发现与利用,以及对**业务逻辑漏洞**的模式化测试。掌握这些经过验证的思路,能帮助安

babing2770的博客 415

vim编辑未保存,再次编辑报错问题解决

因为vim编辑文档未保存。再次编辑同一个文件时出现报错的解决 E325: ATTENTION Found a swap file by the name “.oldboy.txt.swp” owned by: root dated: Sun Dec 23 22:41:46 2018 file name: /oldboy/oldboy.txt modified: YES user name: root host name: oldboyedu01-nb process ID: 8244 (still run

u013008898的博客 1987

龙虾机器人(OpenClaw)本地部署完全技术指南

在开始部署之前,我们需要明确部署的对象。通常所说的“龙虾机器人”指的是开源项目 OpenClaw(曾用名:Clawdbot、Moltbot)。它由程序员彼得·斯坦伯格开发,是一个开源的、可本地部署的通用型AI代理系统。与ChatGPT等对话式AI不同,OpenClaw被赋予了操作系统的权限:它可以执行终端命令、读写文件、操控浏览器、安装软件,甚至通过MCP协议调用外部工具。

huanghm88的专栏 2万+

vi打开文件提示Another program may be editing the same file

linux下两个人同时打开同一个文件会显示如下界面,而有的时候只有一个账户的时候也有这个提示,此时的处理思路是:由于上次没有关闭打开的文件造成的,结束掉进程即可如两个用户同时打开:vi install.log    会有一个用户有此提示E325: ATTENTIONFound a swap file by the name ".install.log.swp"          owned by:...

ljk168的专栏 2万+

黑猫带你学UFS协议第17篇:UFS安全模式详解(Secure Mode)

本文详细介绍了UFS协议中的安全模式,包括Erase, Discard, Purge和Wipe Device操作。Erase用于永久删除数据并确保无法恢复;Discard不保证数据清除;Purge类似于Sanitize,清除内部未映射的物理块数据;Wipe Device则是格式化设备。这些操作涉及逻辑单元、擦除单位、相关寄存器配置等,确保数据安全。" 126036669,12409270,MySQL 8.0 开窗函数详解,"['数据库理论', 'SQL']

黑猫奥利奥的博客 2560

NVIDIA Isaac Lab 入门教程(一)

Isaac Lab 是一个用于机器人学习的统一模块化框架,旨在简化机器人研究中的常见工作流程(如 RL、从演示中学习和运动规划)。它建立在英伟达 Isaac Sim 的基础上,利用最新的仿真功能实现逼真的场景和快速高效的仿真。该框架的核心目标是Isaac Lab 的主要功能包括:由 PhysX 提供的快速准确的物理模拟、用于矢量化渲染的平铺渲染 API、用于提高鲁棒性和适应性的域随机化,以及对在云中运行的支持。有关该框架的更多信息,请参阅论文[MYY+23]。

机器人控制与仿真应用 8218

Linux——vim的使用

Linux关于vim使用的一些命令、知识点和练习。。。

qq_52117201的博客 1万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Linux最全linux中强大的vim你还是只会普通的编辑保存内容?,2024年最新看完这一篇就够了

为了做好运维面试路上的助攻手,特整理了上百道,让你面试不慌心不跳,高薪offer怀里抱!这次整理的面试题,本份面试集锦涵盖了1、什么是运维?2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?3、现在给你三百台服务器,你怎么对他们进行管理?4、简述raid0 raid1raid5二种工作模式的工作原理及特点5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

2401_84139587的博客 943

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Linux基础篇(02)Bash使用和Shell脚本编写

shell概述 一、shell 和 shell 脚本 Shell 是一个用 C 语言编写的程序,提供了一个界面,用户通过这个界面访问操作系统内核的服务。Shell 既是一种命令语言,又是一种程序设计语言 Shell 脚本是一种为 shell 编写的脚本程序,通常所说的 shell 通常都是指 shell 脚本,但本质上 shell 和 shell script 是两个不同的概念,一般情况下我们所...

stanwuc的博客 1104

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

好玩的!Shell脚本——炸弹爆炸

零基础学Shell,一个有趣的“炸弹倒计时”脚本,它可以模拟一个炸弹的倒计时效果,但不用担心,它只会用文字来吓唬你,了解执行权限

2403_82491400的博客 947

echo 在shell及脚本中显示色彩及闪烁警告效果

在shell脚本编写中,echo用于输出字符串等提示信息,当我们需要格外显示色彩及闪烁效果如下: 一、在执行shell中显示色彩: 语法格式: echo -e "\033[颜色1:颜色2m 要展示的文字 \033[0m" 说明: -e选项:表示允许反斜杠(对字符)转义。 \033[颜色1;颜色2m:称为转义序列,它本身是一个整体,中间不要有空格。 \033[:转义序列的开始。...

weixin_30835649的博客 4089

Vim 编辑器平时使用到的功能总结

vim文件编辑器 [重点] vim 是一个强大的文件编辑工具, 学习文件编辑之前, 首先要学习一下文件编码格式: vim 是 vi的高级扩展, 如果Linux为最小安装版是不包含vim的,只能使用vi编辑 vim 对比vi 可以支持语法格式高亮显示, 语法检查等 文件编码格式 1:在vim中通过set属性, 修改当前文件编码: :set fileencoding=utf-8 enc...

muzi_since的博客 1283

systemd系统调试:debug-shell与紧急模式

系统启动故障是每个Linux系统管理员都会遇到的挑战。当系统无法正常启动时,如何快速定位问题并恢复服务至关重要。systemd作为现代Linux系统的初始化系统,提供了强大的调试工具——debug-shell和紧急模式(emergency mode),帮助管理员在系统启动失败时进行诊断和修复。 本文将深入解析这两个关键调试功能的工作原理、使用场景和最佳实践,让你在系统故障时能够从容应对。 ##...

gitblog_01063的博客 911

Cotowali工具链深度体验:lish交互式Shell与kuqi LSP的5个上手技巧

Cotowali 是一门编译为 POSIX sh 脚本的静态类型语言,其工具链包含三大核心命令:`lic` 编译器、`lish` 交互式 Shell 和 `kuqi` LSP 语言服务器。本文将带你快速掌握 Cotowali 交互式 Shell 的使用方法,并配置 kuqi 编辑器诊断能力,从零开始体验完整的 Cotowali 开发工作流。 ## 一、认识 Cotowali 工具链:3 个命令搞

gitblog_00428的博客 433

Mysqldump远程备份、恢复mysql数据库

本地通过Mysqldump备份远程服务器上mysql的数据库:1、远程地址 直接上shell脚本#!/bin/bashd=`date +'%Y%m%d_%H_%M_%S'`mysqldump -h mysql.rds.aliyuncs.com -u user -p'passwd' dbname | gzip > dbname.sql.gz_$drm `find ./ -name "cgwy.sq

抱抱熊的博客 1万+

zabbix钉钉报警(shell)

参考博主的文章: https://www.cnblogs.com/LyShark/p/10884630.html 本次测试官方详细注释: 钉钉官方文档 zabbix内置宏 zabbix自定义脚本 zabbix发送消息 不是本章重点直接贴图,不做详解 一、创建监控项 二、创建触发器 三、配置钉钉 四、创建报警脚本 参看文档 1、查看官方提示 2、创建脚本 vim healthcheckv1.sh #!/usr/bin/bash sendkey=钉钉token值 curl 'https:/

qq_37377136的博客 2900

fish-functions:提升 Fish Shell 用户体验的强大工具集

fish-functions:提升 Fish Shell 用户体验的强大工具集 在现代软件开发和日常工作中,Shell 脚本的使用越来越普遍。Fish Shell,以其用户友好的特性,已经成为了许多开发者的首选。今天,我们要介绍的 fish-functions 项目,是一组为 Fish Shell 设计的功能函数,它们能让常见任务的处理变得更加便捷。 项目介绍 fish-functions 是一系...

gitblog_00494的博客 272

vim学习笔记(10):vim命令大全

1 进入vim的命令: 2 3 vim filename :打开或新建文件,并将光标置于第一行首 4 5 vim +n filename :打开文件,并将光标置于第n行首 6 7 vim + filename :打开文件,并将光标置于最后一行首 8 9 vim +/pattern filename...

weixin_34150830的博客 120

shell常实用命令

利用ssh远程执行服务器命令 fuction expect_server() { expect <<EOF set timeout 1000 spawn $@ expect { "(yes/no)?" {send "yes\r"; exp_continue} "asswor*" {send "${SERVER_PASSWD}\r"; exp_continue} eo...

weixin_41469272的博客 7559
上一篇: 学习shell与shell script 01_vi与vim
下一篇: shell 脚本中类似添加断点的功能
sinat_36070482
博客等级 码龄10年 118粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值