当前位置: 首页 > news >正文

【Linux】Linux工具漫谈:yum 与 vim,高效操作的 “左膀右臂”

🔥 脏脏a的技术站 🔥
 
「在代码的世界里,脏脏的技术探索从不设限~」

 


🚀 个人主页:脏脏a-CSDN博客

📌 技术聚焦:Linux 环境下 yum 与 vim 工具的实用技巧与深度解析
📊 文章专栏:Linux

🔗 上篇回顾:Linux权限管理

📖Linux 世界里,yum 和 vim 是提升操作效率的关键工具。前面聊过权限管理,现在就来聊聊这俩 “神器”,看看它们能给我们的 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. 显示辅助信息


🚀一、Linux软件包管理器yum

  • Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.
  • 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.
  • 软件包和软件包管理器, 就好比 "App" "应用商店" 这样的关系.
  • yum(Yellow dog Updater, Modified)Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat, Centos等发行版上.

yum 就像 Linux 系统里的 “智能应用商店”,不仅能帮我们便捷获取编译好的软件包,还会自动搞定软件包之间的依赖关系,让安装软件这事儿变得顺顺当当。它主要用在 Fedora、RedHat、Centos 这些 Linux 发行版上,把它当成管理软件下载安装的客户端,就跟咱们手机上的应用商店一个道理~

🔍二、Linux系统(Centos)生态问题

2.1 安装软件的三种方式

  • 【源代码安装】:需要先获取软件的源代码,然后通过编译等一系列操作,将源代码转化为可在 Linux 系统上运行的可执行程序。这种方式比较灵活,但操作步骤相对繁琐,需要用户具备一定的编译相关知识。
  • 【rpm 安装】:rpm(Red - Hat Package Manager)是一种软件包格式,使用 rpm 工具可以直接安装这种预编译好的软件包。不过,rpm 安装在处理软件包之间的依赖关系时,需要用户手动去解决,要是依赖没处理好,安装可能会失败。
  • 【yum 安装】:yum(Yellow dog Updater, Modified)是更智能的包管理工具。它能自动解决软件安装过程中的安装源、软件版本匹配以及依赖关系等问题,相比前两种方式,更加便捷高效,能让用户更轻松地完成软件安装。

2.2 生态问题

构建操作系统生态,核心是平衡使用者与提供者的需求,形成良性循环,这一点在 Linux 软件生态里体现得十分具体。

【使用者视角】

对使用者来说,得有完善文档、丰富配置和活跃社区,降低上手门槛,方便解决问题,让更多人愿意用。就像图里展示的,新人做操作系统选型时,会关注 “生态好”,而 Linux 系统借助 yumapt - get 等工具,能便捷从服务器获取软件,背后有活跃社区和完善资源支持,让使用者(不管是新人还是职业程序员)能顺畅开展工作。

【提供者视角】

靠开源吸引公司、开发者参与 —— 公司依赖系统会捐赠支持,维持项目活力;大公司的使用经验也能反哺系统优化,让社区问题解决更高效。从图中能看到,华为等服务器上的官方 yum 源、扩展 yum 源,由公司、个人组织等提供,这些提供者出于不同目的参与进来,同时,Linux 开源作为一种商业战略,也让生态的商业逻辑更清晰,不过也要注意,开源有时候也挺 “贵”,需要投入成本维护。 

【生态的最终考量】

一款优秀的系统需要具备稳定的内核行业认可的技术标准,同时要有完善的文档活跃的社区丰富的配置选项丰富的软件生态,还要能在多硬件、多场景下适配,并获得大公司/行业的广泛采用。这样才能从使用者视角降低上手门槛、方便解决问题,从提供者视角形成良性循环,最终构建出有生命力的生态体系。

🧪三、yum相关操作

【注意】:

关于 yum 的所有操作必须保证主机 ( 虚拟机 ) 网络畅通 !!! 

3.1 查看软件包

