linux常用工具

常用工具:

软件包管理工具:yum
编程相关工具:vim,gcc/g++,gdb
项目相关工具:make/Makefile,git

软件包管理工具:yum

查看软件包:yum list|grep key
安装软件包:yum install package_name
移除软件包:yum remove package_name

编辑器:vim

vim中的操作模式:12种,常用的有三种:
普通模式:主要是使用命令进行文件内容操作
插入模式:插入数据
底行模式:用于文件内容的保存和退出
模式切换:
普通->插入:i a o I A O 插入->普通:ESC
i:从光标所在字符开始插入 I:光标移动到行首,开始插入
a:光标移动到下一个字符,开始插入 A:光标移动到行尾,开始插入
o:在光标所在行下方添加新行,开始插入 O:在光标所在行上方添加新行,开始插入

普通->底行: :/?
:W 保存 :q退出 :wq 保存并退出 :q!强制退出不保存
普通模式下的命令操作:
光标移动操作:hjkl wb ctrl+f/b gg G
对文件内容操作:
yy:复制光标所在行内容 nyy:从光标所在行向下复制n行数据 p:向光标所在行下方进行粘贴
dd:剪切光标所在行内容 ndd:从光标所在行开始向下剪切n行数据
dw:删除光标所在单词 x:删除光标所在字符
其他操作:u:撤销上一步操作 ctrl+r:反撤销
gg=G:全文对齐
编译器:gcc/g++
功能:将高级语言解释为机器可识别的指令
预处理:展开所有代码 gcc-E
编译:进行语义语法纠错,若无错误,则将程序解释为汇编语言
汇编:将汇编语言解释为二进制机器指令
链接:将所有的.o文件与库文件进行打包,最终生成一个可执行程序
链接方式:
动态链接:链接动态库
在可执行程序添加库中函数符号信息表,生成的可执行程序比较小,因为并没有把函数的实现直接加入到可执行程序中,因此运行程序的时候需要依赖动态库的存在,但是 在内存中多个程序可以共用相同的库,降低了内存中的代码冗余
静态链接:链接静态库
在生成可执行程序时,直接将库中的所有代码实现都写入了可执行程序中,生成的可执行程序比较大,在运行程序时,若多个程序都静态链接同一个库文件,会在内存中造 成代码冗余,但是静态链接的程序运行时不需要依赖库的存在
gcc的默认链接方式:动态链接,并且在生成可执行程序的时候默认链接了标准c库

调试器:gdb

调试前提:生成一个debug版本的程序
gcc默认生成的是release版本的程序,因此需要在编译程序的时候就是用gcc—g选项生成debug程序(想可执行程序中添加调试符号信息)
程序调试
1.gdb加载程序符号信息 gdb./main gdb->file main
2.流程控制指令
run:直接运行程序 start:开始逐步调试 list:查看调试行附近代码 list file:line
until:直接运行到指定行 until file:line next:下一步,直接运行函数 step:下一步,跟踪进入函数 continue:从当前位置开始继续运行程序
3.断点相关指令
break:打断点 break file:line 给指定文件指定行打断点
break func_name 给指定函数打断点
info break:查看断点信息 delete breakid:删除指定断点
watch variable_name:给变量大断点(变量监控)
4.其他指令
quit backtrace:查看调用栈信息 print :打印变量的值

项目的自动化构建工具:make/Makefile

Makefile:普通的文本文件–记录项目的构建流程规则
make:Makefile解释器–逐行解释Makefile中项目构建规则,完成项目的构建
Makefile的 编写规则:
目标对象:依赖对象
\t 要执行的指令

目标对象:要生成的可执行程序名称
依赖对象:源码文件,通过与目标对象的最后一次修改时间判断,目标对象是否需要重新生成

预定义变量:
$^ 表示所有的依赖对象
$@ 表示目标对象
$< 表示第一个依赖对象

.PHONY:声明伪对象–不管对象是否最新,是否存在,每次都需要重新生成

make的解释执行规则:
1.make在Makefile中寻找第一个目标对象进行生成,生成完毕则退出
2.在生成目标对象之前,先判断依赖对象是否生成(先找依赖对象的生成规则,生成依赖对象,在生成目标对象)

项目的版本管理工具:git–分布式管理工具

从服务器上克隆一个仓库
添加修改的文件
进行本地提交
同步到服务器

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值