目录
[Linux 应用商店------yum](#Linux 应用商店——yum)
[yum 的基本操作](#yum 的基本操作)
[yum install 命令](#yum install 命令)
[yum list 命令](#yum list 命令)
[yum remove 命令](#yum remove 命令)
[关于 rzsz 软件](#关于 rzsz 软件)
[安装 rzsz 软件:](#安装 rzsz 软件:)
[rz 命令](#rz 命令)
[sz 命令](#sz 命令)
[yum 源拓展](#yum 源拓展)
[Linux 编辑器------vim](#Linux 编辑器——vim)
[vim 是什么](#vim 是什么)
[vim 的基本操作](#vim 的基本操作)
[vim 的多种模式](#vim 的多种模式)
[2. 底行模式支持分屏](#2. 底行模式支持分屏)
[3. 底行模式下加上 !执行Linux命令](#3. 底行模式下加上 !执行Linux命令)
[4. 底行中的替换操作 :%s/printf/cout/g](#4. 底行中的替换操作 :%s/printf/cout/g)
[编辑 5. 标签页的切换](#编辑 5. 标签页的切换)
[vim 配置的原理](#vim 配置的原理)
[vim 的配置](#vim 的配置)
Linux 应用商店------yum
yum和yum源是什么
1. yum 是什么???
安装软件时,一般得先下载软件包,不过要提前确保处于联网状态才行。通常情况下,软件包并不在咱们自己电脑的本地磁盘里存放着,而是被放在远端的服务器上(就像一台远端的计算机)。这些远端服务器就如同云服务那样,具备存储软件包的功能。它们上面的软件包是由软件开发者或者维护者放置上去的,这么做就是为了方便其他众多用户能够从这些服务器上把软件包下载下来,而且这些软件包大多就是面向除放置者之外的其他用户,供他们下载到各自的电脑里去使用的。
电脑软件(非 Linux) :当你通过电脑浏览器访问软件官网来下载软件时,官网的服务器会有一个明确的下载链接指向存储软件安装包的位置。这个链接通常是由软件开发者在构建网站时设置好的。网站服务器就像一个索引目录,通过网页上的下载按钮或者链接,引导你的浏览器去访问真正存储软件包的服务器。例如,你在 Adobe 官网下载 Photoshop 软件,官网会指引你的浏览器找到存放 Photoshop 安装包的服务器位置。通俗来说:点击该链接就会找到远端服务器的下载该软件的地址。
手机应用商店:手机应用商店则是由手机操作系统的厂商或者第三方应用商店运营者维护的一个集中式软件分发平台。应用商店的服务器会预先收录各种软件开发者提交的应用,并对这些应用进行审核、分类等操作。当你在应用商店中搜索软件时,商店服务器会根据你的搜索请求,在已收录的软件列表中查找匹配的软件,并提供下载链接。这些软件的安装包存储在应用商店运营商管理的服务器上,例如苹果 App Store 或者安卓应用商店。
Linux(以 yum 为例):在 Linux 系统中,使用 yum 安装软件时,yum 会参考本地的配置文件(通常位于 /etc/yum.repos.d/ 目录下)来确定软件包仓库的位置,也就是说yum 就像C/C++里面的一个 "指针" 。它首先会查看配置文件中的信息,找到对应的软件包仓库位置(就像根据地图找到目的地的大致方向)。然后,yum 会在这些仓库中搜索软件包,这包括解析软件包的元数据(如软件包名称、版本、依赖关系等)来精准定位软件包。最后,一旦确定了软件包的位置,yum 就会从远端仓库将软件包及其可能需要的依赖包下载到本地系统进行安装,就像顺着指针的方向找到目标并带回本地一样。
2. yum 源是什么???
yum 源是一个存储软件包的仓库,它包含了大量可以通过 yum 工具进行安装、更新、卸载操作的软件包。这些软件包通常是以 RPM(Red Hat Package Manager)格式存在的。可以把 yum 源看作是一个软件的 "资源池",yum 工具从这个 "资源池" 里获取软件包来满足系统的软件管理需求。
综上所述:yum 是一个工具,工具的本质也是一个指令( 它是基于命令行的软件包管理工具**),它就像一个应用商店,通过这个应用商店我们可以下载我们所需要的软件,**
yum 源相当于手机应用商店背后的服务器端存储的所有软件集合。
还可以这样理解:
yum 就好比是一个软件管家。你在电脑上输入 yum 相关的命令,就好像在跟这个管家说你要干啥,比如安装软件或者更新软件。它就会帮你去处理。
yum 源,就像是软件管家(yum)背后的大仓库。这个仓库里存了各种各样的软件,就像手机应用商店的服务器存着一堆应用一样。yum 这个管家要找软件给你,就从 yum 源这个仓库里去拿。
关于镜像的简单理解
- 镜像的概念
镜像是一种数据复制机制。无论是软件镜像、网站镜像还是存储镜像,其核心都是对原始数据的复制。这种复制力求做到精确、完整,以确保复制出来的数据能够替代原始数据发挥作用。
- 镜像产生的背景
开源生态在全球范围内有着重要影响力,早期确实有很多是由国外开发者、社区等发起并推动发展的,这使得在国内接触和利用开源资源时,似乎感觉距离较远。不过,由于存在网络访问限制等因素(例如一些国外网站或服务器可能被拦截,影响正常访问获取资源),国内的企业、高校等采取了相应措施来保障能顺利使用相关开源软件。
- 镜像的作用
镜像在这种背景下发挥了关键作用,国内软件服务器镜像国外软件服务器,yum 源也存在这样的操作。国内的云服务器等所用的 yum 源,很多就是镜像了国外的软件服务器得来的。也就是把国外软件服务器上那些可以通过 yum 管理的软件包资源及其配套信息完整复制过来,构建成国内的 yum 源。这样一来,国内用户在使用基于 yum 进行软件管理时,实际操作的 yum 源就是国内已经镜像好的这部分,能顺利地获取软件包完成软件安装等工作,同时也避免了直接访问国外服务器可能面临的网络阻碍等问题。
yum 的基本操作
我们下载好软件之后,一定要安装软件,安装的本质就是拷贝,拷贝一定会拷贝到特定的目录下,目录是有权限的,所以我们可以使用sudo提权安装,或者使用root用户进行安装。
大部分软件安装后是可以被多个用户共享使用的,但用户或系统管理员可以通过设置权限来改变这种情况。
yum的安装
yum install 命令
我们在安装软件的时候,用的命令是 install
以安装sl 为例子:yum install sl
-y 选项: 不要再询问我是不是要安装,-y 选项的作用是自动回答 "yes"。
我们怎么知道自己需要什么软件呢???
通常有以下方式:一是当有特定功能需求时,主动去查找能实现该功能的软件,然后进行安装;二是随着使用经验的不断积累,见得多、看得多了,自然而然就能清楚哪些软件可以满足相应需求,就如同使用手机久了,心里就很明白针对不同需求该安装什么软件一样,这是一个在实践和日常使用过程中逐渐熟悉掌握的过程。
sl 软件的安装: 如果是root用户直接 yum install sl,-y可以加上也可以不加
cpp
sudo yum install -y sl
输入指令 sl 就会出现如下的结果:
yum查看软件包
yum list 命令
会把yum 源对应的远端服务器的软件都列举出来
通过 yum list 命令可以列出当前一共有哪些软件包.,由于包的数目可能非常之多, 这里我们需要使用 grep 命令只筛选出我们关注的软件包。
输入指令:
cpp
yum list | grep tree
结果如下:
找到了我们需要的软件包之后就可以安装了:这里可以去掉后缀 .x86_64进行安装
yum的卸载
yum remove sl
-y 选项: 不要再询问我是不是要安装,-y 选项的作用是自动回答 "yes"。该选项可以加上也可以不加。
yum remove 命令
cpp
sudo yum remove -y sl
结果就是不能再使用sl:
关于 rzsz 软件
rzsz 是一组用于在 Linux 系统的终端与本地计算机之间进行文件传输的工具软件。它主要包括两个命令:rz(用于从本地计算机上传文件到服务器端)和 sz(用于从服务器端下载文件到本地计算机)。
这组软件不是系统自带的基础指令,需要进行安装才能使用。在不同的 Linux 发行版中,安装方式可能会有所不同。例如,在 CentOS 系统中,可以使用
yum install lrzsz
来安装 rzsz 软件。
默认我们没有安装,也不能使用
安装 rzsz 软件:
默认是没有安装的,先看看自己有没有连网,输入:ping www.baidu.com
- "ping" 是一个网络工具命令,用于测试主机之间的连通性。当你在命令行中输入 "ping www.baidu.com" 时,你的计算机向域名 "www.baidu.com" 对应的服务器发送一系列的互联网控制消息协议(ICMP)数据包。
- 这些数据包包含了请求信息,目标服务器在收到请求后会返回响应信息。通过这种方式,可以检查你的计算机与百度服务器之间是否能够建立通信连接。
- 如果你的计算机无法访问百度网站,使用 "ping" 命令可以帮助你初步判断问题所在。
如果出现下面这种信息说明网络连接是正常的,而且我们的云服务器基本都是连网的,如果是虚拟机就需要进行检查,而我们的云服务可以不用进行检查。
我们还可以在 yum 软件包列表中查找和 "lrzsz" 相关的软件包信息
cpp
yum list | grep lrzsz
安装输入以下命令:
cpp
yum install lrzsz
rz 命令
想把windos的东西上传到云服务器上,输入rz就会弹出这个对话框我们就可以把Windows上的文件传给云服务器,传送好之后我们就可以在上面查看文件的内容了。
注意:也可以拖拽上去,但是不能从云服务器拖拽下来到 Windows。
sz 命令
将云服务器上的文件下载到 Windows(本地计算机),我们可以使用sz命令
yum 源拓展
我告诉了yum我要安装什么,并没有直接告诉yum要安装的软件,在哪里下载。
在手机上下载 APP 时,我们只需向应用商店提出请求,无需关心 APP 所在的服务器具体位置,应用商店会帮我们处理相关事宜。类似地,在 Linux 系统中使用 yum 进行软件安装时,我们原本也不用特意去关注软件所在的服务器在哪里。然而,实际上 yum 还是需要依据特定的路径去查找软件包,所以就必须要有 yum 源的配置,通过这个配置来告知 yum 应该去哪里下载软件,也就是明确软件所在的具体位置。
而 CentOS - Base 就是基础的 yum 源,我们可以使用 vim 等文本编辑器打开与之对应的配置文件(CentOS - Base.repo),在这个文件里面记录的都是用于下载软件的链接,yum 会读取这些链接信息,进而按照相应的路径去获取所需的软件包,以完成软件的安装、更新等操作。
综上所述:把 yum 源比作应用商店对应的远端服务器上所有安装包的集合,那么 CentOS - Base 就相当于 CentOS 系统的官方基础应用商店。
Linux 编辑器------vim
vim 是什么
Vim 和 Windows 下的 txt 文件编辑器有相似的地方,它们都是用来编辑文本的。但是 Vim 更厉害。
Vim 有好几种模式。就好像有几个不同的工具集,你可以在这些模式之间切换。比如,有时候你可以像在普通编辑器里一样输入文字(插入模式);有时候你可以用快捷键快速地对文本进行操作,像删除一行或者复制一段内容(命令模式);还有的时候可以在最后一行输入命令来保存文件或者查找替换文字(末行模式)。
而 Windows 下的 txt 文件编辑器基本只有一种简单的输入模式,没有这么多复杂的操作模式。并且 Vim 还有一些高级功能,比如能让代码里不同的部分显示不同的颜色方便查看(语法高亮),可以按照你的想法来设置各种快捷键和外观(定制化),这些都是普通 txt 文件编辑器没有的。
vim 的基本操作
如何进入vim编辑器???
我们进入一个 vim,直接vim 文件名,进入的 vim 之后的默认模式就是命令模式
如何编辑文本???
我们需要切换成插入模式:按键盘 i 就可以进入插入模式,就可以像txt文件一样输入内容了
如何退出文本编辑器???
我们需要切换成底行模式(末行模式):按键盘
注意:我们现在应使用普通用户操作,需要注意自己是普通用户,该目录或者文件是谁创建的,有没有权限。
命令模式
插入模式
末行模式(底行模式)
三种模式的切换
vim 的多种模式
命令模式
命令模式的意义:各种命令能够提高编辑效率
为了方便演示操作,这个vim是我已经配置好了的,主要是里面的内容比较多方便演示出来。
1,光标定位操作
定位当当前行的最后面:shift + 4($)
定位当当前行的最前面:shift + 6(^)
定位当当前文本的最后一行:shift + g 相对于输入 G
定位当当前文本的第一行:gg
如果我们要定位到文本的任意一行呢??? 便于操作,调出文本行号 :set nu
跳转光标到指定行,n 代表的是行号:n + shift + g 先输入 n ,再输入shift + g
光标移动:上下左右键可以的,有使用会存在问题,所以多使用 hjkl,效率比上下左右更快一些,配置好了vim使用上下左右可能会存在问题,所以用hjkl,逐字符
h :左 最左边
l : 右 最右边
j: 下 jump,向下跳
k: 上 king 国王,高高在上
w:向后按照单词移动(宏观上的单词),逐单词
b:向前按照单词移动
定位当当前行的最前面:shift + 6(^)
定位当当前行的最后面:shift + 4($)
定位当当前文本的最后一行:shift + g 相当于输入 G
定位当当前文本的第一行:gg
如果我们想定位到任意一行,该如何操作呢? n + shift + g
便于操作,切换成末行模式 输入 set nu,调出文本行号,这是前面我们sudo的提权配置就已经提到过的调出文本行号。
跳转光标到指定行,n代表的是行号:n + shift + g
在命令模式下,先输入你想要的行,即为 n,然后输入 shift + g。
光标移动 :
上下左右键移动光标也是可以的,有时候会存在问题,所以多使用 h j k l 键,效率比上下左右更快一些,配置好了vim使用上下左右可能会存在问题,所以用 h j k l, 逐字符移动。
**h :**左 在键盘四个键中的最左边
**l :**右 在键盘四个键中的最右边
j: 下 jump跳,往下跳,就表示下
k: 上 king 国王,高高在上
w: 向后按照单词移动(宏观上的单词),逐单词
**b:**向前按照单词移动
2 ,文本复制相关操作
复制和粘贴操作
光标所在的行输入 yy, 复制操作,默认复制一行
光标所在的行输入 p, 粘贴操作,会在光标所在的下一行粘贴
支持多行的复制粘贴,可以输入nyy,np,这里的n表示先要输入的数字代表要操作的行数
所以默认是 1yy 1p
如果想粘贴5行,输入 5 在输入 p,如果要一直粘贴就一直按 p
剪切(删除)和粘贴操作
dd:删除光标所在行(剪切)
ndd: 删除多行,从光标开始算第一行,假设输入2 然后再输入 dd
p:粘贴操作,剪切后还可以配合 p 进行粘贴
撤销操作:u
剪切操作:ndd + p
取消u操作(类似于撤销): ctrl + r
3 ,文本编辑相关操作:
文本行的大小写切换
如果我们写代码不小心全写成了大写的,shift 按住不动 然后一直按 ~
如果只是变一个直接 shift + ~ 按 一下就可以了
批量替换--->进入替换模式 shift + r
如果要替换咋办:shift +r 进入替换模式,批量化替换
r : 替换光标所在的一个字符,可以再这个模式下一直替换。
退出替换模式也是 esc 键回到命令模式
行内删除
行内删除:x 和 shift + x
x :删除光标所在的这个字符
nx:先输入数字n,在输入x,比如输入2,然后再输入 x,删除从光标开始往后的2个字符
shift + x:删除光标前的一个字符
n + shift + x: 删除光标前的 n 个字符
注意:行内删除同样支持 p 操作,可以粘贴刚刚删除的内容
插入模式
从命令模式切换成插入模式可以输入 i、a、o 中的任意一个进行切换,通常输入 i
底行模式(末行模式)
当你的 vim 处于命令模式的时候,按下键盘的shift + :,两个键一起按,进入末行模式。
- set nu/nonu 设置和取消行号
- w保存,q退出, ! 强制退出, wq! 强制保存并退出
- 底行模式支持分屏 : vs 文件名, 无论你分多少屏幕,光标只有一个,光标的意义:选中的行(编辑位置)或者屏幕, 也就是说,光标在哪就编辑那个屏幕,退出也是同理,光标在哪就退出谁,光标切屏:ctrl+w+w。
- 底行模式下加上 ! , 执行Linux命令:! ls 或者 ! gcc test.cpp
- 底行中的替换操作 :%s/printf/cout/g
- 当我们同时编辑多个文件的时候,可以使用 next 和 prev,按顺序切换,切换的时候如果编辑了要先w再进行翻到另外一个文件
注意:shift 和冒号这两个键是一起按的。
1.设置和取消行号
set nu 和 set nonu
2. 底行模式支持分屏
切屏的时候是在命令模式下输入 ctrl + ww
自动创建了 test2.cpp 文件
3. 底行模式下加上 !执行Linux命令
4. 底行中的替换操作 :%s/printf/cout/g
输入%s///g
先输入%s///g, 中间三个 /,然后把要替换的东西输入到/之间
5. 标签页的切换
prev:往上一页切换
next:往下一页切换
注意:切换之前,如果编辑了文本的内容需要先保存,末行模式中输入w保存,然后就可以切换了。
可视模式
在 Vim 的命令模式下,按下 "v" 键可以进入可视字符模式。进入该模式后,你可以通过h j k l键移动光标来选择字符。
在vim中选择一块区域进行复制粘贴:
- 进入命令模式:
- 移动光标到起始位置(还没进入可视模式)
- 按下V键进入可视模式
- 使用方向键h j k l 键来移动光标以选取区域
- 按下 y 键盘复制选取的区域
- 将光标移动到要粘贴的位置,按下p
**全选文本内容并删除:**我们在命令模式中gg定位到文本的开始,然后按 v 进入可视模式,然后shift + g 定位到末尾,这个时候已经选中了所有内容,然后按 d 就可以删除所有的内容了。
我们还可以进入块可视模式:命令模式下ctrl + v 或者可视模式下ctrl + v都可以进入块可视模式
块可视模式
我们可以进行多行注释,比如我们在写代码的时候需要把多行进行注释或者取消注释就可以进入块可视模式中
先把光标定位到开始,
首先 ctrl + v,进入块可视模式
按 j 向下选择你要注释的内容,如果内容很多,可以直接shift + g,直接全到末尾
然后按 shift + i,在光标出输入 // 这个注释符号
然后按esc键就完成了注释
取消注释:光标定位到开始,同样我们进入可视模式ctrl +v,然后shift + g全选,按l往右选择,因为 // 是两个字符,所以需要把注释全部选中,然后按 x 删除注释就取消了注释。
vim的原理及配置
vim的配置,用户互不干扰 :
即使是具有系统最高权限的 root 用户配置了 vim,也不会影响到其他普通用户的 vim 使用体验。因为不同用户的配置文件是相互独立存储的,普通用户在启动 Vim 时,读取的是自己主目录下的配置文件,而不是 root 用户或者其他用户的配置文件。
vim 配置的原理
.vimrc 文件是 vim 编辑器的配置文件。它就像是一个规则手册,用于告诉 vim 如何按照用户的期望来运行。当 Vim 启动时,它会读取这个文件中的指令,然后根据这些指令来设置编辑器的各种属性和行为。
每个用户都有自己独立的主目录。Vim 的配置文件
.vimrc
就存放在用户的主目录下。例如,在 Linux 系统中,普通用户的主目录可能是/home/user1/
,而 root 用户的主目录是/root/
。每个用户的.vimrc
文件都在自己的主目录中,这就确保了配置的独立性。所谓的vim 基本配置,就是修改自己的.vimrc
先看下面的图,然后在**.vimrc** 中输入 set nu 表示设置显示行号,这就是在配置,还可以自己去找多种配置,写入这个文件就可以了,保存退出再次进入vim就会自动显示行号了。
vim 的配置
如果我们想要 vim 配置的好看一些可以再 gitee 上搜索 vimforCPP
详细步骤如下:
1.进入官网
2. 找到对应的地址复制下来
3. 完成安装
4. 进去vim中查看结果