【Linux】第三篇——Linux环境下的工具(一)(yum + vim + gcc/g++ +gdb)

简介: 【Linux】第三篇——Linux环境下的工具(一)(yum + vim + gcc/g++ +gdb)

软件包管理器yum


介绍


什么是软件包?

   在Linux下安装软件,一个通常的办法是下载程序的源代码,并进行编译,得到可执行程序;但是这样很麻烦,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解成windows上的安装程序)放在一个服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,直接进行安装。


   软件包和软件管理器,就好比"APP“和"应用商店"这样的关系.


   yum(Yellow dog Updater,Modified)是Linux下非常常用的一种包管理器,主要应用在Fedora,RedHat,Centos等发行版上。

Linux下软件安装的几种方式

  • 源码安装:优点:1.文档齐全;2.因为可以定位到代码,所以debug方便;3.本机兼容性最好(由于是本机编译的,只要编译通过,就没有各种库的依赖的问题);缺点:1.编译麻烦;2.缺乏自动依赖管理,软件升级麻烦;
  • rpm安装:rmp安装相对于源码安装比较友好,这些软件会被提前编译好,然后打包成一个软件放在服务器上,通过指令即可安装.它最大缺陷就是不会解决依赖性问题,一但遇到依赖性问题,会把问题反馈给用户,让用户自己解决;

     yum管理器:yum是Linux下非常常用的一种软件包管理器,yum软件仓库便是为了进一步降低软          件安装难度和复杂度而设计的技术,为了解决软件包之间的依赖关系,但是必须要在联网的情况下        完成;

使用方法


查看软件包

显示系统提供的软件目录,也可以按关键字查找指定软件

命令:yum list

image.png

软件包名称(5.0.2-34.el7_8.2): 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.

“x86_64” 后缀表示64位系统的安装包, “i686” 后缀表示32位系统安装包. 选择包时要和系统匹配.

“el7” 表示操作系统发行版的版本. “el7” 表示的是 centos7/redhat7. “el6” 表示 centos6/redhat6.

  • 最后一列, base 表示的是 “软件源” 的名称, 类似于 “小米应用商店”, “华为应用商店” 这样的概念

我们可以通过这条指令罗列出所有的软件包,还可以通过grep来过滤出自己想要的软件。

yum list | grep lrzsz

image.png

注:我们系统原有的yum源是比较老的,而且是国外的,可以看这篇文章来更新yum源,让你的软件商店更全.

yum更新教程

安装软件包

使用下面的指令,可以安装这个软件包,加-y的意思是让程序不询问是否要安装;

sudo yum -y install boxes

image.png

这样显示即安装成功

image.png

注意事项:

  • 安装软件时由于需要向系统目录中写入内容,一般需要sudo或者切到root账户下才能完成;
  • yum安装软件只能一个装完了再装另一个,正在yum安装一个软件的过程中,如果再尝试用yum安装另外一个软件,则会报错。

卸载安装包

使用指令:

sudo yum -y remove boxes

image.png

这样显示卸载成功

image.png

rzsz工具


上面我们已经安装了rzsz工具,这个工具可以用于windows机器和远程的linux机器通过Xshell远程传输文件,可以通过拖拽的方式上传文件,十分的方便。也可以使用两条指令:

1. rz//上传文件
2. sz//发出文件

上传

image.png

发出

image.png

vim编辑器


概念


下面主要说明的是vim下的三种模式,分别是命令模式,插入模式和底行模式。

  • 命令模式:控制屏幕光标的移动,字符,字或行的删除,移动复制某区段及进入Insert mode下,或者到last line mode.

image.png

  • 插入模式:可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
  • image.png
  • 底行模式:文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入。

image.png

三者之间的关系如下所示:

image.png

vim正常模式下的命令


进入插入模式的命令

  • 按[i]切换进入插入模式[insert mode],按"i"进入插入模式后是从光标当前位置开始输入文件
  • 按[a]进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字
  • 按[O]进入插入模式后,是插入新的一行,从行首开始输入文字
  • 按ESC键切换命令模式

