Linux下的软件包管理器(yum),编译器(vim),编译器(gcc/g++),调试器(gdb)使用大汇总

Posted 两片空白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下的软件包管理器(yum),编译器(vim),编译器(gcc/g++),调试器(gdb)使用大汇总相关的知识,希望对你有一定的参考价值。

目录

一.软件管理器yum

        1.1 概念

         1.2 查看软件包

        1.3 安装软件包

        1.4 卸载软件包

 二.编辑器vim

        2.1 概念

        2.2 vim的基本操作

        2.3 vim命令模式下的命令集

        2.4 末行模式命令集

三.编译器gcc/g++

        3.1 程序到可执行程序过程

        3.2 gcc选项

四.调试器gdb

        4.1 说明

        4.2 使用


一.软件管理器yum

        1.1 概念

        在Linux下安装软件,一种办法是下载到程序的源代码,并且进行编译,得到可执行程序。但是这样太麻烦了,于是有些人将一些常用的软件提前编译好,做出软件包凡在一个服务器上,通过软件包管理器就可以方便的获取到编译好的软件包们直接安装。

        yum就是Linux下常用的软件包管理器。我们可以通过yum下载某些软件。相当于手机里的应用商店。

        在Linux下下载软件的方式由3种

  1. 下载源代码进行安装
  2. rpm包安装
  3. 通过yum安装

注意:关于yum的所有操作必须保证主机的网络通常。可以使用ping指令验证。

         1.2 查看软件包

        通过yum list命令可以查看yum种的所有软件包。

        但是可能yum种软件包的数目过多,你需要特定的一个软件时,可以配合管道和grep指令来查找。

 说明:

  • 软件包名称:主版本号,次版本号,源程序发行号-软件包发行号。主机平台,cpu架构。
  • "x86_64":表示64位系统的安装包,"i686"表示32位系统安装包,选择包时要和系统匹配。
  • "el7"表示操作系统发现版的版本。"el7"表示centos7/reshat7。
  • 最后一列表示软件源名称。类似于"小米应用商店"的概念。

        1.3 安装软件包

        命令:

sudo yum install 软件包名 //需要提高权限

 中间还会需要确认是否安装。知道出现complete说明安装成功。

        1.4 卸载软件包

        命令:

sudo yum rermove 软件包名

 二.编辑器vim

        说明:

在windows下我们编写软件的工具时一个集成开发工具。可以用来编写代码,编译代码,调试代码。

在Linux下,每个部分是独立的,用vim来编写代码,用gcc/g++来编译代码,用gdb来调试代码。

        2.1 概念

        vim:是一个拥有多种模式的文本编辑器。一共拥有12种模式:six BASIC modes和six ADDITIONAL modes。可以在vim的末行模式下输入help vim_modes查看。

        下面主要介绍3种模式:

  • 正常/普通/命令模式(Normal mode)

        控制屏幕光标的移动,字符或者行的删除,移动复制某区段,以及且管道其它模式下。

  • 插入模式(Insert mode)

        只有在insert mode下,才可以做文字的输入,按下ESC键可以回到命令模式下。

  • 末行模式(last line mode)

        文件保存会在退出,也可以进行文件替换,找出字符,列出行号。在命令模式下,shift + :可以进入该模式。

注意:

        切换模式前都必须先切换到命令模式。

        在命令模式下按下shift + ;切换到末行模式,按下i,a,o可以切换到插入模式。在其它模式下,按下ESC,可以切换到命令模式。

        2.2 vim的基本操作

  • 进入vim,在系统提示符号输入vim 加 文件名称,就可以进入全屏幕编辑画面。
    • 如:vim test.c
    • 注意:进入vim编辑画面,默认是在命令模式下。
  • 命令模式切换到插入模式
    • 输入i:从当前光标位置插入
    • 输入a:从当前光标位置的同行下一个位置插入。
    • 输入o:从下一行开始插入
  • 命令模式切换到末行模式
    • 输出 "shift + ;",起始就是":"
  • 其它模式切换到命令模式
    • 输入ESC
  • vim退出
    • 末行模式下输入q!:不保存,强制退出,w:保存文件,但是不退出,wq:保存并退出。

        2.3 vim命令模式下的命令集

  • 移动光标
    • vim可以通过上下左右来移动光标,也可以通过h,j,k,i来进行左,下,右,上移动。
    • 按G:移动到文章最后
    • 按gg:移动到文件开始
    • 按$:移动到行尾
    • 按^:移动到行头
    • 按b:移动到当前单词开头
    • 按e:移动到当前单词结尾
    • 按w:移动到下一个单词开头
    • 数字n+l:移动到当前光标的后面第n字符
  • 删除文字
    • x:删除光标位置字符
    • 数字n+x:删除光标后面n个字符。不包括当前光标
    • X:删除前面一个字符
    • 数字n+X:删除前面n个字符
    • dd:删除当前行
    • 数字n+dd:从光标开始删除后面n行

