Linux开发工具的使用(yum包含一些好玩的程序、vim)篇

Linux软件包管理器--yum

Linux下安装软件的方式

在Linux中下载安装软件的方法大概有以下三种:

1)下载到程序的源代码,自行进行编译,得到可执行程序

2)获取rpm安装包,通过rpm命令进行安装。(未解决软件的依赖关系)

3)通过yum进行安装软件(常用)

认识Linux中的yum之前我先讲解一下上面提到的依赖关系。

首先我们先认识一下Linux的生态:

最初,linus开发Linux,是觉得希望开发一种实用的、免费的、可以自己实用的小系统。后来由于Linux的各种优点,让全世界更多的开发者甘愿参与进来完善,其中更有IBM、ARM等一系列巨头公司参与,形成一种Linux为世界各地开发者提供方便,开发者通过参与提高能力,IBM等公司通过开发驱动将自己硬件设备应用在Linux,从而促进Linux继续壮大的互利形态。

到如今,近乎全世界的OS开发者均或多或者投入到Linux开发和bug修复中,绝大部分公司均基于Linux开发自己的商业OS,Linux成为个人或公司以及业界公认的操作系统。这基本就是Linux作为一个开源软件的生态,它是所有商用发布OS的核心,是所有主流厂商的承认的操作系统,厂商如果希望Linux可以运行自己硬件,那么必须将硬件驱动加入Linux并维护,从而将主流厂商与Linux绑定更加紧密

Linux最终要的是开源的特点,我从开源引入最后方便我们理解依赖关系。

1.开源,有时候也是一种商业战略

2.开源,有时候也挺贵

设想一下如果你是一个新人要做操作系统的选型你会怎么选?

当然是选择一款生态好的操作系统。

而生态好就意味着该操作系统有完善的社区,以及在使用操作系统出现的问题都有相应的解决方案,以及有数以百万计的开发者、用户和企业参与到Linux的开发、维护和推广中,形成了一个多元、活跃、协作的生态系统。

如果你是OS的设计者和推动者,你应该做什么?

我想应该是进行开源,开源后才能有更多的人发现你的问题,你才能更好的完善自己的操作系统。

如此当你的公司也在使用这款操作系统时,如果它出现什么问题,或者是没有资金抑或摆烂不干,对你们公司的影响会很大,所以你当然不希望这家公司倒闭,这就是所谓的依赖。

认识yum

yum是一个在Fedora、RedHat以及CentOS中的前段软件包管理器,能够从指定的服务器中自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有的软件包,无需频繁的一次次下载、安装。

注意:一个服务器同一时刻只允许一个yum进行安装,不能在同一时刻同时安装多软件

对比Windows你下载东西时只能一个一个下。

因为yum是从服务器上下载RPM包,所以下载时必须联网,可以通过ping指令判断当前服务器是否联网

查找软件包

操作:输入指令yum list

作用:罗列出可供下载的全部软件

说明:

1)软件包名称:主版本号.此版本号.源程序发行号-软件包的发行号.主机平台.cpu架构

2)"x86_64"后缀表示64位系统的安装包,"i686"后缀表示32位系统安装包,选择安装包时要和系统匹配。

3)"el7"表示操作系统的发行版本,"el7"表示"centos7/redhat7"。

4)最后一列表示的是"软件源"的名称,类似于"联想应用商店","华为应用商店"的概念。

这里我们以查找lrzsz为例

作用:lrzsz可以将Windows上的文件传到Linux中,也可以将Linux文件下载到Windows中,实现云服务器和本地机器之间的信息互传。

此时就只会显示和lrzsz相关的包

安装软件

指令:sudo yum install lrzsz

yum会自动寻找哪些安装包需要下载,这时只需要敲"y"确认即可,当出现"complete"字样时说明安装完成。

注意事项:

1)安装软件时由于需要向系统目录中写入内容,一般需要sudo或者切换到root用户才行。

2)yum一次只能安装一个软件,如果安装中再尝试用yum安装另外的软件就会报错。

如何实现本地机器和云服务器互传

既然安装了lrzsz就说明一下如何使用

指令 rz -E

通过该指令可以选择需要从本地机器上传到云服务器的文件

当然你也可以直接拖拽想传入云服务器上的文件

指令sz 文件名

该指令可将服务器上的文件下载到本地机器指定的文件中

注意此处的文件名是云服务器上你想传入本地机器的文件名

卸载软件

指令:sudo yum remove 软件名

yum会自动卸载此软件,这时候敲"y"确认卸载,当出现"complete"字样时,说明卸载完成。

使用yum安装一些好玩的程序

  1. CMatrix

模拟电影《黑客帝国》的经典动画效果。

cpp 复制代码
sudo yum install camtrix//安装cmatrix
cmatrix//输入指令

效果演示

  1. cowsay

生成带有 ASCII 艺术奶牛的对话框。

cpp 复制代码
sudo yum install cowsay//安装
cowsay "hello Linux"//输入指令

效果演示

  1. sl

当你输入错误的 ls 时,显示一辆蒸汽火车。

cpp 复制代码
sudo yum install sl//安装sl
sl//输入指令

效果演示

  1. figlet

将文本转换为 ASCII 艺术横幅。

cpp 复制代码
sudo yum install figlet//安装

figlet "Hello World"//输入指令

效果演示

  1. aafire

在终端中显示 ASCII 火焰动画。