移动光标

  • vim可以直接用键盘上的光标上下左右移动,但正规的vim是用小写英文字母[h],[j],[k],[l],分别控制光标左,下,上,右移一格
  • 按[G]:移动到文章的最后
  • 按[Shift]+[$]: 移动到光标所在行的"行尾"
  • 按[Shift]+[^]: 移动到光标所在行的"行首"
  • 按[Shift]+[~]:    快速大小写切换
  • 按[w]:光标跳到下个字的开头
  • 按[e]:光标跳到下个字的字尾
  • 按[b]:光标回到上个字的开头
  • 按[#I:光标移到该行的第#个位置,如:5I
  • 按[gg]:进入到文本开始
  • 按[shift]+[g]:进入文本末端
  • 按[ctrl]+[b]:屏幕往"后"移动一页
  • 按[ctrl]+[f]:屏幕往"前"移动一页
  • 按[ctrl]+[u]:屏幕往"后"移动一页
  • 按[ctrl]+[d]:屏幕往"前"移动半页

删除文字

  • [x]:每按一次,删除光标所在位置的一个字符
  • [nx]:例如,[6x]表示删除光标所在位置的"后面(包含自己在内)“6个字符
  • [X]:大写的X,每按一次,删除光标所在位置的"前面"一个字符
  • [nX]:例如,[20X]表示删除光标所在位置的"前面"20个字符
  • [dd]:删除光标所在行
  • [#dd]:从光标所在行开始删除#行

复制

  • [yw]:将光标所在之处到字尾的字符复制到缓冲区中
  • [nyw]:复制#个字到缓冲区
  • [yy]:复制光标所在行到缓冲区
  • [nyy]:例如,[6yy]表示拷贝从光标所在的该行"往下数"6行文字
  • [p]:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。

替换

  • [r]:替换光标所在处的字符

撤销

  • [u]:撤销
  • [ctrl]+[r]:撤销上一次的撤销

跳转到指定行

  • [ctrl]+[g]:列出光标所在行的行号
  • [#G]:例如,[15G],表示移动光标至文章的第15行行首

vim底行模式的命令


  • 列出行号:set nu
  • image.png
  • 取消行号:set nonu
  • image.png
  • 分屏:vs 文件
  • 保存文件:输入w保存
  • 退出vim: 按q直接退出,按wq是保存并退出,加一个‘!’就是强制的意思。

简单的vim配置


配置文件的位置


  • 在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
  • 而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建这个文件。

切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~

打开自己目录下的.vimrc文件,执行 vim .vimrc

使用插件


要配置好看的vim,原生的配置可能功能不全,可以选择安装插件来完善配置,保证用户是你想要配置的用户,接下来:

可以参考本篇文章:VimForCpp: 快速将vim打造成c++ IDE (gitee.com)

安装指令

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

image.png

输入root密码之后,等待几分钟之后,环境配置成功,重新打开,可以看到:

概览

image.png

卸载指令

bash ~/.VimForCpp/uninstall.sh

 今天就到这里啦,如果对你有帮助的话,那就一赞三连吧,你的支持就是我持续更新的动力,爱你吆!!!

image.png

相关实践学习
阿里云图数据库GDB入门与应用
图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。它支持Apache TinkerPop Gremlin查询语言,可以帮您快速构建基于高度连接的数据集的应用程序。GDB非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景。 GDB由阿里云自主研发,具备如下优势: 标准图查询语言:支持属性图,高度兼容Gremlin图查询语言。 高度优化的自研引擎:高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务。 服务高可用:支持高可用实例,节点故障迅速转移,保障业务连续性。 易运维:提供备份恢复、自动升级、监控告警、故障切换等丰富的运维功能,大幅降低运维成本。 产品主页:https://www.aliyun.com/product/gdb
相关文章
|
1月前
|
存储 Linux 编译器
vim编辑器和gcc/g++编辑器的使用讲解
vim编辑器和gcc/g++编辑器的使用讲解
53 2
|
1月前
|
NoSQL Linux 开发工具
【Linux】环境基础开发工具的使用之gdb详解(三)
【Linux】环境基础开发工具的使用之gdb详解(三)
|
1月前
|
编译器 Linux 开发工具
Linux编译器-gcc/g++使用
Linux编译器-gcc/g++使用
28 0
|
1月前
|
Linux 编译器 开发工具
Linux学习第二枪(yum,vim,g++/gcc,makefile的使用)
Linux学习第二枪(yum,vim,g++/gcc,makefile的使用)
|
自然语言处理 Linux 编译器
Linux编译器——gcc/g++使用
Linux编译器——gcc/g++使用
|
1月前
|
Linux 开发工具 C语言
『Linux升级路』基础开发工具——gcc/g++篇
『Linux升级路』基础开发工具——gcc/g++篇
|
1月前
|
编译器 Linux 开发工具
【linux】Linux编译器-gcc/g++使用
【linux】Linux编译器-gcc/g++使用
22 1
|
2月前
|
Linux 编译器 C语言
【Linux】Linux编译器-gcc/g++使用
【Linux】Linux编译器-gcc/g++使用
【Linux】Linux编译器-gcc/g++使用
|
2月前
|
NoSQL Linux 编译器
【Linux工具篇】调试器gdb
【Linux工具篇】调试器gdb
21 0
|
2月前
|
编译器 Linux C语言
【Linux工具篇】编译器gcc/g++
【Linux工具篇】编译器gcc/g++
44 1