【Linux】软件包管理器 yum | vim编辑器

在这里插入图片描述

前言:
软件包管理器 yum和vim编辑器讲解


文章目录

  • 软件包管理器 yum
  • 编辑器-vim
    • 四种模式
    • 普通模式
    • 批量化注释和批量化去注释
    • 末行模式
    • 临时文件

软件包管理器 yum

yum(Yellowdog Updater, Modified)是一个在基于 RPM(管理软件包的格式和工具集合) 的 Linux 发行版中用于管理软件包的工具,它提供了一种简单而强大的方式来安装、更新和删除软件包,同时也能够自动解决软件包之间的依赖关系。类似于应用商城。

yum 实现软件包的下载安装

  • 软件仓库:yum 的工作是基于软件仓库的概念的。软件仓库是一个集中存放软件包的地方,用户可以从中获取所需的软件包。yum 默认会访问系统预先配置的软件仓库。
  • 软件包搜索:用户可以使用 yum 来搜索软件包,yum 会从软件仓库中查找与关键字匹配的软件包。
  • 软件包下载:当用户通过 yum 安装或更新软件包时,yum 会检查软件仓库中是否有所需的软件包及其依赖关系。如果有,yum 将自动下载所需的软件包及其依赖关系,并安装到系统中。

yum的相关操作

  • 搜索相关软件
    通过 yum list 列出系统中的软件包信息,并将输出发送到 grep 命令,然后 grep 命令搜索包含 “sl” 字符串的内容,并将符合条件的结果显示出来。

    yum list | grep sl
    

    在这里插入图片描述

  • 安装软件
    安装名为 “sl” 的软件包及其对应的 x86_64 架构版本。安装软件需要sudo指令或者root用户

    [sudo/root用户] yum [-y] install sl.x86_64
    

    安装成功,可以加上 [-y] 不再询问
    在这里插入图片描述
    sl执行,小火车
    在这里插入图片描述

  • 卸载软件

    [sudo/root用户] yum remove -y xxx软件名
    

base和epel两个常见的 yum 软件仓库

  1. base:“base” 仓库是 CentOS 发行版的默认软件仓库之一,包含了 CentOS 官方支持的核心软件包。这些软件包经过官方审核和测试,可以被认为是稳定和可靠的。
  2. epel:“epel” 是 “Extra Packages for Enterprise Linux” 的缩写,它是一个由 Fedora 社区维护的第三方软件仓库,提供额外的许多不在官方软件仓库中的软件包。

一般情况下,epel需要我们自己安装,而base已经内置好了

安装epel仓库

[sudo/root用户] yum -y install epel-release

yum本地配置
配置云服务器的 yum 源,这里我们以更改 CentOS 的 base 软件仓库为例:

  1. 备份原配置文件:
    在进行任何更改之前,建议备份 /etc/yum.repos.d/ 目录下所有的 yum 源配置文件,以防止出现意外情况。这里我们仅配置base仓库,所以只备份CentOS-Base.repo即可

    mv /etc/yum.repos.d/CentOS-Base.repo  /etc/yum.repos.d/CentOS-Base.repo.backup
    
  2. 配置新的文件
    这里我们先安装wget,是一个命令行工具,用于从网络上下载文件

    yum install wget
    

    接着我们通过阿里云的镜像站点https://mirrors.aliyun.com/repo,下载配置文件,并将其保存到系统中。-0将下载的文件保存为指定的文件名。

    wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    
  3. 清理 Yum 缓存

    yum clean all
    
  4. 重新生成 Yum 缓存

    yum makecache
    
  5. 升级系统中的软件包

    yum update
    

编辑器-vim

vim 是一款功能强大的文本编辑器,常用于在终端环境下编辑文本文件。

打开文件
要在 vim 中打开一个文件,可以在终端中输入以下命令:

vim 文件名

四种模式

在这里插入图片描述
在可视化,替换,末行或插入模式下 esc 返回普通模式