通过 yum list 命令可以罗列出当前一共有哪些软件包 . 由于包的数目可能非常之多 , 这里我们需要使用 grep 命令只筛选出我们关注的包. 例如:
【列出lrzsz相关的软件包】:
  • 软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.
  • "x86_64" 后缀表示64位系统的安装包, "i686" 后缀表示32位系统安装包. 选择包时要和系统匹配.
  • "el7" 表示操作系统发行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6.
  • 最后一列,os 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念.

3.2 安装和卸载软件

  • [sudo / root身份] yum  install  [-y]  XXX
  • [sudo / root身份] yum  remove  [-y]  XXX

注意事项:

  • 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.
  • yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错.
  • 如果 yum 报错,先查看报错信息里的提示(报错信息通常会说明冲突、缺失依赖或源的问题),再结合提示去搜索(比如用报错关键词 +“CentOS yum 解决” 等关键词),这样能更精准定位问题
  • 加 -y 后,yum 会自动回答 “是”,跳过手动确认步骤,方便脚本或批量操作

3.3 软件源

软件源是存放 Linux 系统软件包的仓库,yum 工具通过软件源来下载、安装软件。下面介绍两个常见的软件源:

基本软件源(base)
  • 特点:提供基本、稳定的软件包,是系统运行和常用软件安装的基础来源,能保障系统的稳定运行。
扩展软件源(epel)
  • 特点:提供大量官方基本源没有的拓展软件包,丰富了软件生态,但相对来说,部分软件包的稳定性可能不如基本源中的。

yum 会根据配置文件(通常位于 /etc/yum.repos.d/)中的仓库地址进行下载。这些配置文件中包含了目标服务器的链接,从而使得系统可以正确地找到和下载所需的软件包。

【配置epel源】:

这里显示已经配置过了

3.4 yum本地配置

由于国内访问国外网络环境欠佳,使用 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 all
  • 生成新的缓存(让 yum 加载新配置的源信息):
yum makecache
  • 升级系统(可选,更新已安装软件包到最新版本):
yum -y update

这样配置后,yum 就会从国内镜像源获取软件包,下载速度会得到提升。

