Linux---(五)三大工具yum、vim、gcc/g++

这篇具有很好参考价值的文章主要介绍了Linux---(五)三大工具yum、vim、gcc/g++。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Linux---(五)三大工具yum、vim、gcc/g++,Linux,linux,vim,运维

一、yum工具

1.Linux中安装软件的方法:

(1)源代码安装(不推荐):把源代码编译,形成可执行,编译太麻烦
(2)rpm软件包安装(不推荐):安装的本质就是拷贝,把可执行程序拷贝到指定路径下即可(不知道下载哪个软件包,不知道哪个软件包是对的,不知道某个软件是否还依赖其他软件)
(3)yum一键式安装

2.什么是yum?

类似于手机上的软件商店或者应用管家。

🎗️应用商店中的特定的App没有被我安装的时候,在哪里?
在服务器端。
🎗️安装软件的本质是下载和安装
🎗️应用商店实质是一种客户端软件
🎗️Linux---(五)三大工具yum、vim、gcc/g++,Linux,linux,vim,运维
🎗️评判一款操作系统好或不好的标准:
每一款操作系统都匹配上它的社区、官方文档、配套软件,叫做对应的生态。
例如:
某款操作系统社区非常活跃,各种不一样的版本和历史上暴露出来的Bug已全部被修正,这个软件配套的我们所用的监视软件、开发软件、各种库支持的非常好,他的生态非常完整,社区非常活跃,文档非常全面,所以我觉得这个操作系统比较好,更重要的是很多公司都在用。)
🎗️很多大公司在用这款操作系统是它的生态好的表现。为什么呢?
(1)大公司的技术团队总是在筛选
(2)大公司是问题复现的高频场景。所以大公司在用,操作系统的问题很快就会暴露,尽快暴露就能被尽快修复。
(3)Linux操作系统本身是开源的,其社区会吸引一大批使用操作系统的人,有的搞内核,有的做应用开发,一定会有一大批人基于应用开发在Linux中开源一大批对应的开源软件,这些开源软件一定会为Linux操作系统提供软件功能支持。
🎗️当使用应用商店时,他怎么知道到对应的服务器上下载app呢?
因为客户端软件中内置了域名、IP地址这样的概念。
🎗️yum相关的文件中,一定有文件里面保存的是:我要去哪里下软软件。
Linux---(五)三大工具yum、vim、gcc/g++,Linux,linux,vim,运维
🎗️Linux---(五)三大工具yum、vim、gcc/g++,Linux,linux,vim,运维

3.yum源更新

其实就是用包含国内下载链接的仓库文件,替换同类型文件即可。

二、Linux编辑器–vim

1.IDE例子

IDE是指集成开发环境。
比如VS就是集编译、调试、编写、运行、支持多语言为一体,这样的环境可称为IDE(集成开发环境)。

2.vim

🎗️vi /vim 就是一款文本编辑器。
🎗️vim是一款多模式的文本编辑器。
🎗️文本编辑器的核心工作:对文本进行增删查改。

(1)vim的常用模式及切换模式

一共有12种模式:6种基本模式和6种附加模式。
Linux---(五)三大工具yum、vim、gcc/g++,Linux,linux,vim,运维

(2)底层模式常用命令

🎗️:wq 保存并退出
🎗️:w! 立马强制写入
🎗️q! 强制退出

🎗️:set number或者:set nu 可调出行号
🎗️:set nonu 不要行号

🎗️:! 命令(不退出vim运行命令,可以在不退出vim情况下进行查看、编译、运行等动作)
🎗️:/ 要查找的关键字(可进行搜索关键字,按键n可以跳转到下一个搜索该关键字的结果)

(3)插入模式常用命令

移动光标
🎗️英文字母H、J、K、L分别控制光标的左、下、右、上移动一格。
🎗️$(也就是shift+4)移动到光标所在行的结尾
🎗️^(也就是shift+6) 移动到光标所在行的行首
🎗️w 以单词为单位进行向后移动,支持跨行
🎗️b 以单词为单位进行向前移动,支持跨行
🎗️gg 定位到代码第一行
🎗️G(也就是shift+g) 定位到代码最后一行
🎗️n+G 定位到代码的第n行

删除文字
🎗️x 每按一次,删除光标所在位置的一个字符
🎗️nx 删除光标所在位置包括自己在内的后面的n个字符
🎗️X 向前删除光标所在位置的一个字符
🎗️nX 向前删除光标所在位置的n个字符
🎗️dd 删除光标所在行;剪切功能(dd完再p,可完成剪切功能)
🎗️ndd 从光标所在行开始删除n行;剪切功能(ndd完再p,可完成多行剪切功能)