在 vim 中,四种主要模式(普通模式、插入模式、可视模式和末行模式):

  1. 普通模式(Normal Mode)

    • 在普通模式下,你可以执行命令来移动光标、删除、复制、粘贴等操作。
    • 当你不输入任何命令或按键时,通常就处于普通模式下。
  2. 插入模式(Insert Mode)

    • 在编辑模式下,你可以输入和编辑文本。
    • 进入编辑模式的常见方式是按下 i 键,在这之后,你可以开始输入文本; 按下 a 键,光标会移动到当前位置的下一个字符;按下 o 键,会在光标的下方打开一个新的空行,并将光标移动到新行的起始位置,从而可以开始输入文本。
  3. 可视模式(Visual Mode)

    • 在可视模式下,你可以选择文本块以进行复制、剪切或其他操作。
    • 进入可视模式的常见方式是按下 Ctrl + v 键,然后你可以移动光标来选择文本。
  4. 末行模式(Command-Line Mode)

    • 在命令行模式下,你可以输入各种命令,如保存文件、退出 Vim 等。
    • 进入命令行模式的常见方式是按下 shift + ; 键,然后你可以输入命令并按下回车键执行。
    • 命令行通常位于编辑区域的底部。

普通模式

普通模式下的主要操作:

  1. 移动光标

    • 使用箭头键或 hjkl 键来分别向左、下、上、右移动光标。
    • gg 将光标定位在整个文本的开头,shift + g 将光标定位在整个文本的最后一行,n +shift + g 将光标定位到整个文本的任意一行。
    • shift + 4 将光标定位到当前行的结尾, shift + 5 将光标定位到当前行的开头。
    • w移动到下一个单词的开头、b移动上一个单词的开头、e 移动当前单词的末尾等位置。
  2. 删除文本

    • n + x 键删除光标所在位置及以后的共n个字符。
    • n + shift + x 键删除光标所在位置及之前的共n个字符。
    • dwdbde 等键删除当前单词、光标前一个单词、从光标位置到当前单词末尾的文本等。
    • n +dd 删除当前行及后面的n行。
  3. 复制和粘贴

    • n+yy 复制当前行及后面的n行。
    • n+p 粘贴n次。
  4. 撤销和重做

    • u 撤销上一步操作。
    • Ctrl + r 重做上一步被撤销的操作。
  5. 替换字符

    • n + r 对当前光标所在位置的字符替换为你输入的字符,并且重复该操作 n 次,每次替换一个字符。
  6. 切换大小写

    • shift+ ` 切换大小写。
  7. 保存并退出

    • shift + zz

批量化注释和批量化去注释

Ctrl + v 进入可视化模式,h j k l 区域选择,shift + i 进入插入模式,// 在第一行加上,esc 一次
Ctrl + v 进入可视化模式,h j k l 区域选择(仅包含//),shift + i 进入插入模式,dd


末行模式

  • w:保存
  • q:退出
  • !:强制
  • set nu:打开行号
  • nonu:关闭行号
  • /关键字:搜索
  • !command:不退出vim,执行命令
  • vs filename:分屏,多文件操作,Ctrl + ww 切换窗口

临时文件

在 Vim 中,临时文件通常是以 .#filename 的形式存在,其中 filename 是你正在编辑的文件名。这些临时文件存放在同一目录下,并以 .# 开头,用来保存 Vim 的临时编辑信息,包括未保存的更改等。这些临时文件在 Vim 正常退出时会被自动删除,但在异常退出或者编辑过程中可能会残留下来。

如果你想要查找和处理临时文件,你可以执行以下步骤:

  1. 在文件所在目录中查找:在你的文件所在的目录中使用文件管理器或者终端,查找以 .# 开头的文件。

  2. 清理临时文件:一旦找到了临时文件,可以将其删除,或者备份到其他地方以便之后检查。在删除之前,确保你不需要其中的任何信息。

  3. 恢复未保存的更改:如果你在异常退出前有未保存的更改,可以尝试使用 :recover filename 命令来恢复。如果找到相应的临时文件,Vim 将尝试加载其中的内容并恢复未保存的更改。

在这里插入图片描述

这个提示是 Vim 在打开文件时检测到已存在相同名称的交换文件(Swap file)。交换文件通常用于在编辑期间保存未保存的更改,以便在 Vim 异常退出或者编辑过程中丢失时进行恢复。

根据提示,你可以选择以下操作:

  • [O]pen Read-Only:以只读方式打开文件,这样你就可以查看但不能编辑文件。
  • (E)dit anyway:无论交换文件是否存在,强制打开文件进行编辑。
  • (R )ecover:恢复之前的编辑会话,加载交换文件中的内容并继续编辑。
  • (Q)uit:退出 Vim,不打开文件。
  • (A)bort:中止打开文件的操作。

在这里插入图片描述
如果你喜欢这篇文章,点赞👍+评论+关注⭐️哦!
欢迎大家提出疑问,以及不同的见解。

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

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

相关文章

如何将多张图片变成一张?一个工具在线分享

如何将多张图片变成一张gif动图?现在gif动图非常受大家的欢迎我们想要将自己手中的多张图片变成一张gif动图时应该怎么制作呢?通过使用在线图片合成(https://www.gif.cn/)工具,不需要下载软件,手机、pc均可…

(01)Hive的相关概念——架构、数据存储、读写文件机制

目录 一、架构及组件介绍 1.1 Hive整体架构 1.2 Hive组件 1.3 Hive数据模型(Data Model) 1.3.1 Databases 1.3.2 Tables 1.3.3 Partitions 1.3.4 Buckets 二、Hive读写文件机制 2.1 SerDe 作用 2.2 Hive读写文件流程 2.2.1 读取文件的过程 …

Pinia 官网速通

前言:参考 Pinia 中文文档,在 Vue3 配合 ts 中的使用。 一:介绍 1. 什么是 Pinia Pinia 是 Vue 的存储库,允许跨组件/页面共享状态。 1.1. 为什么要使用 Pinia? 热模块更换、保持任何现有状态、使用插件扩展 Pinia …

Opencv实战(1)读取与图像操作

Opencv 文章目录 Opencv一、读取图片1.imshow2.namedWindow3.imshow4.效果图 二、像素操作(1).访问像素1. at()2.Mat_ (2).遍历像素1.指针遍历2.迭代器遍历 (3).threshold(4).通道分离1.split2.merge (5)Gamma矫正 三、深浅拷贝 一、读取图片 1.imshow Mat imread(const stri…

DS:八大排序之归并排序、计数排序

创作不易,感谢三连支持!! 一、归并排序 1.1 思想 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide andConquer)的一个非常典型的应用。将已有序的子…

【cmu15445c++入门】(9)C++ 智能指针shared_ptr

一、智能指针shared_ptr std::shared_ptr 是一种智能指针,它通过指针保留对象的共享所有权。这意味着多个共享指针可以拥有同一个对象,并且可以复制共享指针。 二、代码 // In this file, well talk about std::shared_ptr, which is a C smart pointer…

LeetCode 第385场周赛个人题解

目录 100212. 统计前后缀下标对 I 原题链接 题目描述 接口描述 思路分析 代码详解 100229. 最长公共前缀的长度 原题链接 题目描述 接口描述 思路分析 代码详解 100217. 出现频率最高的素数 原题链接 题目描述 接口描述 思路分析 代码详解 100212. 统计前后缀…

氢氧化铝市场研究:预计2029年将达到15亿美元

近年来,随着全球工业和建筑业的快速发展,氢氧化铝的需求不断增加。特别是在汽车、航空航天、电子产品等行业中,氢氧化铝的应用越来越广泛。此外,环境意识的提升也推动了氢氧化铝市场的增长,因为其可回收再利用的特性符…

【C++】C++11中

C11中 1.lambda表达式2.可变参数模板3.包装器 1.lambda表达式 在前面我们学习过仿函数。仿函数的作用到底是干什么的呢? 它为了抛弃函数指针! 主要是因为函数指针太难学了 就比如下面这个,看着也挺难受的。 它的参数是一个函数指针&#x…

使用XTuner微调书生·浦语2大模型实战

一、XTuner安装 1、代码准备 mkdir project cd project git clone https://github.com/InternLM/xtuner.git 2、环境准备 cd xtuner pip install -r requirements.txt #从源码安装 pip install -e .[all] 3、查看配置文件列表 XTuner 提供多个开箱即用的配置文件&#xf…

Python 二维矩阵加一个变量运算该如何避免 for 循环

Python 二维矩阵加一个变量运算该如何避免 for 循环 引言正文方法1------使用 for 循环方法2------不使用 for 循环引言 今天写代码的时候遇到了一个问题,比如我们需要做一个二维矩阵运算,其中一个矩阵是 2x2 的,另一个是 2x1 的。在这个二维矩阵中,其中各个参数会随着一个…

devc++跑酷小游戏3.0.0

导航: Dev-c跑酷小游戏 1.0.0 devc跑酷小游戏1.2.5 devc跑酷游戏1.2.6 devc跑酷游戏2.0.0 devc跑酷游戏2.0.1 devc跑酷游戏2.4.0 【更新内容每日废话】 关卡数量没变,每个都微调了一下。作者再此保证能过,都测试过,过不了…

怎样保证数据库和redis里的数据一致性

使用缓存更新策略:在更新数据库时,同时更新Redis中相应的数据。这可以通过编写代码来实现,在数据库更新操作完成后,同步更新Redis中对应的数据。这可以通过在代码中使用事务来保证更新的原子性,确保数据库和Redis中的数…

2月19日

ApplicationContextInitializer SpringBoot 框架在设计之初,为了有更好的兼容性,在不同的运行阶段,提供了非常多的可扩展点,可以让程序员根据自己的需求,在整个Spring应用程序运行过程中执行程序员自定义的代码Applic…

贪心+堆维护,HDU1789Doing Homework again

一、题目 1、题目描述 Ignatius has just come back school from the 30th ACM/ICPC. Now he has a lot of homework to do. Every teacher gives him a deadline of handing in the homework. If Ignatius hands in the homework after the deadline, the teacher will reduc…

【深蓝学院】移动机器人运动规划--第5章 最优轨迹生成--笔记

文章目录 1. Preliminaries2. Multicopter dynamics and differential flatness(多旋翼动力学和微分平坦特性)2.1 Differential Flatness2.2 具体建模2.3 Flatness Transformation的解析推导 3. Trajectory Optimization轨迹优化3.1 Problem formulation…

C++学习Day06之继承中的同名成员处理

目录 一、程序及输出1.1 同名成员变量1.2 同名成员函数 二、分析与总结 一、程序及输出 1.1 同名成员变量 #include<iostream> using namespace std;class Base { public:Base(){this->m_A 10;}void func(){cout << "Base中的func调用" << e…

“利用电子医院记录,针对急性护理环境中的老年人,开发并验证了一项医院脆弱风险评分:一项观察性研究“

总结 背景 年长者在全球范围内成为医疗保健的增长用户。我们的目标是确定是否可以利用常规收集的数据来识别具有虚弱特征并面临不利健康结果风险的年长者。 方法 使用三步方法开发和验证了一种医院脆弱风险评分&#xff0c;该评分基于《国际疾病和相关健康问题统计分类第十次修…

摆(行列式、杜教筛)

有一个 n n n\times n nn 的矩阵 A A A&#xff0c;满足&#xff1a; A i , j { 1 i j 0 i ̸ j ∧ i ∣ j C otherwise A_{i,j}\begin{cases} 1 &ij\\ 0 &i\notj\land i\mid j\\ C &\text{otherwise} \end{cases} Ai,j​⎩ ⎨ ⎧​10C​ijij∧i∣jotherwi…

FPGA时钟资源与设计方法——时钟抖动(jitter)、时钟偏斜(skew)概念讲解

目录 1时钟抖动&#xff08; clock jitter&#xff09;2 时钟偏斜&#xff08;clock skew&#xff09; 1时钟抖动&#xff08; clock jitter&#xff09; 时钟抖动&#xff08;Jitter&#xff09;&#xff1a;时钟抖动指的是时钟周期的不稳定性&#xff0c;即&#xff1a;时钟…