不同 CentOS 版本(如 CentOS 6、CentOS 8 等)对应的阿里云镜像链接可能不同,可以提示用户根据自己的系统版本去阿里云镜像站(https://developer.aliyun.com/mirror/)查找对应版本的配置文件链接,这样针对性更强~

🎯四、lrzsz软件包

lrzsz 是一套在 Linux 系统中用于实现与 Windows 机器之间文件传输的工具集 ,安装 lrzsz 软件包后,会提供 rz 和 sz 两个命令。它常搭配终端工具(如 XShell、SecureCRT 等)使用,无需借助 FTP 等复杂的文件传输协议,就能快速完成文件在不同系统间的传输。

【安装方法】:

sudo/root账号 yum install lrzsz
  • rz -E和拖拽是一样的效果将windows客户端文件下载到Linux上
  • sz -E和拖拽是一样的效果Linux下传递下来到本地

📋五、Linux 编辑器 ——vim

vi 与 vim 同属多模式编辑器范畴,vim 是 vi 的增强版本,它全盘兼容 vi 的所有指令,还增添了诸多新特性。像语法高亮功能,能让代码等文本内容的不同部分以不同颜色显示,便于阅读;可视化操作方面,vim 不仅能在终端中顺畅运行,还可在 X window、mac os、windows 等多种系统环境下使用。vim 作为一款编辑器,和日常所用的记事本作用相近,主要用于文本的创建与修改。

既然 vim 是编辑器,我们可以直接执行 vim filename.txt 命令,若 filename.txt 不存在,该命令会创建并打开这个新文件。不过,更稳妥的做法是先用 touch filename.txt 命令创建好文件,再用 vim 对其进行编辑书写。

📌六、vim的多种模式

vim 有着丰富的操作模式,虽说实际存在十余种模式,但对于入门阶段,掌握以下 3 种核心模式就足够了,它们各自承担不同的功能:

  • 命令模式(Normal mode):允许使用者通过命令来进行文本的编辑控制,将来更多是用于完成复制粘贴和区域选择,删除,大小写转换
  • 插入模式(Insert mode):只有在插入模式下,才能进行文字输入。若要回到命令模式,只需按下 ESC 键。在日常编辑工作中,插入模式是使用得最为频繁的编辑模式。
  • 底行模式(Last line mode):用来进行让vim进行包括但是不限于shell进行交互的,可以在底行执行一些命令和wq退出。相当于对于我们的整个软件这个使用情况进行控制,保存退出。

命令模式属于核心模式,如果进入到其他模式需要退回到命令模式可以无脑Esc返回。

✂️6.1 命令模式命令集

【和插入模式相关的命令】:

  • [i]:切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
  • [a]:进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
  • [o]:进入插入模式后,是插入新的一行,从行首开始输入文字
  • [ESC]键:从插入模式切换命令模式
  • 无法从插入模式直接切换到底行模式

【移动光标相关的命令】:

  • vim 的命令模式、插入模式、末行模式,默认都不支持鼠标操作
  • vim可以直接用键盘上的箭头来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格
  • 按[gg]:进入到文本开始
  • 按[G (shiftg)]:进入文本末端
  • 按  [n+G(n + shift + g)]: 定位光标到第n行
  • 按「 $(shift+4) 」:移动到光标所在行的行尾
  • 按「^(shift+6)」:移动到光标所在行的行首
  • 按「w」:光标跳到下个单词的开头(遇到单个字符就到下一个字符的开头,按b同理)
  • 按「b」:光标回到上个单词的开头
  • 按「ctrl+b」:屏幕往移动一页
  • 按「ctrl+f」:屏幕往移动一页
  • 按「ctrl+u」:屏幕往移动半页
  • 按「ctrl+d」:屏幕往移动半页

【复制相关的命令】:

  • 按 [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] 撤销的操作恢复回来。

📝6.2 底行模式命令集

在使用末行模式前,需先按 [ESC] 键确保处于命令模式,再按 : 即可进入末行模式。

  • 列出行号:输入 set nu,文件中每一行前面会显示行号。
  • 跳到文件中的某一行:在冒号后输入数字(如 15),再按回车键,就会跳到文章的第 15 行。
  • 查找字符
    • /{关键字}:先按 / 键,再输入要寻找的字符,若第一次找到的关键字不是想要的,可一直按 n 往后寻找,直到找到目标关键字。
    • ?{关键字}:先按 ? 键,再输入要寻找的字符,若第一次找到的关键字不是想要的,可一直按 n 往前寻找,直到找到目标关键字。
    • 可通过操作实验,体会 /(往后查找)和 ?(往前查找)的区别。
  • 保存文件:在冒号后输入字母 w,即可保存文件。
  • 离开 vim
    • q:按 q 退出,若无法正常离开,可在 q 后跟 !(如 q!)强制离开。
    • wq:建议离开时使用,既保存文件又退出 vim。

【多文件编辑与窗口切换操作】:

在 vim 中进行多文件编辑及窗口相关操作时,可通过末行模式(命令模式下按 : 进入)的命令来实现:

  • 打开多文件编辑窗口:在末行模式下输入 vs {文件名}(例如 vs test1.txt),能打开指定文件的编辑窗口,实现多文件同时编辑。若要打开多个文件,可多次执行该命令,或在启动 vim 时直接指定多个文件(如 vim file1.txt file2.txt)。
  • 窗口光标切换(命令模式生效):使用 Ctrl + ww 快捷键,可在不同的文件编辑窗口之间切换光标。
  • 操作作用范围:光标所在的窗口就是当前进行操作的窗口,所有的编辑、保存等操作都只对当前光标所在窗口的文件生效。

通过这些操作,能高效地在多个文件之间进行编辑和切换,提升多文件处理的效率。

🔗七、vim配置

Vim 的基础配置可通过修改系统公共的 /etc/vimrc 文件(对所有用户有效),或者每个用户在自己主目录下建立的私有的 .vimrc 文件(可通过 su 切换用户、cd ~ 进入主工作目录后,用 vim .vimrc 打开编辑)来优化编辑体验,且一个用户一个 .vimrc 配置文件不会互相影响,同时不建议给 root 做配置,用普通用户即可。

1. 语法高亮

syntax on

作用:开启语法高亮,让代码、配置文件等内容按语法规则显示不同颜色,提升可读性,比如代码中的关键字、变量、字符串会有不同色彩区分。

2. 显示行号

set nu

作用:在 Vim 编辑界面左侧显示行号,方便快速定位代码行,尤其在查看或修改大文件时,能更高效找到目标位置。

3. 缩进相关配置

  • 设置缩进空格数:
    set shiftwidth=4
    
    作用:指定代码缩进时的空格数量为 4,让代码缩进风格更统一。
  • Tab 键等效空格数:
    set tabstop=4
    
    作用:将 Tab 键的功能等效为插入 4 个空格,配合 shiftwidth,确保缩进的一致性,避免因 Tab 和空格混用导致的格式问题。
  • 自动缩进:
    set autoindent
    
    作用:开启自动缩进,在换行时会自动延续上一行的缩进格式,减少手动调整缩进的操作。
  • 智能缩进
    set smartindent
    
    作用:根据代码语法智能调整缩进,比如在编写 C、Python 等语言的代码时,if 语句、循环语句等结构会自动进行合适的缩进。

4. 搜索相关配置

  • 忽略大小写搜索:
    set ignorecase
    
    作用:在使用 / 或 ? 进行搜索时,忽略关键字的大小写,更灵活地查找内容。
  • 智能匹配搜索:
    set smartcase
    
    作用:与 ignorecase 配合,若搜索关键字包含大写字母,则严格区分大小写;若全为小写,则忽略大小写,兼顾搜索的灵活性与精确性。

5. 显示辅助信息

  • 显示光标位置:
    set ruler
    
    作用:在 Vim 界面底部显示光标当前所在的行号和列号,清晰了解光标位置。
  • 显示当前模式:
    set showmode
    
    作用:在 Vim 界面底部显示当前所处的模式,比如插入模式(-- INSERT --)、普通模式等,方便知晓操作状态。

以上是yum和vim工具的所有内容,感谢大家的观看!!!

http://www.dtcms.com/a/482802.html

相关文章:

  • 网站免费优化网站推广运作怎么做
  • 【从零开始java学习|第二十三篇】泛型体系与通配符
  • 有哪些做室内设计好用的网站wordpress+chrome+扩展
  • CRMEB多商户系统(PHP)v3.3正式发布,同城配送上线[特殊字符]
  • Flink 作业通用优化方案
  • deepseek改写的dlx算法求解数独rust程序
  • Leetcode 3715. Sum of Perfect Square Ancestors
  • 四川省建设厅门户网站男女做床网站
  • 语义循环的幽灵——循环解释悖论对NLP深层语义分析的影响与启示
  • 项目沟通与冲突管理
  • 网站引导页案例免费的制作手机网站平台
  • linux学习笔记(32)网络编程——UDP
  • 2025全新三防平板科普:5G-A+卫星通信+国产化
  • 电商网站建设懂你所需wordpress一句话木马
  • 「机器学习笔记14」集成学习全面解析:从Bagging到Boosting的Python实战指南
  • 小迪安全v2023学习笔记(一百三十一讲)—— Web权限提升篇划分获取资产服务后台系统数据库管理相互转移
  • Java高并发知识
  • 2025年渗透测试面试题总结-204(题目+回答)
  • 复制 201/220 Dump 需要用什么?
  • idc网站备案中国与菲律宾最新事件
  • 深圳网站建设公司首选宜昌营销型网站
  • 美丽乡村 村级网站建设网站 繁体 js
  • Git 大文件上传失败深度解析与终极解决方案_含 macOS_Windows 全流程20251014
  • Starting again myself 03
  • 网站改版申请网站备案密码使用
  • 视频模型的主流结构
  • Java SpringIoCDI --- @Bean,DI
  • 深度学习与舌诊的结合:人工智能助力中医诊断新时代
  • 分治:最大子段和
  • 从江网站建设松江企业网站建设