初识Linux:第六篇
- 初识Linux:第六篇
- 1.Linux 软件包管理器 yum
- 2.Linux下的软件生态
- 3.Linux中编辑器vim的使用
- 3.1命令模式
- 3.11控制光标移动
- 3.12复制,粘贴,剪切,删除
- 3.13替换,大小写转换
- 3.14撤销与反撤销
- 3.15查找字符串
- 3.2插入模式
- 3.3底行模式
- 3.31保存与退出
- 3.32分屏
- 3.33shell命令
- 3.34替换
- 3.35行号
- 3.36补充
- 总结
初识Linux:第六篇
👉本篇的主要目的:让大家能够使用vim在Linux上写代码和学会在yum上下载软件;👈
1.Linux 软件包管理器 yum
在Linux上安装软件有三种方式:
- 源代码安装
软件的源代码是软件的原始数据,任何人都可以通过源代码查看该软件的设计架构和实现方法,但是源代码不能在计算机中直接运行安装。需要通过编译将源代码转换为计算机可以识别的机器语言,之后才可以进行安装; - rpm安装
rpm是一种包管理器,但是所安装的软件有和复杂的依赖关系,安装时要考虑软件版本,软件源等问题,不易于我们安装; - yum安装:需要连网!!!;
yum安装就可以帮助我们找到安装源,安装版本,依赖关系等,方便,简单;
👉如何测试自己是否连网?
ping (Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序。
指令:ping 网址
连网成功:
连网失败:
🤔什么是yum?
yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat,Centos等商业发行版上;
🤔🤔什么是软件包?什么又是包管理器?
-
软件包本质上是一个存档文件,包含二进制可执行文件、配置文件和一些必要的依赖信息。(软件包一般是 :已经被编译过的机器码 + 描述信息、版本信息、依赖信息等构成的元数据);
-
软件包管理器是一种工具:它可以根据软件包提供的元数据 ,准许用户在操作系统上 安装、删除、升级、配置和管理软件包;
-
可以理解为软件包和软件包管理器的简单关系: “App” 和 “应用商店” 这样的关系;
这是Linux下详细的包管理器(RPM,yum)介绍:👉RPM,yum介绍;
🤔🤔🤔yum如何使用?
注意在安装前一定要看一下自己是不是root或者sudo,因为 安装的本质就是拷贝 ,在Linux下安装,由于需要拷贝到特定目录,往往需要权限,所以要root或者sudo;
-
如何查看软件?
指令:yum list
但是直接输入这个指令会跳出很多很多软件,所以我们一般用:yum list | grep 软件名;
-
如何下载软件?
指令:yum install [选项] 软件
常见选项:-y:自动确认的意思,安装软件是系统会问你是否安装或卸载; -
如何删除软件?
指令:yum remove [选项] 软件
常见选项:-y:自动确认的意思,安装软件是系统会问你是否安装或卸载;
我们可以先下载一个实用工具:lrzsz,这个工具用于 windows机器和远端的Linux机器通过XShell 传输文件;
lrzsz的用法:
- 从windows上上传文件到Linux上
一种用法就是直接输入rz,然后会跳出一个弹窗,选择你要上传的文件,另一种方法就是从windows上拖拽上传文件
例如:
- 将Linux文件传输到window中
输入sz 文件名,即可传输到windows上;
例如:
扩展:
rz和sz都是使用Zmodem文件传输协议,使用 man rz 可以看到(注意man手册也是一款软件)
rz全称: Receive Zmodem
sz全称: Send Zmodem
2.Linux下的软件生态
上图是池塘的生态,有生产者,消费者,分解者等;
🤔手机或电脑上的软件生态是什么?
由手机/电脑——网络——服务器可形成一套完整的商业生态;
- 安装包存放在哪?
安装包肯定不存放在你的电脑或手机上,而是在别人的电脑上(远端服务器、云服务器); - 谁提供了安装包?谁放在服务器上?
企业、个人为了某种利益提供了软件包,并放在了服务器上,提供后通常会放在官网或者应用商城中; - 我怎么知道我的软件在哪个服务器上?
通过网络搜索,在官网中下载或者应用商城中下载;
🤔🤔那么Linux的软件生态是什么?
Linux软件系统:由电脑——网络——服务器可形成一套完整的商业生态
一般yum源都是配置国外的yum源;
但是外网访问较慢,所以我们访问本土的服务器居多;
注释:当然如果你是虚拟机用户,你也可以自己配置国内yum源:配置清华大学yum源教程,如果你是云服务器的一般厂商已经配置过了;
-
yum怎么知道去哪找软件?
在自己的Linux中,内置了对应应用和服务器的下载链接(不同的Linux社区,提供的下载链接不一定相同); -
谁在开源Linux中提供的软件?放在哪里?
os的提供者和推动者,放在Linux的服务器中;
注意:开源不一定免费,或者说开源有时候也挺贵,因为一旦使用这个操作系统的人多了,这些使用者就会对这个操作系统产生依赖性,那么如果这个OS的提供者做不下去了(没钱了),但我们又不想让OS消失,于是就会为这个OS出资或捐助;
🤔🤔🤔yum的内置下载链接在哪?
Linux中有一个关于yum源的配置(云服务器已经自动配置好了),yum源会包含Linux对应镜像服务器,也就是软件集成平台的网络链接,使用户可以通过链接到指定地址下载软件;
yum 源配置文件位于 /etc/yum.repos.d/ 目录下,文件扩展名为 “*.repo”(只要扩展名为 “*.repo” 的文件都是 yum 源的配置文件);
大概介绍一下:
[base]:容器名称,一定要放在[]中;
name:容器说明,可以自己随便写;
baseurl:我们的 yum 源服务器的地址,默认是 CentOS 官方的 yum 源服务器;
enabled:此容器是否生效,写成 enabled=1 则表示此容器生效,写成 enable=0 则表示此容器不生效;
gpgcheck:如果为 1 则表示 RPM 的数字证书生效,如果为 0 则表示 RPM 的数字证书不生效;
gpgkey:数字证书的公钥文件保存位置;
但是CentOS-Base.repo是官方认证的软件源,有的时候官方中的软件源没有我们想要的软件去哪下?
官方软件通常是成熟、安全、稳定的,非官方软件通常需要经过时间检验证明是成熟、安全、稳定的,才能被纳入到官方软件中。非官方软件集合可以理解为官方软件的储备池(准官方或者叫扩展yum源)。
指令: yum install -y epel-release
比如我们之前下载的小火车就是扩展yum源中的:sl
小火车
还有一个好玩的软件:cmatrix(字符滚动)
效果图:
3.Linux中编辑器vim的使用
🤔什么是vim?
vim是一个多模式的编辑器,它是vi的升级版本,可应用于windows,linux,macos等多个操作系统,此外vim具有代码补全、编译及错误跳转等功能,通常,在LInux中用到的vi实际上是vim,即使输入命令时输入的是vi,但是使用的仍然是vim;
🤔🤔如何下载vim?
在Linux中输入vim命令,若提示command not found,则表示还未安装vim编辑器,需要输入yum install -y vim指令进行安装vim;
输入vim 文件名,打开后默认是下图(说明安装成功!):
🤔🤔🤔vim既然是多模式编辑器,那么它有哪些模式呢?
vi/vim 有很多模式,但最重要的模式有三种,分别是命令模式(Command mode),插入模式(Insert mode)和底行模式(Last line mode);
🤔🤔🤔🤔三种模式的主要作用?
- 命令/普通/初始模式:控制光标移动,对内容进行复制,粘贴,删除,替换等动作,此模式下不可编辑,因为用户所有的输入都被当成命令;
- 插入/编辑模式:一般用于输入文字,代码等,用于编辑,后面我们写代码经常用;
- 底行/末行模式:一般用于文件保存或退出vim,也可以进行文件替换,找字符串,列出行号等操作;
🤔🤔🤔🤔🤔三种模式怎么切换?(重要!)
补充一点:
如果想学vim的使用,可以输入指令 vimtutor,这里有官方教程;
3.1命令模式
我们用vim打开文件进入的就是默认的命令模式,可以控制光标移动,对内容进行复制,粘贴,删除,替换等动作,此模式下不可编辑,因为用户所有的输入都被当成命令;
😁那么我们就学习学习常见的命令吧!
如果你想要显示行号,先切换到底行模式下,然后输入set nu即可!
3.11控制光标移动
3.12复制,粘贴,剪切,删除
3.13替换,大小写转换
3.14撤销与反撤销
3.15查找字符串
如何取消高亮呢?
在命令模式下输入 :nohi;
3.2插入模式
- 插入模式就是编辑模式,就是开始对文件进行编辑,通过上下左右键可以移动光标,底部会有插入两个字提示当前在插入模式。但是,默认情况下编辑文件还是非常不方便的,比如不像集成开发环境那样可以自动补全括号,函数提示等,但是我们可以对vim进行配置,这些在后面讲解。
不过这里有佬配好的链接复制黏贴一下到xshell中就可以了
这是链接:
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
安装完后,记得输入source ~/.bashrc或重启终端;
效果:
3.3底行模式
注意:
- 一定要在正常命令模式下按冒号进入底行模式;
- vim不会创建一个文件,就是说如果你用vim打开一个没有创建的文件并且没有保存的话数据就消失了;
3.31保存与退出
3.32分屏
3.33shell命令
甚至可以执行!./a.out执行代码;
3.34替换
- 前两个指令,一定要在命令模式下,把光标放到src处,否则执行会报错,因为vim不知道你要替换的字符串是哪一行的;
- 后两个指令是对整个文件操作的所以不需要指定光标,如果多文件的话就需要指定是在那个和文件内;
3.35行号
列出行号:set nu
取消行号:set nonu
跳至第n行:数字n
例如:
3.36补充
查找功能与在命令模式下的查中功能类似;
总结
本篇主要介绍了yum和vim的使用,下去多多实操,你会有更多收获的!😁如果喜欢本篇不妨留下一颗❤️,同时感谢大家支持,下期间!!!