【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
相关文章
|
23天前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
29 4
|
2月前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
360 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
1月前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
76 3
|
1月前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
38 3
|
1月前
|
Linux UED iOS开发
|
29天前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
134 0
|
16天前
|
NoSQL 编译器 C语言
C语言调试是开发中的重要技能,涵盖基本技巧如打印输出、断点调试和单步执行,以及使用GCC、GDB、Visual Studio和Eclipse CDT等工具。
C语言调试是开发中的重要技能,涵盖基本技巧如打印输出、断点调试和单步执行,以及使用GCC、GDB、Visual Studio和Eclipse CDT等工具。高级技巧包括内存检查、性能分析和符号调试。通过实践案例学习如何有效定位和解决问题,同时注意保持耐心、合理利用工具、记录过程并避免过度调试,以提高编程能力和开发效率。
34 1
|
4月前
|
NoSQL Linux C语言
Linux GDB 调试
Linux GDB 调试
67 10
|
4月前
|
NoSQL Linux C语言
嵌入式GDB调试Linux C程序或交叉编译(开发板)
【8月更文挑战第24天】本文档介绍了如何在嵌入式环境下使用GDB调试Linux C程序及进行交叉编译。调试步骤包括:编译程序时加入`-g`选项以生成调试信息;启动GDB并加载程序;设置断点;运行程序至断点;单步执行代码;查看变量值;继续执行或退出GDB。对于交叉编译,需安装对应架构的交叉编译工具链,配置编译环境,使用工具链编译程序,并将程序传输到开发板进行调试。过程中可能遇到工具链不匹配等问题,需针对性解决。
124 3
|
4月前
|
NoSQL
技术分享:如何使用GDB调试不带调试信息的可执行程序
【8月更文挑战第27天】在软件开发和调试过程中,我们有时会遇到需要调试没有调试信息的可执行程序的情况。这可能是由于程序在编译时没有加入调试信息,或者调试信息被剥离了。然而,即使面对这样的挑战,GDB(GNU Debugger)仍然提供了一些方法和技术来帮助我们进行调试。以下将详细介绍如何使用GDB调试不带调试信息的可执行程序。
125 0