《Linux工具学习:YUM软件包管理与Vim编辑器的高效运用》封面
SCENE / 001
全部文章NOTE / 学习笔记

Linux工具学习:YUM软件包管理与Vim编辑器的高效运用

记录YUM查询、安装和卸载软件包的流程,再整理Vim三种模式、移动、编辑、搜索与配置方法

#Linux#学习笔记#软件包管理#Vim#命令行
本文目录
  1. 软件包与包管理器
  2. YUM完成一次安装的过程
  3. 使用YUM前先确认网络
  4. 查询软件包
  5. 安装和卸载软件
  6. Vim与Vi
  7. Vim的三种常用模式
  8. 进入插入模式
  9. 在正常模式移动光标
  10. 删除、复制与粘贴
  11. 替换与撤销
  12. 搜索文本
  13. 保存与退出
  14. 配置自己的Vim
  15. 试着完整练习吧
  16. 小结
  17. 来源
阅读记录0%
0%

YUM软件包管理与Vim编辑器的文章封面

软件包与包管理器

在Linux中,软件可以通过源码编译安装,也可以使用已经构建好的软件包

源码安装能控制编译参数,但需要准备编译环境并手动处理依赖,软件包的话就是把程序、配置说明和版本信息整理成可安装的形式

可以把软件包理解为应用安装包,把YUM理解为负责搜索、下载、校验、安装和卸载这些安装包的工具

本文的YUM操作以CentOS7时代的传统RPM系环境为学习背景,CentOS Linux 7已经在2024年6月30日结束生命周期,当前的Fedora和RHEL8及后续版本主要使用DNF,部分系统仍保留yum兼容入口,执行命令前要先确认发行版版本和官方文档

YUM完成一次安装的过程

输入安装命令后,YUM会查询已配置的软件仓库,计算依赖关系,下载需要的软件包,最后写入系统并记录安装状态

YUM从仓库查询到完成安装的流程

这套流程省去了逐个寻找依赖包的工作,也让后续升级和卸载更容易管理

使用YUM前先确认网络

YUM通常需要连接软件仓库,网络不通时会出现仓库元数据下载失败、域名无法解析或连接超时等提示

可以先用ping做一次基础测试:

ping -c 4 www.baidu.com

这里的-c 4表示发送4次探测请求后自动停止,避免ping持续运行

ping只能反映域名解析和ICMP通信的情况,仓库是否可用还要通过yum repolist或实际的软件包查询确认

如果域名测试失败,可以继续检查网卡、IP地址、默认路由和DNS配置,网络正常但下载很慢时,再考虑切换到可信的软件镜像源

查询软件包

yum list可以列出仓库中可见的软件包,结果很多时可以通过管道交给grep筛选

yum list
yum list | grep lrzsz

竖线|会把前一条命令的输出交给后一条命令,第二条命令只保留包含lrzsz的结果

还可以查看软件包详情或根据关键词搜索:

yum info vim
yum search editor

列表中可能出现类似下面的内容:

lrzsz.x86_64    0.12.20-36.el7    base

这行信息可以拆开理解:

内容 含义
lrzsz 软件包名称,安装后可使用rzsz传输文件
x86_64 面向64位x86系统的架构标记
0.12.20-36 软件版本和打包修订版本
el7 面向Enterprise Linux 7系列环境构建
base 提供该软件包的仓库名称

i686通常表示32位x86软件包,选择架构时要结合系统架构和程序需求

安装和卸载软件

安装lrzsz可以使用:

sudo yum install lrzsz

sudo会以管理员权限执行后面的命令,YUM显示即将安装的软件包和依赖后,需要输入y确认

已经确认安装目标时,也可以让YUM自动回答确认提示:

sudo yum install -y vim

这里的-y表示对安装过程中的确认问题自动回答yes,它会跳过人工确认,所以在服务器上执行前要先核对软件包名称和变更列表

卸载软件使用remove

sudo yum remove lrzsz

卸载时也要阅读YUM给出的依赖变化,防止连带移除仍在使用的软件

Vim与Vi

Vi是经典的终端文本编辑器,Vim在兼容Vi操作方式的基础上增加了语法高亮、更多撤销能力和扩展配置等功能

安装完成后,可以直接打开或创建文件:

vim notes.txt

Vim刚开始容易让人困惑,是因为同一个按键在不同模式下有不同作用,先理解模式切换,后面的命令会清晰很多

Vim的三种常用模式

Vim正常模式、插入模式和末行模式的切换关系

模式 主要用途 进入方式
正常模式 移动光标、删除、复制、粘贴和撤销 启动Vim后默认进入,或按Esc返回
插入模式 输入和修改文字 在正常模式按iao
末行模式 保存、退出、搜索和设置选项 在正常模式按:/?