复制
🎗️yw 复制一个单词
🎗️nyw 复制n个字符
🎗️yy 复制一行
🎗️nyy 复制n行(包括当前行)
🎗️p 粘贴内容到当前行之后
🎗️np 批量粘贴,将复制的内容粘贴n次

替换
🎗️r 替换光标所在处的字符
🎗️nr 替换包含光标所在处和它后面的n个字符(之后比如按下x,可以将n个字符全部替换成x)
🎗️R(也就是shift+r)切换到替换模式。从光标所在处,将输入的字符覆盖式替换原有的字符
🎗️~(也就是shift+`) 文本大小写相互转换
🎗️#(也就是shift+3) 查找同名单词(按键n可进行单词跳转)

撤销
🎗️u 对刚刚的操作撤销
🎗️ctrl+r 撤销的恢复(如果对撤销后悔)

(4)视图模式常用命令

批量化注释
🎗️ctrl+v (进入视图模式)—>j、k按键上下选中区域(注意选中区域是光标位置之前的内容)–>shift+i(也就是I)—>输入//(在最左侧)—>esc

批量化删除注释
🎗️ctrl+v(进入视图模式)–>h、j、k、l按键选中区域(删除//时要删除两列,选中时选两列)

(5)补充内容

I.vim本身自己也可以创建文件
🎗️vim一个不存在的文件名,在vim文本编辑器中编辑文件内容或者不编辑,只要在底行模式中输入命令:w(即保存文件的意思),该文件就会被创建

II.创建文件的三种方法
🎗️touch 文件名
🎗️>文件名 (重定向符号创建文件)
🎗️vim 文件名 (:w)

III.裸的vim也支持多文件编辑
🎗️在vim的底行模式中输入**:vs 文件名** 可以以分屏的模式让我们看到两个文件的代码,两侧的代码可同时进行编辑(双屏模式下再输入命令,可分三屏)
🎗️无论你打开所少个文件,光标只有一个!
光标在哪一个区域,表示当前正在编辑哪个文件!
ctrl+ww 光标切换窗口
发现:光标在左边或右边,底行只有一个。
只要光标当前在哪个文件里,那么底行对应相应文件底行。(一切以光标为主!)

IV.vim 文件名 +n
🎗️vim编辑文件时,退出时光标在哪一行,再次进来该文件时光标还在上一次的位置
🎗️vim编辑文件,然后用gcc编译文件,出现报错信息,报错信息中会有出错的行号,想要打开编辑文件时将光标定问到该行,使用命令vim 文件名 +行数(注意这里在历史退出时光标应在第一行,其次行数这里的数值应是报错行号-1)

(6)vim的配置

🎗️基础配置—>初步理解vim配置的原理

🎐在家目录下新建一个配置文件 touch .vimrc
🎐将配置选项保存到配置文件中(比如在. vimrc中保存set nu,关闭退出. vimrc,vim别的文件,可看到里面的内容自动在前面加了行号)
🎐vim在启动的时候,会自动扫描当前用户的家目录下的.vimrc,让.vimrc内部的选项生效
🎐vim配置,其实核心就是向.vimrc里面添加更多的配置选项即可。
🎐网上搜索:vim配置选项表,根据自己的需求进行添加

🎗️直接自动化部署配置
https://gitee.com/HGtz2222/VimForCpp?_from=gitee_search
点击上面的链接在文章中找到安装方法中的安装链接,复制到命令行当中,输入root密码,进行下载,下载之后根据提示重启即可直接自动化部署

三、Linux编译器-gcc/g++的使用

1.适用于什么语言

🎗️C语言用gcc/g++编译都可以
🎗️C++语言只能用g++编译

2.快速查看

(1)命令

命令:gcc code.c
Linux---(五)三大工具yum、vim、gcc/g++,Linux,linux,vim,运维

命令:gcc code.c -o mybin.exe

这句命令指明自定义形成的可执行程序名称为mybin.exe

(2)注意点

🎗️C++文件名有多种写法,有.cpp或者.cc或者.cxx这样的后缀
🎗️细节问题:Linux系统中文件后缀没有意义。但为什么编译gcc code.txt编译不过呢?
因为系统认为后缀无意义,不代表gcc不关心后缀。

3.回忆一下,程序的翻译

(1)须知

计算机只认识二进制,因为对应的磁盘、内存,CPU、寄存器各种各样的设备只认识二进制,构成这些设备的基本的电子元器件只认识二进制。

(2)先有编译器还是先有语言?

🎐早期人们在和计算机交互时,用的就是计算机语言
🎐二进制打孔编程对应的是全部喂给CPU的指令集
🎐编译器也是软件!
🎐事实上,编译器和语言的发展过程是一个自举的过程。
Linux---(五)三大工具yum、vim、gcc/g++,Linux,linux,vim,运维

(3)程序的翻译过程

Linux---(五)三大工具yum、vim、gcc/g++,Linux,linux,vim,运维
🎗️条件编译的意义(了解即可)

有很多软件,都是同一款软件,但是功能却有所差别,有的是收费的,有的是免费的。例如VS、XShell、idea、vmvare等软件,由社区版和专业版。那么问题来了,对于这两个不同版本的源代码需要维护几份?
答案:1份!
因为是软件就会有Bug,如果维护两份的话,有BUG的话两边的代码都需要修改,不好维护。而且两个版本在一定程度上有兼容性,社区版中有的专业版中一定有。同时如果只维护一份,只需要一个开发团队和测试团队。
如何做到只维护一份呢?利用条件编译,对代码进行动态裁剪。这就是条件编译的意义。

🎗️详解链接
链接过程就是把编译形成的.o文件和系统库链接起来形成可执行程序的过程。

✨为什么要用库呢?
有一些基础性工作不需要让程序员每次都要从零开始,需要有一组库文件来把公共方法抽象出来,统一以库的方式去使用,加速我们的开发效率。
✨我们现在所写的所有的代码,都是站在巨人肩膀上,已经有人给我们写好了对应的可以直接使用的函数了。
✨你所说的这批功能函数,在哪里?以什么方式呈现给我呢?
答案:在库的里面。ldd命令可用来查看一个可执行程序所依赖的第三方库的信息(在linux系统中已经提前预装了libc.so.6这样的库,并且已经提前预装了一批头文件)。
我们的代码+头文件+库=我们的可执行程序
(头文件提供方法的声明,库提供方法的实现)
✨头文件和库都是文件。所以,所谓的开发环境安装,一定要做什么工作?怎么理解?
安装下载并拷贝头文件和库文件到开发环境中的特定路径下,一定要能被编译器自己找到!

🎗️详解链接中的库

✨库的命名规则:以lib开头
例如libc.so.6,lib开头代表它是库,so代表库的类别,6代表版本号,这个库的真正名字是去掉前缀lib,去掉后缀.so.6,所以libc.so.6的库名字是C标准库。
✨库的类别:
Linux中,以.so结尾的称为动态库,以.a结尾的称为静态库。
windows中,以.dll结尾的称为动态库,以.lib结尾的称为静态库。
✨动态库vs静态库
动态库:是C/C++或者其他第三方提供的所有方法的集合。被所有程序以链接的方式关联起来。(链接方式指的是库中所有函数都有入口地址)
动态链接:就是把要链接的库中的函数地址拷贝到我们的可执行程序的特定位置。
静态库:是C/C++或者其他第三方提供的所有方法的集合。被所有程序以拷贝的方式,将需要的代码,拷贝到自己的可执行程序中。
静态链接:比如说自己写了一个文件经过编译变成了.o文件,如果在最后一步静态链接时,会把code.o和lic.a当中,源代码中用的方法的实现给你的可执行程序拷贝一份。
✨须知:库里面有很多函数,每个函数经过编译器编译之后形成库,每个函数都有地址。
✨动态链接优缺点vs静态链接优缺点
Linux---(五)三大工具yum、vim、gcc/g++,Linux,linux,vim,运维
✨gcc默认是动态链接的,采用静态链接要在命令后加-static
Linux---(五)三大工具yum、vim、gcc/g++,Linux,linux,vim,运维
✨默认情况下,大家的云服务器上是没有安装C静态库的,只有动态库,如果你要安装:
安装C静态库 sudo yum install glibc-static
安装C++静态库 sudo yum install -y libstdc+±static
✨为什么系统一般不自带静态库,而选择动态库呢?
因为编译器默认的链接方式是动态链接,主要是静态链接的体积太大的缺点难以接受。
✨我们的开发环境,默认都要为我们做什么?
1.下载开发环境include、lib文件
2.设置合理的查找路径(能找到对应的头文件和库)
3.规定好我们所形成的可执行程序的链接方式
(以上三点,当编译器出现问题时,可从这三方面思考)


Linux的三大工具已经为友友们进行详细解析,如果对大家有帮助的话,可以点赞收藏,关注后续的创作内容哦!Linux---(五)三大工具yum、vim、gcc/g++,Linux,linux,vim,运维文章来源地址https://www.toymoban.com/news/detail-753224.html

到了这里,关于Linux---(五)三大工具yum、vim、gcc/g++的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux中的工具:yum,vim,gcc/g++,make/makefile,gdb

    目录 1、yum 1.1 查看软件包:  1.2 安装软件包 1.3 卸载软件 2、vim 2.1 vim的三种模式 2.2 vim的基本操作 2.3. vim正常模式命令集 2.3.1 插入模式 2.3.2 移动光标 2.3.3 删除文字 2.3.4 复制 2.3.5 替换 2.3.6撤销上一次操作 2.3.7 更改 2.3.8 跳至指定的行 2.4. vim末行模式命令集 3、gcc/g++ 3.1 预处理

    2024年02月10日
    浏览(46)
  • Linux基础工具的使用(yum,vim,gcc,g++,gdb,make/makefile)【详解】

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

    2024年01月17日
    浏览(49)
  • Linux中的开发工具(yum,vim,gcc/g++,gdb,Makefile,git)

    yum(Yellow dog Updater,Modified)是Linux下非常常用的一种 包管理器 。主要应用在Fedora,RedHat,Centos等发行版上。 和手机上的软件商店类似,我们可以使用 yum 来下载各种我们想要的软件包。使用 yum 时必须联网。 yum 基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装

    2024年02月08日
    浏览(45)
  • 【Linux】vim(附配置sudo)、yum、gcc、g++、gdb、make/Makefile工具汇总

    (一)历史沉淀 我们在安装一个软件之前,需要先下载对应的软件包,但是这个软件包并不存在于我们本地的计算机磁盘,而是存在于远端服务器上;那么计算机如何知道该软件存在于具体的哪一台服务器上呢? 对于电脑来说,我们一般通过搜索对应软件的官网来得到相应

    2024年02月13日
    浏览(48)
  • 【Linux】Linux环境基础开发工具的使用 ———(yum、vim、gcc&g++、gdb、make/Makefile、进度条 、git)

    (꒪ꇴ꒪(꒪ꇴ꒪ )🐣,我是 Scort 🎓 🌍博客主页:张小姐的猫~江湖背景🌍 快上车🚘,握好方向盘跟我有一起打天下嘞! 送给自己的一句鸡汤🤔: 🔥集中起来的意志可以击穿顽石🔥 🙏作者水平很有限,如果发现错误,可在评论区指正,感谢🙏 🎉🎉欢迎持续关注!🎉🎉

    2024年01月16日
    浏览(53)
  • Linux开发工具大全 - 软件包管理器yum | vim编辑器 | gcc/g++编译器 | 自动化构建工具Make/Makefile | gdb调试工具

    目录 Ⅰ.  Linux 软件包管理器 yum 一、yum 背景知识 二、yum 的基本使用 1、查看软件包 2、软件包名称构成 3、安装软件 4、卸载软件 Ⅱ.vim编辑器  一、认识vim 1、vim概念  2、模式及其切换  二、vim使用 1、vim的指令(重要)  命令模式 插入模式 底行模式 2、vim配置 Ⅲ.gcc/g++编

    2024年02月05日
    浏览(55)
  • Linux——环境开发基础(vim、gcc、yum、git、gdb)

    目录 1.Linux编辑器——vim使用  2.Linux编译器——gcc/g++ 3.Linux项目自动化构建工具——make/Makefile 4.Linux软件包管理器——yum 5.Linux调试器——gdb 前言:因为篇幅原因,本文着重列出命令,小伙伴下去自己尝试,只有多使用才能真的记住!  vim是一款多模式的编辑器 ——命令模式

    2024年02月17日
    浏览(43)
  • 【Linux】谈谈vim, gdb,yum,gcc&g++的使用

    目录 一, yum ——linux软件包管理器  1. 软件包是啥子?  2.  yum基本使用  1. 步骤:  2. 开发工具推荐(centos 7.6) 二,vim —— linux文本编辑器 1. Normal mode  ——  命令模式(记不住没关系,多练就行) 2.  last line  mode——   末行模式 (如何进入;shift :) 3. Insert mode ——插

    2024年02月08日
    浏览(46)
  • [Linux][环境配置][yum][vim][gcc/g++][gdb][makefile][git]详细讲解

    本篇文章以Centos为例 通过 yum list 命令可以罗列出当前一共有哪些软件包,由于包的数目可能非常之多, 使用 grep 命令只筛选出我们关注的包 yum list | grep sl 注意事项: 软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构 “x86_64” 后缀表示64位系统

    2024年04月13日
    浏览(49)
  • Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)

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

    2024年02月05日
    浏览(86)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包