Linux基础工具的使用(yum,vim,gdb,make/makefile)

1.yum

yum(Yellow dog Updater,Modified)是linux下非常常用的包管理器,主要用于包的安装移除。

yum操作需要联网。

常用的命令:

  1. yum search:查找软件包
  2. yum list:查找所有可用的包
  3. sudo yum install [软件名]:安装软件时,需要用到管理员权限
  4. sudo yum remove [软件名]:卸载软件时,也要管理员权限
  5. yum makecache:将软件包信息保存到本地
  6. yum clear all:清楚所有缓存

2.vim

  1. vim有12种模式,但常用的就3种模式
  1. 命令行模式:控制光标的移动、可进行复制、粘贴、删除、返回、对齐
  2. 插入模式:在文本文件中,可以进行输入,按[ESC]可回到命令行模式
  3. 底行模式:保存退出、匹配查找替换
  1. 基本操作
  1. 进入插入模式:
    a:当前光标的下一个位置插入 A:当前光标所在行尾插入
    i:当前光标进行插入 I:当前光标所在行首插入
    o:当前光标的下一行插入 O:当前光标的上一行插入(都是新起一行)
  2. 插入模式进入命令行模式
    按[ESC]按键即可
  3. 命令行模式进入底行模式
    [shift] + [:]
  4. 在底行模式下,退出编辑
    若更改了文件:需按wq保存再退出
    未更改文件:q退出
    若更改了文件,但是权限不对,导致无法更改,需按:q!退出
  1. 命令行模式基本操作:

G:光标移到文章最后
gg:光标移到文章开头
k / j / h / l:控制光标上下左右移动
ctrl + f:向下翻页
ctrl + b:向上翻页
gg=G:全文对齐
x:每按一次,删除光标所在位置后的一个字符
#x:每按一次,删除光标所在位置后的#个字符
X:每按一次,删除光标所在位置前的一个字符
#X:每按一次,删除光标所在位置前的#个字符
dd:删除光标所在行
dw:删除单词
#dd:从光标开始处删除#行
yy:复制光标所在行到缓冲区
#yy:复制光标往下#行到缓冲区
p:将缓冲区字符粘贴到光标所在位置
r:替换光标所在处的字符
R:替换光标所到之处的字符,按ESC停止
u:撤销上一次操作,可多次撤销
ctrl + r:撤销的恢复,可多次恢复
cw:更改光标所在处的单词
c#w:更改当前光标所在处开始,#个单词

  1. 底行模式基本操作:

底行直接输入数字:跳到该数字的行
/关键字:查找关键字,向下查找
?关键字:查找关键字,向上查找,按n查找下一个
w:保存文件
q:推出文件
wq:一般二者同时使用
在以打开的文件底行模式下:vs + 文件名,可再开一个窗口
ctrl + ww:窗口切换

3.gdb

gdb调试器:调试一个程序的运行过程,发现程序哪里有问题。并不是所有的程序都可以调试,调试器只能调试具有调试符号信息的程序。

程序发布有两种模式:debug模式和release模式。

gcc/g++运行出来的二进制程序,默认是release模式的。

要使用gdb调试,必须在生成二进制程序文件的时候,加上-g选项。

基本操作:

加载程序:gdb + 程序名称
开始调试:

  1. run:运行到结尾
  2. start:逐步调试
  3. 调试方法:
    list 行号:显示行号上下5行代码,总计10行
    list 函数名:显示函数,也只显示10行
    step:s,会进入函数,逐行调试
    next:n,不会进入函数,逐语句调试
    break 行号:b,在行号设置断点
    break 函数名:b,在函数头设置断点
    print :p,打印表达式的值
    until 行号:运行到行号这里停下
    continue:c,从当前位置运行到下一个断点的位置
    set var:修改变量的值
    watch 变量:给变量打断点,当变量改变下,程序停下
    delete breakpoints:删除所有断点
    delete breakpoints n:删除序号为n的断点
    disable breakpoins:禁用断点
    disable breakpoints n:禁用序号为n的断点
    enable breakpoins:启用断点
    enable breakpoins n:启用序号为n的断点
    display 变量名:跟踪查看一个变量,相当于vs中的监视
    undisplay :取消先前设置的那些变量的跟踪
    info b:查看当前设置了那些断点
    info locals:查看当前栈帧局部变量的值
    backtrace:bt,查看各级函数调用及参数,快速定位奔溃的位置

4.make/Makefile

项目自动化构建工具

makefile:文本文件,记录项目的构建流程及规则
make:makefile 的解释性程序,对构建流程和规则进行解释执行,完成构建

  1. makefile编写规则:

目标对象:依赖对象
制表符\t 执行命令
目标对象:要生成的可执行程序的名称
依赖对象:生成目标对象所需要的源码文件

  1. make执行规则:
  1. 找到当前目录下的makefile/Makefile文件
  2. 根据时间关系,判断是否需要重新生成
  3. 若要重新生成,执行指令。要生成多个,all:目标对象1 目标对象2
  4. 必须保证依赖对象存在

make中的预定义变量:都是在执行指令中使用

[email protected]:表示目标对象
$^:表示所有依赖性
$<:表示所有依赖性中的第一个

make中的%通配符:匹配任意字符串

wildcard:扩展通配符
patsubst:替换通配符

使用方法:如图
Linux基础工具的使用(yum,vim,gdb,make/makefile)
makefile中的清理工作:clean。需要我们指定执行。生成伪对象最好

伪对象:不论对象是否刷新,都需要重新生成。
Linux基础工具的使用(yum,vim,gdb,make/makefile)