最短的编辑流程是:打开文件,在正常模式按i进入插入模式,输入内容后按Esc返回正常模式,再输入:wq保存并退出

进入插入模式

三个常用按键的插入位置不同:

按键 作用
i 在光标当前位置之前开始输入
a 在光标当前位置之后开始输入
o 在当前行下方新建一行并开始输入
Esc 离开插入模式并返回正常模式

掌握iEsc就能完成最基础的编辑,ao可以减少移动光标和手动换行的次数

在正常模式移动光标

Vim使用hjkl完成左、下、上、右移动:

按键 作用
h 向左移动一个字符
j 向下移动一行
k 向上移动一行
l 向右移动一个字符
gg 跳到文件第一行
G 跳到文件最后一行
12G 跳到第12行,数字可以替换成目标行号
0 跳到当前行第一列
^ 跳到当前行第一个非空白字符
$ 跳到当前行末尾
w 跳到下一个单词开头
e 跳到当前或下一个单词末尾
b 跳到前一个单词开头

翻页时可以使用:

按键 作用
Ctrl-F 向下翻一页,查看更靠后的内容
Ctrl-B 向上翻一页,返回更靠前的内容
Ctrl-D 向下翻半页
Ctrl-U 向上翻半页

这些组合键是Vim内部操作,不属于Shell命令选项

删除、复制与粘贴

正常模式下的编辑命令可以和数字组合,数字表示重复次数:

命令 作用
x 删除光标所在字符
4x 从光标处开始删除4个字符
dd 删除当前行,并把内容放入寄存器
3dd 从当前行开始删除3行
yy 复制当前行
5yy 从当前行开始复制5行
p 在光标或当前行之后粘贴
P 在光标或当前行之前粘贴

dd删除的内容仍会进入Vim寄存器,所以移动到新位置后按p,就能完成剪切并粘贴

替换与撤销

命令 作用
r加一个字符 用随后输入的字符替换光标所在字符
~ 切换光标所在字符的大小写
u 撤销上一次修改
Ctrl-R 恢复刚才撤销的修改

例如把光标放在错误字符上,按r后再输入正确字符,就能完成单字符替换

搜索文本

正常模式下输入/?会进入搜索:

命令 作用
/error 从当前位置向文件后方搜索error
?error 从当前位置向文件前方搜索error
n 按当前搜索方向跳到下一个匹配项
N 按当前搜索方向跳到上一个匹配项

日志和配置文件较长时,搜索通常比逐行移动更快

保存与退出

在正常模式按:进入末行命令输入,再使用下面的命令:

命令 作用
:w 保存当前文件
:q 在没有未保存修改时退出
:wq 保存并退出
:q! 放弃未保存的修改并强制退出
:15 跳到第15行
:set number 显示行号
:set nonumber 隐藏行号

:q!会丢弃本次未保存的修改,执行前要确认这些内容确实不需要保留

配置自己的Vim

用户级配置文件通常是~/.vimrc,其中~表示当前用户的主目录,例如用户user的主目录通常是/home/user

可以先加入一组容易理解的基础配置:

syntax on
set number
set tabstop=4
set shiftwidth=4
set expandtab
set autoindent

每一行的作用如下:

配置 作用
syntax on 开启语法高亮
set number 显示行号,简写是set nu
set tabstop=4 把制表符显示为4列宽度
set shiftwidth=4 自动缩进和移位操作每次使用4列
set expandtab 输入制表符时改用空格保存
set autoindent 新行沿用上一行的基础缩进

配置适合逐项添加,每加一项就重新打开Vim确认效果,出现问题时也更容易定位

试着完整练习吧

可以创建一个练习文件,把查询、编辑和保存流程连起来:

yum info vim
sudo yum install -y vim
vim notes.txt

进入Vim后依次完成:

  1. i进入插入模式
  2. 输入内容
  3. Esc返回正常模式
  4. 使用gg回到第一行,再用yy复制当前行
  5. G移动到最后一行,再按p粘贴
  6. 输入/YUM搜索关键词
  7. 输入:wq保存并退出

这套练习覆盖了模式切换、移动、复制、搜索、保存和退出,重复几次后会比单独背命令更容易形成操作习惯

小结

YUM的作用是软件包的查询、依赖处理、安装和卸载,Vim是终端中的文本编辑

学习YUM时要关注网络、仓库、软件包名称和依赖变化,学习Vim时先建立正常模式、插入模式和末行模式的切换意识,再逐步加入移动与编辑命令

来源

本文为个人学习笔记,根据《YUM软件包管理器与Vim编辑器的高效运用》提炼并重新组织,保留原文链接供进一步阅读

YUM与DNF的版本差异可以继续参考Fedora的DNF文档CentOS Linux 7生命周期说明

READING / FOCUSOFF

留言

评论区暂未开放;可先通过 RSS 或「关于」页联系。

站内搜索

输入关键词开始搜索