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

🔥博客主页: 小羊失眠啦.
🎥系列专栏:《C语言》 《数据结构》 《C++》 《Linux》 《Cpolar》
❤️感谢大家点赞👍收藏⭐评论✍️

文章目录
- 一、Linux下安装软件的方案
- 1.1 源代码安装
- 1.2 rpm安装
- 1.3 yum安装
- 二、Linux软件包管理器yum
- 2.1 什么是软件包
- 2.2 关于rzsz
- 2.3 查看软件包
- 2.4 软件安装
- 2.5 软件卸载
- 2.6 yum源问题
- 三、Linux开发工具-编辑器vim使用
- 3.1 vim的基本概念
- 3.2 vim的基本操作
- **3.2.1 进入vim**:
- **3.2.2 模式转换**:
- **3.2.3 退出vim**:
- 3.3 vim正常模式命令集
- 3.3.1 移动光标
- 3.3.2 复制粘贴
- 3.3.3 删除文字
- 3.3.4 撤销
- 3.3.5 替换
- 3.4 vim底行模式命令集
- 3.4.1 调出行号
- 3.4.2 保存退出
- 3.4.3 多文件操作
- 3.4.4 命令执行
- 3.4.5 查找字符
- 3.5 vim配置
- 3.5.1 配置文件的位置
- 3.5.2 vim常用配置选项
一、Linux下安装软件的方案
1.1 源代码安装
源代码安装是我们找到软件的源代码,对源代码进行编译,得到软件包,然后进行安装。优点是可以自定软件包,缺点是源代码安装的操作复杂,成本非常高,对用户有着较高的要求。在安装一些组件、动静态库等,可能需要我们通过源代码进行安装。
1.2 rpm安装
rpm安装就是在软件官网下载rpm包,类似于windows中的安装包,下载下来之后直接安装。缺点是不能自己解决依赖,在安装软件的时候,需要做很多的前期准备工作,才能把软件安装好。
1.3 yum安装
yum安装,就是通过yum命令下载指定的远程互联网主机上的rpm包,然后自动进行安装,解决了相互间的依赖关系。yum安装基于rpm安装,也就是在rpm上增加了自动解决依赖的功能。
二、Linux软件包管理器yum
Linux中我们进行工具、指令、程序的安装,卸载等,都需要yum的软件,yum是Linux中预装的指令,它相当于手机上的应用商店。
2.1 什么是软件包
在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序,但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成**软件包(可以理解成windows上的安装程序)**放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装。软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系。yum(Yellow dog Updater Modified)是Linux下非常常用的一种包管理器,主要应用在Fedora, RedHat, Centos等发行版上。
2.2 关于rzsz
这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件。 安装完毕之后可以通过拖拽的方式将文件上传过去。
rz是将本地Windows中的文件上传到远端的Linux机器上sz是将远端Linux机器上的文件拿到本地Windows电脑中
2.3 查看软件包
**指令 **:
-
yum list
实例:
-
yum list | grep lrzsz通过
yum list命令可以罗列出当前一共有哪些软件包。 由于包的数目可能非常之多, 这里我们需要使用行文本过滤器grep命令配合管道|只筛选出我们想要的软件包。 例如:

各字段含义:
lrzsz:软件名.x86_64:表示64位系统的安装包,i686后缀表示32位系统的安装包。选择包时要和系统匹配。0.12.20-36:表示软件版本el7:表示操作系统发行版的版本,也就是centos7@base:表示的是 “软件源” 的名称, 类似于 “小米应用商店”, “华为应用商店” 这样的概念
2.4 软件安装
指令:
-
yum install
实例:
-
#安装前询问 yum install lrzsz -
#安装前不询问 yum install -y lrzsz
当把软件下载下来,要将对应软件的可执行程序、配置文件等信息拷贝到系统特定的目录下。当我们使用普通用户,没有权限时,是无法完成拷贝的,安装就会失败,所以普通用户在指令前加上sudo,root用户直接使用即可。
2.5 软件卸载
指令:
-
yum remove
示例:
-
yum remove -y lrzsz
2.6 yum源问题
当我们要下载软件时,这个软件在哪里,yum是如何得知目标服务器的地址和下载链接的呢?
就好比我们手机的应用商店,它是被安装到手机上的,会有各种配置文件,配置文件中会存有想要下载软件的地址,同样yum内部中也存在有下载链接的路径。
在/etc/yum.repos.d/ 路径下,就可以看到当前设备的yum仓库源,如下图:

