【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 软件仓库
- base:“base” 仓库是 CentOS 发行版的默认软件仓库之一,包含了 CentOS 官方支持的核心软件包。这些软件包经过官方审核和测试,可以被认为是稳定和可靠的。
- epel:“epel” 是 “Extra Packages for Enterprise Linux” 的缩写,它是一个由 Fedora 社区维护的第三方软件仓库,提供额外的许多不在官方软件仓库中的软件包。
一般情况下,epel需要我们自己安装,而base已经内置好了
安装epel仓库
[sudo/root用户] yum -y install epel-release
yum本地配置
配置云服务器的 yum 源,这里我们以更改 CentOS 的 base 软件仓库为例:
-
备份原配置文件:
在进行任何更改之前,建议备份 /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
-
配置新的文件
这里我们先安装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
-
清理 Yum 缓存:
yum clean all
-
重新生成 Yum 缓存:
yum makecache
-
升级系统中的软件包:
yum update
编辑器-vim
vim 是一款功能强大的文本编辑器,常用于在终端环境下编辑文本文件。
打开文件
要在 vim 中打开一个文件,可以在终端中输入以下命令:
vim 文件名
四种模式
在可视化,替换,末行或插入模式下 esc 返回普通模式
在 vim 中,四种主要模式(普通模式、插入模式、可视模式和末行模式):
-
普通模式(Normal Mode):
- 在普通模式下,你可以执行命令来移动光标、删除、复制、粘贴等操作。
- 当你不输入任何命令或按键时,通常就处于普通模式下。
-
插入模式(Insert Mode):
- 在编辑模式下,你可以输入和编辑文本。
- 进入编辑模式的常见方式是按下
i
键,在这之后,你可以开始输入文本; 按下a
键,光标会移动到当前位置的下一个字符;按下o
键,会在光标的下方打开一个新的空行,并将光标移动到新行的起始位置,从而可以开始输入文本。
-
可视模式(Visual Mode):
- 在可视模式下,你可以选择文本块以进行复制、剪切或其他操作。
- 进入可视模式的常见方式是按下
Ctrl
+v
键,然后你可以移动光标来选择文本。
-
末行模式(Command-Line Mode):
- 在命令行模式下,你可以输入各种命令,如保存文件、退出 Vim 等。
- 进入命令行模式的常见方式是按下
shift
+;
键,然后你可以输入命令并按下回车键执行。 - 命令行通常位于编辑区域的底部。
普通模式
普通模式下的主要操作:
-
移动光标:
- 使用箭头键或
h
、j
、k
、l
键来分别向左、下、上、右移动光标。 gg
将光标定位在整个文本的开头,shift
+g
将光标定位在整个文本的最后一行,n +shift
+g
将光标定位到整个文本的任意一行。shift
+4
将光标定位到当前行的结尾,shift
+5
将光标定位到当前行的开头。w
移动到下一个单词的开头、b
移动上一个单词的开头、e
移动当前单词的末尾等位置。
- 使用箭头键或
-
删除文本:
- n +
x
键删除光标所在位置及以后的共n个字符。 - n +
shift
+x
键删除光标所在位置及之前的共n个字符。 dw
、db
、de
等键删除当前单词、光标前一个单词、从光标位置到当前单词末尾的文本等。- n +
dd
删除当前行及后面的n行。
- n +
-
复制和粘贴:
- n+
yy
复制当前行及后面的n行。 - n+
p
粘贴n次。
- n+
-
撤销和重做:
u
撤销上一步操作。Ctrl + r
重做上一步被撤销的操作。
-
替换字符
- n +
r
对当前光标所在位置的字符替换为你输入的字符,并且重复该操作 n 次,每次替换一个字符。
- n +
-
切换大小写
shift
+ ` 切换大小写。
-
保存并退出
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 正常退出时会被自动删除,但在异常退出或者编辑过程中可能会残留下来。
如果你想要查找和处理临时文件,你可以执行以下步骤:
-
在文件所在目录中查找:在你的文件所在的目录中使用文件管理器或者终端,查找以
.#
开头的文件。 -
清理临时文件:一旦找到了临时文件,可以将其删除,或者备份到其他地方以便之后检查。在删除之前,确保你不需要其中的任何信息。
-
恢复未保存的更改:如果你在异常退出前有未保存的更改,可以尝试使用
:recover filename
命令来恢复。如果找到相应的临时文件,Vim 将尝试加载其中的内容并恢复未保存的更改。
这个提示是 Vim 在打开文件时检测到已存在相同名称的交换文件(Swap file)。交换文件通常用于在编辑期间保存未保存的更改,以便在 Vim 异常退出或者编辑过程中丢失时进行恢复。
根据提示,你可以选择以下操作:
- [O]pen Read-Only:以只读方式打开文件,这样你就可以查看但不能编辑文件。
- (E)dit anyway:无论交换文件是否存在,强制打开文件进行编辑。
- (R )ecover:恢复之前的编辑会话,加载交换文件中的内容并继续编辑。
- (Q)uit:退出 Vim,不打开文件。
- (A)bort:中止打开文件的操作。
如果你喜欢这篇文章,点赞👍+评论+关注⭐️哦!
欢迎大家提出疑问,以及不同的见解。
相关文章:

【Linux】软件包管理器 yum | vim编辑器
前言: 软件包管理器 yum和vim编辑器讲解 文章目录 软件包管理器 yum编辑器-vim四种模式普通模式批量化注释和批量化去注释末行模式临时文件 软件包管理器 yum yum(Yellowdog Updater, Modified)是一个在基于 RPM(管理软件包的格式和工具集合&…...
vue常见问题
文章目录 data为什么是一个函数,而不是一个对象?什么情况下可以使用对象?key的作用,为什么不能用Index?render函数,h函数,和template什么关系?vue 是怎么解析template的? template会…...

ArcgisForJS基础
文章目录 0.引言1.第一个ArcgisForJS应用程序1.1.安装部署ArcgisForJS1.2.实现ArcgisForJS应用程序 2.开发与调试工具2.1.集成开发环境2.2.调试工具2.3.Firebug 0.引言 ArcGIS API for JavaScript是一款由Esri公司开发的用于创建WebGIS应用的JavaScript库。它允许开发者通过调…...

白话微机:5.解释串行接口以及一些考研面试问题
一. 前言(回顾世界观) 很久很久以前,有这样一个世界,这个世界有着现实世界一样的元素:那里的人又有一个别的名字叫做“数据”,人有0有1;人们也有住房,这些住房在这个世界叫做“存储器…...

版本控制(Git)
Fork 本课程网站的仓库 将版本历史可视化并进行探索是谁最后修改了 README.md文件?(提示:使用 git log 命令并添加合适的参数)最后一次修改_config.yml 文件中 collections: 行时的提交信息是什么?(提示&am…...

USB-C音频转接器:实现边充电边听歌的新选择 | LDR6020P
随着科技浪潮的推进,Type-C接口已逐渐成为电子设备的主流选择,以其正反随意插、高速传输和强大功能等独特优势,在日常生活中占据越来越重要的地位。而Type-C音频转接器,作为连接Type-C接口与音频设备的桥梁,正引领着音…...
C/C++ 怎么把多个静态库给整合成一个静态库?
来源:https://www.wikitechy.com/tutorials/linux/how-to-merge-two-ar-static-libraries-into-one 使用 libtool (这也是可移植性最强的方式)(但这通常要求两个子库也是 libtool 制作的) libtool --modelink cc -static -o libaz.la libab…...

OBD部署OceanBase集群-配置文件方式
前一篇文章介绍了OBD白屏可视化方式部署OceanBase集群 ,其原理是把可视化设置生成为一个配置文件,然后使用OBD命令部署集群 本篇想使用命令行加配置文件方式,只部署OceanBase和ODProxy两个组件 服务器参数配置和 oceanbase-all-in-one-*.ta…...

Flink介绍
Flink 介绍 文章目录 Flink 介绍1. 简介1.1 背景1.2 用途 2. 核心概念2.1 流(Stream)2.2 转换(Transformation)2.3 窗口(Window)2.4 状态(State) 3. 编程模型3.1 编程模型介绍3.2 程…...

vscode突然连不上服务器了,以前都可以的,并且ssh等其它方式是可以连接到服务器的
过完年回来准备开工干活,突然发现vscode连不上服务器了,奇了怪了,年前都可以的,看了一下报错,如下, 以为是服务器挂了,结果执行ssh xxxxxx 发现是可以远程连接的,看来服务器没有问题…...
【shell】Shell学习后篇
Linux 常用 Shell 文章目录 Linux 常用 ShellBanner设置字体颜色设置提示操作系统操作系统版本号系统处理器架构关闭防火墙和SELinux系统操作防火墙相关获取当前目录判断文件是否存在判断目录是否存在后台挂起静默执行判断之前的命令是否成功 Banner 设置字体颜色 RED\033[31…...
协同程序原理
一、协程的本质 //协程可以分为两个部分 //1.协程函数本体 //2.协程调度器 //协程本体就是一个能够中间暂停返回的函数 //协程调度器是Unity内部实现的,会在对应的时机帮我们继续执行协程函数 //Unity只实现了协程调度器部分 //协程的本体本质上就是 C#的一个迭代…...
怎样保证数据库和redis里的数据一致性
使用缓存更新策略:在更新数据库时,同时更新Redis中相应的数据。这可以通过编写代码来实现,在数据库更新操作完成后,同步更新Redis中对应的数据。这可以通过在代码中使用事务来保证更新的原子性,确保数据库和Redis中的数…...

探索设计模式的魅力:创建型设计模式的比较与决策
设计模式专栏:http://t.csdnimg.cn/U54zu 目录 一、设计模式概览 1.1 创建型模式 二、比较创建型设计模式 1.1 适用场景典型用例 1.2 关键要素与差异对比 1.3 结构图 三、模式选择指南 3.1 场景分析 3.2 决策流程图 四、结语 4.1 优势 4.2 考量因素 一、…...

Linux之Shell
第 1 章 Shell 概述 1)Linux 提供的 Shell 解析器有 [zhaohadoop101 ~]$ cat /etc/shells /bin/sh /bin/bash /usr/bin/sh /usr/bin/bash /bin/tcsh /bin/csh2)bash 和 sh 的关系 [zhaohadoop101 bin]$ ll | grep bash -rwxr-xr-x. 1 root root 941880…...

nginx upstream server主动健康检测模块添加https检测功能[完整版]
目录 1 缘起1.1 功能定义2. 实现后的效果2.1 配置文件2.2 运行效果3. 代码实现3.1 配置指令3.1.1 配置指令定义:3.1.2 配置指令结构体:3.1.3 配置指令源码定义:3.2 模块的初始化3.3 添加新的健康检测类型的定义3.4 握手完成后的处理3. 5 发送http请求3.6 接收http响应3.7 连…...

django中admin页面汉化
在Django中,将admin界面汉化为中文需要进行一些配置和翻译文件的添加。下面是一个基本的步骤指南,帮助你实现Django admin的汉化: 一:安装并配置Django: 如果你还没有安装Django,首先通过pip安装它: pip…...

prometheus基于consul的服务发现
文章目录 一、基础二、安装consul下载地址启动consul访问consul 三、编写服务发现文件nodes.json四、prometheus配置consul发现修改prometheus.yml重启Prometheus 参考 一、基础 二、安装consul 下载地址 https://developer.hashicorp.com/consul/install 启动consul mkdi…...

深度学习之pytorch实现线性回归
度学习之pytorch实现线性回归 pytorch用到的函数torch.nn.Linearn()函数torch.nn.MSELoss()函数torch.optim.SGD() 代码实现结果分析 pytorch用到的函数 torch.nn.Linearn()函数 torch.nn.Linear(in_features, # 输入的神经元个数out_features, # 输出神经元个数biasTrue # 是…...

Vue3快速上手(八) toRefs和toRef的用法
顾名思义,toRef 就是将其转换为ref的一种实现。详细请看: 一、toRef 1.1 示例 <script langts setup name"toRefsAndtoRef"> // 引入reactive,toRef import { reactive, toRef } from vue // reactive包裹的数据即为响应式对象 let p…...

如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
OD 算法题 B卷【正整数到Excel编号之间的转换】
文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...
云原生周刊:k0s 成为 CNCF 沙箱项目
开源项目推荐 HAMi HAMi(原名 k8s‑vGPU‑scheduler)是一款 CNCF Sandbox 级别的开源 K8s 中间件,通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度,为容器提供统一接口,实现细粒度资源配额…...
[特殊字符] 手撸 Redis 互斥锁那些坑
📖 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作,想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁,也顺便跟 Redisson 的 RLock 机制对比了下,记录一波,别踩我踩过…...