注意:dd更像是Windows下的剪切,可以使用p粘贴出来,下面介绍

  • 复制文字
    • yy:复制光标所在行到缓冲区
    • 数字n+yy:复制从光标开始后面n行到缓冲区
    • p:将缓冲区的字符刷新到光标所在位置。相当于window下的粘贴。
  • 替换
    • ~:大小写转化,字符大写转为小写,小写转为大写。
    • r:替换光标所在字符。先按下r,在按需要替换的字符。
    • R:替换光标所在之处的字符,直到按下ESC结束。
  • 撤销上一次操作
    • u:回到上一次操作前。比u:误操作,删除字符,按下u可以会回到上一次操作。
    • ctrl + r:撤销恢复。避免误操作按下u。

相当于Windows下的回退上一次操作,和前进到下一次的操作。

  • 跳到指定行
    • ctrl+g:列出光标所在行
    • 数字n+G:将光标移动到第n行

        2.4 末行模式命令集

  • 列出行号
    • 输入set nu:会在文件的每一行前面列出行号
  • 跳到文件某一行
    • 直接输入数字,再回车
  • 查找字符
    • /+关键字:会跳到关键字处,如果字符不是你想要的,可以一直按n
    • ?+关键字:会跳到关键字处,如果字符不是你想要的,可以一直按n

区别:"/"按n向上找,"?"向下找

  • 替换
    • %/A/Y/g:将字符串A,替换成字符串Y。
  • 多文件
    • vs+文件名:打开另外一个文件
    • ctrl + ww:光标切换到另外一个文件。

三.编译器gcc/g++

        进行程序的编译。

        3.1 程序到可执行程序过程

  • 预处理:去注释,宏替换,条件编译,头文件展开,形成.i文件
  • 编译:检测语法错误,形成汇编语言。.s文件
  • 汇编:形成机器语言,二进程代码。.o文件
  • 连接:将程序和使用到的系统库进行链接,形成.exe文件

        3.2 gcc选项

  • -E:激活预处理,不形成新文件,你需要将其重定向到一个新文件里。
gcc  test.c -E >>test.i
  • -S:编译到汇编语言

  •  -c:编译到目标文件

  •  -o:文件输出到文件

  •  static:对生成文件采用静态链接
  • -g:生成调试信息,翻遍gdb调试用
  • -shared:生成动态库时需要使用
  • -O0
  • -O1
  • -O2
  • -O3:编译器优化程度4个级别。O0表示没有优化,O1为缺省,O3优化程度最高

四.调试器gdb

        4.1 说明

  • 程序发布方式右两种:debug模式和release模式
  • gcc/g++默认编译出来的时release模式
  • 要使用gdb调试,必须再生成可执行程序前加上-g,形成调试信息。

        4.2 使用

直接gdb+可执行程序名,进入调试。

  • list/l 行号:显示源代码,默认从头开始显示10行
  • list/l 函数名:显示函数的代码
  • r/run:运行程序
  • n/next:当条执行
  • s/step:进入函数
  • break/b 行号:在某行设置断点
  • info break:显示断点信息
  • finish:执行到当前函数的返回处(return),等待下一次命令
  • print/p:打印表达式的值,通过表达式的值可以修改变量的值会在调用函数。
  • p 变量:打印变量值。
  • set var:修改变量值 比如:set var i = 100
  • continue:从当前位置连续,非单步运行命令
  • delete breakpoint:删除所有断点
  • delete breakpoint n:删除序号为n的断电
  • disable breakpoint:禁用断点
  • enable breakpoint:启用断点
  • display 变量名:跟踪查看一个变量,每次停下来都会显示变量值。相当于监视窗口
  • undisplay:取消所有变量的跟踪。
  • info locals:查看当前栈帧局部变量值
  • breaktrace:查看各级函数调用及参数
  • until 行号n:跳到n行
  • quit:退出gdb

     

以上是关于Linux下的软件包管理器(yum),编译器(vim),编译器(gcc/g++),调试器(gdb)使用大汇总的主要内容,如果未能解决你的问题,请参考以下文章

Linux软件包管理器 yum

喵呜:Linux环境基础开发工具使用篇之Linux 软件包管理器 yum

程序包管理的前端工具yum程序包管理器编译安装sed命令

Linux工具:软件包管理器yum | 编辑器vim | 编译器gcc/g++ | 调试器gdb | 自动化构建工具make/Makefile | Linux小程序:进度条 | git命令行

Linux软件包管理器 yum

linux下的yum介绍