Linux下的软件包管理器(yum),编译器(vim),编译器(gcc/g++),调试器(gdb)使用大汇总
Posted 两片空白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下的软件包管理器(yum),编译器(vim),编译器(gcc/g++),调试器(gdb)使用大汇总相关的知识,希望对你有一定的参考价值。
目录
一.软件管理器yum
1.1 概念
在Linux下安装软件,一种办法是下载到程序的源代码,并且进行编译,得到可执行程序。但是这样太麻烦了,于是有些人将一些常用的软件提前编译好,做出软件包凡在一个服务器上,通过软件包管理器就可以方便的获取到编译好的软件包们直接安装。
yum就是Linux下常用的软件包管理器。我们可以通过yum下载某些软件。相当于手机里的应用商店。
在Linux下下载软件的方式由3种
- 下载源代码进行安装
- rpm包安装
- 通过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环境基础开发工具使用篇之Linux 软件包管理器 yum
Linux工具:软件包管理器yum | 编辑器vim | 编译器gcc/g++ | 调试器gdb | 自动化构建工具make/Makefile | Linux小程序:进度条 | git命令行