其中 centos-Base.repo 是官方认可的yum源,里面就存放的有下载链接,可以通过指令 vim /etc/yum. repos.d/Centos-Base.repo 去查看
-
首先把此文件重命名(mv)(我们进行配置的时候,不要进行删除文件,而是进行先备份)
mv CentOS-Base.repo CentOS-Base.repo-bak -
百度搜索yum国内版本,然后进行操作【这个是阿里云yum源】
wget http://mirrors.aliyun.com/repo/Centos-7.repo -
最后依次进行一下操作即可
mv Centos-7.repo CentOS-Base.repo yum clean all yum makecache yum update
最后完成出现complete即可,如果没有扩展yum源的话可以执行这条指令, yum install -y epel-release 进行安装。
三、Linux开发工具-编辑器vim使用
3.1 vim的基本概念
我们先介绍 vim 的三种模式,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
命令模式:
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式下,或者进入底行模式。
插入模式:
只有在插入模式下,才可以做文字输入,按ESC键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
底行模式:
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下输入,shift + ' : '即可进入底行模式。
注意:要查看你的所有模式:打开vim,底行模式直接输入help vim-modes。
3.2 vim的基本操作
3.2.1 进入vim:
-
vim code.c在系统提示符号输入vim加文件名称后,就进入vim全屏幕编辑画面。打开vim默认是命令模式,命令模式下所有的输入都被当成命名,所以我们敲击键盘,屏幕不会显示字符,想要显示字符,我们要切换为插入模式,接下来就让我们看看怎么切换模式。
注意:如果vim后的文件不存在,系统会生成一个新文件并进入编辑画面。
3.2.2 模式转换:
「命令模式」切换为「插入模式」
从命令模式切换为插入模式,可以输入 a 或 o 或 i ,它们三个的区别在于,进入插入模式后光标的位置不同。
- 输入
a:进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字
输入
o:进入插入模式后,是插入新的一行,从行首开始输入文字
输入
i:进入插入模式后,是从光标当前位置开始输入文件
**「插入模式」切换为「命令模式」 **
- 点击键盘上的
Esc键,就可以退回到命令模式。(所有模式退到命令模式都是按Esc)
「命令模式」切换为「底行模式」
- 点击
shift + ;,其实就是输入:。


插入模式无法直接进入底行模式, 因为插入模式下所有的输入都会被当成文本输入,没有被解释成命令。
3.2.3 退出vim:
要退出vim要在底行模式下进行,在命令模式下输入下:即可进入底行模式,输入q退出vim。
:w:保存当前文件:wq:保存并退出vim:q!:不保存,强制退出vim
3.3 vim正常模式命令集
3.3.1 移动光标
$:移动到光标到所在行的行尾^:移动到光标到所在行的行首gg:移动到光标到文本开始G:移动到光标到文本末尾w:光标移动到下个字的开头(可以配合n,一次跳过n个单词)b:光标移动到上个字的开头(可以配合n,一次跳过n个单词)h、j、k、l:以字符为单位,进行左、下、上、右移动
3.3.2 复制粘贴
yy:复制光标所在行到缓冲区p:将缓冲区内的字符贴到光标所在行的下一行位置。n+yy:n是任意数字,从光标所在行开始,复制n行n+p:n是任意数字,将缓冲区的的字符粘贴n份
注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
3.3.3 删除文字
dd:删除光标所在行n+dd:从光标所在行开始删除n行x:删除光标所在位置的一个字符n+x:删除从光标位置开始的n个字符X:删除光标所在位置的前一个字符n+X:删除从光标位置开始的前n个字符
注意:dd完如果不p的话就是删除,如果p的话就是剪切。
3.3.4 撤销
u:回到上一个操作,按多次可以执行多次回复ctrl+r:撤销的恢复
3.3.5 替换
shift + ~:快速更换大小写r:替换光标所在字符,点击r后,再点输入待替换的字符n+r:把从光标位置开始的n个字符全部替换成目标字符R:替换光标所到之处的字符,直到按下Esc键停止
3.4 vim底行模式命令集
在使用底行模式之前,请记住先按ESC键确定已经处于命令模式,再按冒号即可进入底行模式。
3.4.1 调出行号
set nu:调出行号,在文件每一行前面列出行号set nonu:取消行号
3.4.2 保存退出
w:保存w!:强制保存q:退出q!:强制退出wq:保存并退出wq!:强制保存并退出
3.4.3 多文件操作
vs 文件名:实现多文件分屏ctrl+w+w:实现光标在分屏多文件之间的切换
注意:光标在哪个界面,我们就在编辑哪一个界面,底行也是一样。
3.4.4 命令执行
!command:在底行模式下执行命令
在!后直接跟shell命令就可以执行 。
3.4.5 查找字符
/ 关键字:先输入/,在输入你先更要查找的字符,如果第一次找的不是你想要的,可以一直按n,会继续往后寻找你想要的。?关键字:先输入?,在输入你先更要查找的字符,如果第一次找的不是你想要的,可以一直按n,会继续往后寻找你想要的。
3.5 vim配置
没有配置的vim,在插入模式下写代码的时候,没有任何语法提醒,也没有自动补全功能,使用起来比较笨重。要实现在写代码的时候给出提示,需要我们自行对vim进行配置。
3.5.1 配置文件的位置
- 在目录 /etc/ 下面,有个名为 vimrc 的文件,这是系统中公共的 vim 配置文件,对所有用户都有效。
- 而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为: “.vimrc” 。例如, /root 目录下,通常已经存在一个.vimrc 文件 , 如果不存在,则创建之。
- 切换用户成为自己执行 su ,进入自己的主工作目录 , 执行 cd ~
- 打开自己目录下的 .vimrc 文件,执行 vim .vimrc
3.5.2 vim常用配置选项
#设置行号
set nu
#语法高亮
syntax on
#底部显示当前处于什么模式
set showmode
#显示行号下划线
set cursorline
#设置缩进的空格数为4
set shiftwidth=4

