前言
📖Linux 世界里,yum 和 vim 是提升操作效率的关键工具。前面聊过权限管理,现在就来聊聊这俩 “神器”,看看它们能给我们的 Linux 操作带来多少便利~
📚 Linux 入门篇
目录
一、Linux软件包管理器yum
二、Linux系统(Centos)生态问题
2.1 安装软件的三种方式
2.2 生态问题
【使用者视角】
【提供者视角】
【生态的最终考量】
三、yum相关操作
3.1 查看软件包
3.2 安装和卸载软件
3.3 软件源
基本软件源(base)
扩展软件源(epel)
3.4 yum本地配置
四、lrzsz软件包
五、Linux 编辑器 ——vim
六、vim的多种模式
6.1 命令模式命令集
6.2 底行模式命令集
七、vim配置
1. 语法高亮
2. 显示行号
3. 缩进相关配置
4. 搜索相关配置
5. 显示辅助信息
yum 就像 Linux 系统里的 “智能应用商店”,不仅能帮我们便捷获取编译好的软件包,还会自动搞定软件包之间的依赖关系,让安装软件这事儿变得顺顺当当。它主要用在 Fedora、RedHat、Centos 这些 Linux 发行版上,把它当成管理软件下载安装的客户端,就跟咱们手机上的应用商店一个道理~
构建操作系统生态,核心是平衡使用者与提供者的需求,形成良性循环,这一点在 Linux 软件生态里体现得十分具体。
对使用者来说,得有完善文档、丰富配置和活跃社区,降低上手门槛,方便解决问题,让更多人愿意用。就像图里展示的,新人做操作系统选型时,会关注 “生态好”,而 Linux 系统借助 yum、apt - get 等工具,能便捷从服务器获取软件,背后有活跃社区和完善资源支持,让使用者(不管是新人还是职业程序员)能顺畅开展工作。
靠开源吸引公司、开发者参与 —— 公司依赖系统会捐赠支持,维持项目活力;大公司的使用经验也能反哺系统优化,让社区问题解决更高效。从图中能看到,华为等服务器上的官方 yum 源、扩展 yum 源,由公司、个人组织等提供,这些提供者出于不同目的参与进来,同时,Linux 开源作为一种商业战略,也让生态的商业逻辑更清晰,不过也要注意,开源有时候也挺 “贵”,需要投入成本维护(开源的 “贵”,本质是项目随用户量增长而产生的基础设施、维护迭代、生态支持等隐性成本,若无法通过合理方式覆盖,反而可能因 “成功” 面临运营压力。)。
一款优秀的系统需要具备稳定的内核、行业认可的技术标准,同时要有完善的文档、活跃的社区、丰富的配置选项和丰富的软件生态,还要能在多硬件、多场景下适配,并获得大公司/行业的广泛采用。这样才能从使用者视角降低上手门槛、方便解决问题,从提供者视角形成良性循环,最终构建出有生命力的生态体系。

【注意】:
关于 yum 的所有操作必须保证主机 ( 虚拟机 ) 网络畅通 !!!
通过 yum list 命令可以罗列出当前一共有哪些软件包 . 由于包的数目可能非常之多 , 这里我们需要使用 grep 命令只筛选出我们关注的包. 例如:
【列出lrzsz相关的软件包】:

注意事项:
yum 报错,先查看报错信息里的提示(报错信息通常会说明冲突、缺失依赖或源的问题),再结合提示去搜索(比如用报错关键词 +“CentOS yum 解决” 等关键词),这样能更精准定位问题-y 后,yum 会自动回答 “是”,跳过手动确认步骤,方便脚本或批量操作软件源是存放 Linux 系统软件包的仓库,yum 工具通过软件源来下载、安装软件。下面介绍两个常见的软件源:
yum 会根据配置文件(通常位于 /etc/yum.repos.d/)中的仓库地址进行下载。这些配置文件中包含了目标服务器的链接,从而使得系统可以正确地找到和下载所需的软件包。

【配置epel源】:

这里显示已经配置过了
由于国内访问国外网络环境欠佳,使用 CentOS 官方默认的国外仓库地址下载软件包时,速度往往较慢。为提升下载和安装效率,国内不少知名企业与组织搭建了官方仓库的镜像,将国外软件包复制到本地服务器。用户只需把 /etc/yum.repos.d/ 目录下配置文件里的链接替换为国内镜像地址,就能加快软件包下载速度,本质就是把软件源地址从国外链接更新为国内镜像地址。
yum 会依据 /etc/yum.repos.d/ 路径下的配置文件来生成下载链接(结合 OS 版本和要下载的软件),进而辅助完成下载、安装操作。一般系统内置的链接指向 CentOS 国外官网,下载速度慢,所以需要进行配置,配置的本质就是修改或更改配置文件内容。
配置步骤示例(以阿里云镜像为例):
1. 下载国内镜像的配置文件:使用 wget 命令下载阿里云的 CentOS 7 镜像配置文件到指定路径:
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo其中,-O 选项用于将远端下载的文件重命名为 CentOS-Base.repo 并保存到 /etc/yum.repos.d/ 目录。
2. 清理缓存、生成新缓存并更新系统:
yum 缓存:yum clean allyum 加载新配置的源信息):yum makecacheyum -y update这样配置后,yum 就会从国内镜像源获取软件包,下载速度会得到提升。
不同 CentOS 版本(如 CentOS 6、CentOS 8 等)对应的阿里云镜像链接可能不同,可以提示用户根据自己的系统版本去阿里云镜像站(https://developer.aliyun.com/mirror/)查找对应版本的配置文件链接,这样针对性更强~
lrzsz 是一套在 Linux 系统中用于实现与 Windows 机器之间文件传输的工具集 ,安装 lrzsz 软件包后,会提供 rz 和 sz 两个命令。它常搭配终端工具(如 XShell、SecureCRT 等)使用,无需借助 FTP 等复杂的文件传输协议,就能快速完成文件在不同系统间的传输。
【安装方法】:
sudo/root账号 yum install lrzszrz -E和拖拽是一样的效果将windows客户端文件下载到Linux上sz -E和拖拽是一样的效果Linux下传递下来到本地vi 与 vim 同属多模式编辑器范畴,vim 是 vi 的增强版本,它全盘兼容 vi 的所有指令,还增添了诸多新特性。像语法高亮功能,能让代码等文本内容的不同部分以不同颜色显示,便于阅读;可视化操作方面,vim 不仅能在终端中顺畅运行,还可在 X window、mac os、windows 等多种系统环境下使用。vim 作为一款编辑器,和日常所用的记事本作用相近,主要用于文本的创建与修改。
既然 vim 是编辑器,我们可以直接执行 vim filename.txt 命令,若 filename.txt 不存在,该命令会创建并打开这个新文件。不过,更稳妥的做法是先用 touch filename.txt 命令创建好文件,再用 vim 对其进行编辑书写。
vim 有着丰富的操作模式,虽说实际存在十余种模式,但对于入门阶段,掌握以下 3 种核心模式就足够了,它们各自承担不同的功能:
ESC 键。在日常编辑工作中,插入模式是使用得最为频繁的编辑模式。命令模式属于核心模式,如果进入到其他模式需要退回到命令模式可以无脑Esc返回。

【和插入模式相关的命令】:
【移动光标相关的命令】:
【复制相关的命令】:
[yy]:复制光标所在行[n yy]:复制光标所在行及下方共 n 行[dd]:剪切、删除光标所在行[n dd]:剪切、删除光标所在行及下方共 n 行[p]:粘贴(复制 / 剪切的内容)到光标所在行的下一行[n p]:粘贴(复制 / 剪切的内容)n 次到光标所在行的下一行【示例】:5yy + 2p(复制5行,粘贴2次)


【删除文字相关命令】:
[x]:每按一次,删除光标所在位置的一个字符。[#x]:例如,[6x] 表示删除光标所在位置后面(包含自身在内)的 6 个字符。[X](大写 X):每按一次,删除光标所在位置前面的一个字符。[#X]:例如,[20X] 表示删除光标所在位置前面的 20 个字符。[dd]:删除光标所在行。[#dd]:从光标所在行开始,删除 # 行。【替换相关命令】:
[r]:替换光标所在处的单个字符。[R]:进入连续替换模式,可连续替换光标所到之处的字符,直到按下 [ESC] 键为止。shift + ~:实现字符的大小写转换。(n)r:对光标所在字符之后的 n 个字符进行批量替换。(n)x:删除光标所在字符之后的 n 个字符。【撤销相关操作】:
[u]:如果误执行了某个命令,可立即按下 [u],撤销上一次操作。多次按下 [u],能执行多次撤销,逐步回退到之前的状态。[Ctrl + r]:用于恢复被撤销的操作,也就是撤销的 “反操作”,可将通过 [u] 撤销的操作恢复回来。在使用末行模式前,需先按 [ESC] 键确保处于命令模式,再按 : 即可进入末行模式。
set nu,文件中每一行前面会显示行号。15),再按回车键,就会跳到文章的第 15 行。/{关键字}:先按 / 键,再输入要寻找的字符,若第一次找到的关键字不是想要的,可一直按 n 往后寻找,直到找到目标关键字。?{关键字}:先按 ? 键,再输入要寻找的字符,若第一次找到的关键字不是想要的,可一直按 n 往前寻找,直到找到目标关键字。/(往后查找)和 ?(往前查找)的区别。w,即可保存文件。q:按 q 退出,若无法正常离开,可在 q 后跟 !(如 q!)强制离开。wq:建议离开时使用,既保存文件又退出 vim。【多文件编辑与窗口切换操作】: 在 vim 中进行多文件编辑及窗口相关操作时,可通过末行模式(命令模式下按
:进入)的命令来实现:
vs {文件名}(例如 vs test1.txt),能打开指定文件的编辑窗口,实现多文件同时编辑。若要打开多个文件,可多次执行该命令,或在启动 vim 时直接指定多个文件(如 vim file1.txt file2.txt)。Ctrl + ww 快捷键,可在不同的文件编辑窗口之间切换光标。通过这些操作,能高效地在多个文件之间进行编辑和切换,提升多文件处理的效率。

Vim 的基础配置可通过修改系统公共的 /etc/vimrc 文件(对所有用户有效),或者每个用户在自己主目录下建立的私有的 .vimrc 文件(可通过 su 切换用户、cd ~ 进入主工作目录后,用 vim .vimrc 打开编辑)来优化编辑体验,且一个用户一个 .vimrc 配置文件不会互相影响,同时不建议给 root 做配置,用普通用户即可。
syntax on作用:开启语法高亮,让代码、配置文件等内容按语法规则显示不同颜色,提升可读性,比如代码中的关键字、变量、字符串会有不同色彩区分。
set nu作用:在 Vim 编辑界面左侧显示行号,方便快速定位代码行,尤其在查看或修改大文件时,能更高效找到目标位置。
设置缩进空格数:
set shiftwidth=4作用:指定代码缩进时的空格数量为 4,让代码缩进风格更统一。
Tab 键等效空格数:
set tabstop=4
作用:将 Tab 键的功能等效为插入 4 个空格,配合 shiftwidth,确保缩进的一致性,避免因 Tab 和空格混用导致的格式问题。
自动缩进:
set autoindent作用:开启自动缩进,在换行时会自动延续上一行的缩进格式,减少手动调整缩进的操作。
智能缩进
set smartindent作用:根据代码语法智能调整缩进,比如在编写 C、Python 等语言的代码时,if 语句、循环语句等结构会自动进行合适的缩进。
忽略大小写搜索:
set ignorecase
作用:在使用 / 或 ? 进行搜索时,忽略关键字的大小写,更灵活地查找内容。
智能匹配搜索:
set smartcase
作用:与 ignorecase 配合,若搜索关键字包含大写字母,则严格区分大小写;若全为小写,则忽略大小写,兼顾搜索的灵活性与精确性。
显示光标位置:
set ruler作用:在 Vim 界面底部显示光标当前所在的行号和列号,清晰了解光标位置。
显示当前模式:
set showmode作用:在 Vim 界面底部显示当前所处的模式,比如插入模式(-- INSERT --)、普通模式等,方便知晓操作状态。
