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

源代码安装是我们找到软件的源代码,对源代码进行编译,得到软件包,然后进行安装。优点是可以自定软件包,缺点是源代码安装的操作复杂,成本非常高,对用户有着较高的要求。在安装一些组件、动静态库等,可能需要我们通过源代码进行安装。
rpm安装就是在软件官网下载rpm包,类似于windows中的安装包,下载下来之后直接安装。缺点是不能自己解决依赖,在安装软件的时候,需要做很多的前期准备工作,才能把软件安装好。
yum安装,就是通过yum命令下载指定的远程互联网主机上的rpm包,然后自动进行安装,解决了相互间的依赖关系。yum安装基于rpm安装,也就是在rpm上增加了自动解决依赖的功能。
Linux中我们进行工具、指令、程序的安装,卸载等,都需要yum的软件,yum是Linux中预装的指令,它相当于手机上的应用商店。
在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序,但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成**软件包(可以理解成windows上的安装程序)**放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装。软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系。yum(Yellow dog Updater Modified)是Linux下非常常用的一种包管理器,主要应用在Fedora, RedHat, Centos等发行版上。
这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件。 安装完毕之后可以通过拖拽的方式将文件上传过去。
rz 是将本地Windows中的文件上传到远端的Linux机器上sz 是将远端Linux机器上的文件拿到本地Windows电脑中**指令 **:
yum list
实例:
yum list | grep lrzsz
通过 yum list 命令可以罗列出当前一共有哪些软件包。 由于包的数目可能非常之多, 这里我们需要使用行文本过滤器 grep 命令配合管道 | 只筛选出我们想要的软件包。 例如:

各字段含义:
lrzsz:软件名.x86_64 :表示64位系统的安装包,i686后缀表示32位系统的安装包。选择包时要和系统匹配。0.12.20-36:表示软件版本el7:表示操作系统发行版的版本,也就是centos7@base:表示的是 “软件源” 的名称, 类似于 “小米应用商店”, “华为应用商店” 这样的概念指令:
yum install
实例:
#安装前询问
yum install lrzsz
#安装前不询问
yum install -y lrzsz
当把软件下载下来,要将对应软件的可执行程序、配置文件等信息拷贝到系统特定的目录下。当我们使用普通用户,没有权限时,是无法完成拷贝的,安装就会失败,所以普通用户在指令前加上sudo,root用户直接使用即可。
指令:
yum remove
示例:
yum remove -y lrzsz
当我们要下载软件时,这个软件在哪里,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 进行安装。
我们先介绍 vim 的三种模式,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
命令模式:
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式下,或者进入底行模式。
插入模式:
只有在插入模式下,才可以做文字输入,按ESC键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
底行模式:
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下输入,shift + ' : '即可进入底行模式。
注意:要查看你的所有模式:打开vim,底行模式直接输入help vim-modes。
vim code.c
在系统提示符号输入vim加文件名称后,就进入vim全屏幕编辑画面。打开vim默认是命令模式,命令模式下所有的输入都被当成命名,所以我们敲击键盘,屏幕不会显示字符,想要显示字符,我们要切换为插入模式,接下来就让我们看看怎么切换模式。
注意:如果vim后的文件不存在,系统会生成一个新文件并进入编辑画面。
「命令模式」切换为「插入模式」
从命令模式切换为插入模式,可以输入 a 或 o 或 i ,它们三个的区别在于,进入插入模式后光标的位置不同。
- 输入
a:进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字
输入
o:进入插入模式后,是插入新的一行,从行首开始输入文字
输入
i:进入插入模式后,是从光标当前位置开始输入文件
**「插入模式」切换为「命令模式」 **
Esc键,就可以退回到命令模式。(所有模式退到命令模式都是按Esc)「命令模式」切换为「底行模式」
shift + ; ,其实就是输入:。

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