相关文章:
【Linux】软件管理器yum和编辑器vim
🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 一、Linux下安装软件的方案1.1 源代码安装1.2 rpm安装1.3 yum安装 二、Linux软件…...
怎么才能确定螺栓是拧紧了——SunTorque智能扭矩系统
螺栓拧紧的标准并非仅仅依赖于螺栓的外观,而是依赖于几个关键因素,包括扭矩、预紧力和材料疲劳等。下面SunTorque智能扭矩系统和大家将详细讨论这些因素,并给出如何判断螺栓是否已经拧紧的方法。 SunTorque智能扭矩系统 首先,让我…...
西门子S120故障报警F30003的解决办法总结
西门子S120故障报警F30003的解决办法总结 如下图所示,压机在回程时突然出现报警,故障代码为:30003, 如下图所示,查找手册可以看到F30003的报警分析为:直流母线欠压 如下图所示,本来想测量输入端…...
探索vue框架的世界: 内部、外部样式和内联样式动态绑定的方法
在实际项目中,经常会遇到这样的场景,可以通过逻辑层中设定的变量,在视图层中来呈现不同的样式,那么这种动态绑定样式的方式如何实现呢? 本篇文章,博主将和大家分享动态绑定内联样式style 和 动态绑定内部和…...
代码随想录算法训练营第三十八天|动态规划|理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
理论基础 文章 说实话,没做过题连理论基础都看不懂 1 确定dp数组(dp table)以及下标的含义 2 确定递推公式 3 dp数组如何初始化 4 确定遍历顺序 5 举例推导dp数组 这道题目我举例推导状态转移公式了么? 我打印dp数组的日志了么&…...
运维知识点-JBoss
JBoss 介绍介绍 JBoss是一个基于J2EE的开放源代码的应用服务器,也是一个运行EJB(Enterprise JavaBean)的容器和服务器。它支持EJB 1.1、EJB 2.0和EJB3的规范,体现了J2EE规范中最新的技术。JBoss遵循LGPL许可,可以在任何商业应用中免费使用,并且由开源社区开发,这使得JB…...
HarmonyOS—配置编译构建信息
在进行应用/服务的编译构建前,需要对工程和编译构建的Module进行设置。API Version 9、API Version 8与API Version 4~7的构建体系不同,因此在设置编译构建信息时也存在差异: API Version 9:需要对构建配置文件、构建脚本、应用依…...
Chrome浏览器好用的几个扩展程序
Chrome好用的扩展程序 背景目的介绍JsonHandle例子未完待续。。。。。。 背景 偶然在往上看到Chrome有很多好用的扩展程序,比较好用,因此记录下比较实用的扩展程序。 目的 记录Chrome浏览器好用的插件。 介绍 JsonHandle下载以及无法扩展插件的解决…...
Enzo Life Sciences Cortisol(皮质醇) ELISA kit
皮质醇又称为氢化可的松,是一种由胆固醇合成的类固醇激素。它是肾上腺皮质产生和分泌的主要糖皮质激素。皮质醇在血液中以游离皮质醇的形式存在,或与皮质类固醇结合球蛋白(CBG)结合。皮质醇水平在早上7点左右最高,晚上最低。皮质醇可以调节新…...
面试经典150题 -- 二分查找 (总结)
总的链接 : 面试经典 150 题 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台 二分算法模板 : 详见 : 基础二分学习笔记-CSDN博客 35 . 搜索插入位置 链接 : . - 力扣(LeetCode) 思路 : 用二分查找第一个>t…...
蓝牙耳机怎么选择比较好?2024年热门机型推荐大揭秘!
蓝牙耳机已经成为了我们日常生活中不可或缺的一部分,随着技术的发展,人们对蓝牙耳机的要求也在不断提升,不仅希望音质出色,还希望能够在不同的场景下使用。然而,如何挑选一款适合自己的蓝牙耳机却是一门学问。今天&a…...
强制Unity崩溃的两个方法
在Unity中,这两种方法都可以用于强制使应用程序崩溃,但它们的作用略有不同: Application.ForceCrash(0); 这个方法会强制应用程序崩溃,并且参数传入的是一个整数值。当参数为0时,它会导致应用程序崩溃并显示一个“Acce…...
中间件 | Redis - [big-key hot-key]
INDEX 1 big-keyhot-key 1 big-key 分类 字符串型 big-key:字符串最大可以到 512M集合型 big-key:集合个数可以到 2^23 问题 内存空间不均匀指令耗时增加:redis 是单线程的,部分操作的时间复杂度是 O(n) 的,big-ke…...
STM32基础--自己构建库函数
什么是 STM32 函数库 固件库是指“STM32 标准函数库”,它是由 ST 公司针对 STM32 提供的函数接口,即API (Application Program Interface),开发者可调用这些函数接口来配置 STM32 的寄存器,使开发人员得以脱离最底层的寄存器操作…...
网站被插入虚假恶意链接怎么办?
在当前的电信和网络环境中,诈骗案件频发,许多受害者不幸上当,主要原因是他们点击了诈骗者发送的假链接。这些诈骗网站经常模仿真实网站的外观,使人难以分辨真伪。那么,我们应如何鉴别这些诈骗链接呢? 下面…...
ThreeJs限制模型拖动的范围
之前有讲过ThreeJs中对模型的拖动功能,使用DragControl组件,将模型放到组件的集合中,就可以拖动点击的模型了,这节细化下怎么控制拖动,比如之拖动z轴,或者限制拖动x轴的范围在某个区间: 首先还是…...
关于JVM的小总结(待补充)
JVM组成及他们之间的关系 装载类子系统字节码执行引擎运行时数据区 装载类子系统 类加载器字节码调节器类加载运行时数据区 字节码执行引擎 运行时数据区 线程私有 虚拟机栈本地方法栈程序计数器 线程共享 堆方法区(元空间)...
day37 贪心算法part6
738. 单调递增的数字 中等 提示 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时,我们称这个整数是单调递增的。 给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递增 。 不知道怎么讲思路……以9287举例,…...
38女神节:剧情热梗小游戏新品!预售1折秒杀,手慢无
抖音热剧情热梗小游戏《逆袭大冒险》登录 Cocos Store 预售开启!游戏包含 20剧情 40 关卡,先来看下视频吧! 游戏内嵌多种小游戏玩法,是不是很有亲切感呢?抽针、流体、重力 3.8女神节特价预售 欢迎加入迷萌游戏《逆袭大…...
岩土工程监测仪器振弦采集仪的发展历程与国内外研究现状
岩土工程监测仪器振弦采集仪的发展历程与国内外研究现状 岩土工程监测仪器河北稳控科技振弦采集仪是用于测量土体或岩石地层的力学性质、地层结构、地下水位等参数的一种仪器设备。它通过振动在地下传播的声波信号的传播速度和特性,来推断地层的物理性质。以下是对…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...