cpp 复制代码
sudo yum install aalib//安装
aafire//输入指令

效果演示

Linux编辑器 - vim

vim基本概念

vim在我们做开发时,主要解决我们编辑代码的问题,本质上就是一个多模式的文本编辑器。

这里我们主要介绍vim常用的三种模式:命令模式,插入模式,低行模式。

1.命令模式(Normal mode)

在命令模式下,我们可以控制屏幕光标移动,字符、字或行的删除,复制粘贴,剪切等操作。

2.插入模式(Insert mode)

只有在插入模式下才能进行文字输入,该模式是我们使用最频繁的模式。

3.低行模式(Command mode)

在低行模式下,我们可以将文件保存或退出,也可以进行查找字符串等操作。低行模式下我们还可以直接输入vim -help-modes查看当前vim的所有模式。

vim下各模式的切换

vim test.c

进入vim后默认是命令模式(普通模式),要输入文字需切换到插入模式

【命令模式】切换至【插入模式】

1)输入i:在当前光标处进入插入模式

2)输入a:在当前光标的后一位置进入插入模式

3)输入o:在当前光标处新起一行进入插入模式

【命令模式】切换至【低行模式】

1)Shift + ;即可实际上输入的就是:

【插入模式】或【低行模式】切换至【命令模式】

1)插入模式或低行模式切换至命令模式都是直接按一下Esc即可

vim命令模式各命令汇总

【移动光标】
vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、
「l」,分别控制光标左、下、上、右移一格
按「G」:移动到文章的最后
按「 $ 」:移动到光标所在行的"行尾"
按「^」:移动到光标所在行的"行首"
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
按「#l」:光标移到该行的第#个位置,如:5l,56l
按[gg]:进入到文本开始
按[shift+g]:进入文本末端
按「ctrl」+「b」:屏幕往"后"移动一页
按「ctrl」+「f」:屏幕往"前"移动一页
按「ctrl」+「u」:屏幕往"后"移动半页
按「ctrl」+「d」:屏幕往"前"移动半页
【删除文字】
「x」:每按一次,删除光标所在位置的一个字符
「#x」:例如,「6x」表示删除光标所在位置的"后面(包含自己在内)"6个字符
「X」:大写的X,每按一次,删除光标所在位置的"前面"一个字符
「#X」:例如,「20X」表示删除光标所在位置的"前面"20个字符
「dd」:删除光标所在行
#dd」:从光标所在行开始删除#行
【复制】
yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完
成复制与粘贴功能。
【替换】
「r」:替换光标所在处的字符。
「R」:替换光标所到之处的字符,直到按下「ESC」键为止
【撤销上一次操作】
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次"u"可以执行多次回
复。
「ctrl + r」: 撤销的恢复
【更改】
「cw」:更改光标所在处的字到字尾处
「c#w」:例如,「c3w」表示更改3个字
【跳至指定的行】
「ctrl」+「g」列出光标所在行的行号。
「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

vim低行模式各命令汇总

【列出行号】
「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。
跳到文件中的某一行
「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,
再回车,就会跳到文章的第15行。
【查找字符】
「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按
「n」会往后寻找到您要的关键字为止。
「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直
按「n」会往前寻找到您要的关键字为止。
问题:/ 和 ?查找有和区别?操作实验一下
【保存文件】
「w」: 在冒号输入字母「w」就可以将文件保存起来
【离开vim】
「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。
「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

vim的简单配置

【配置文件的位置】

1)在目录/etc/下面,有个名为vimrc的文件,这是系统中公共的配置文件,对所有用户都有效。

2)在每个用户的主目录/home/xxx下,都可以自己建立私有的配置文件,命名为".vimrc",这是该用户私有的配置文件,仅对该用户有效。

例如,普通用户在自己的主目录下建立了".vimrc"文件后,在文件当中输入set nu指令并保存,下一次打开vim的时候就会自动显示行号。

vim的配置比较复杂,某些vim配置还需要使用插件,建议不要自己一个个去配置。比较简单的方法是直接执行以下指令(想在哪个用户下让vim配置生效,就在哪个用户下执行该指令,不推荐直接在root下执行):

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

然后按照提示输入root密码:

配置完成后手动执行

配置完成后背景颜色,自动补全都有了。

下篇预告

Linux编译器- gcc/g++

Linux调试器- gdb

相关推荐
兮动人2 小时前
Linux下安装Kafka 3.9.1
linux·运维·kafka·linux下安装kafka
艾莉丝努力练剑3 小时前
【C++STL :string类 (二) 】从接口应用到内存模型的全面探索
linux·开发语言·c++·经验分享
什么半岛铁盒3 小时前
C++项目:仿muduo库高并发服务器
linux·服务器·开发语言·c++
峰顶听歌的鲸鱼3 小时前
27.Linux swap交换空间管理
linux·运维·服务器·笔记·学习方法
凭栏落花侧3 小时前
NETSTAT命令详解
运维·服务器·网络
深思慎考3 小时前
LinuxC++项目开发日志——基于正倒排索引的boost搜索引擎(1——项目框架)
linux·c++·搜索引擎
上海云盾第一敬业销售3 小时前
DDOS高防的优点是什么
运维·网络·ddos
The star"'4 小时前
DHC服务器
linux·运维
Janspran4 小时前
嵌入式 - 内核驱动1 - 配置linux驱动
linux·运维·服务器