Linux常用工具大全

Linux常用工具:
yum:应用商店,管理安装,连接服务器,软件包管理工具
软件安装方法:
1.手动源码安装
2.使用工具安装
Yum list:查看可以安装什么
yum list|grep gcc:过滤掉,得到你想安装的
Rrdtool:安装一个可以出现图形的
Yum list installed:查看已经安装的
Yum源配置

vim:编辑器
普通模式:
光标移动0
Vim配置:
https://www.cnblogs.com/highway-9/p/5984285.html
底行: q w wq q! set
!Pwd
/string
?String
普通模式:
光标移动:hjkl ctrl+f/b w/b gg:移动到首行
复制:yy nyy
粘贴:p(下行) P(上行)
撤销:u ctrl +r
其他:gg=G 全文对齐

如何运行:main:main.c
[TAB] $^ -o $@
main指的是目标对象
main.c指的是依赖对象
$^:指的是所有依赖对象就是main.c
$@:指的是目标对象main
保存退出之后(wq)–>make–>./main
Gcc:编译器
功能:将c语音代码,翻译成机器所能识别的指令集
编译过程:
预处理:展开所有代码
编译:语法语义纠错,翻译成为汇编代码
汇编:将汇编代码翻译成二进制机器可识别指令
链接:链接库,将所有代码合到一起生成可执行程序
库文件:已经汇编好的公共代码
链接:将库中的代码拿到要生成的可执行程序中
静态链接:链接静态库,将库中的代码直接全部拷贝到可执行程序中,好处是程序运行时,不需要依赖库文件的存在,缺点是占用资源较多
动态链接:链接动态库,只是记录库中的接口符号位置信息,好处是资源占用冗余较小,缺点是程序运行时需要依赖静态库的存在
共享库/运行时库
gcc默认链接方式:动态链接
gdb:调试器
功能:调试一个程序的运行过程
Linux下程序编译默认生成release版本程序,不带有调试符号信息,意味着程序无法被调试,所以程序调试的前提是编译生成debug版本程序,因此gcc编译程序时需要加上-g选项,开启调试,向程序添加调试信息
1.前提:gcc-g gdb ./main gdb->file ./main
gdb调试程序,需要将程序信息,加载到gdb中
2.gdb ./main
Gdb 进入gdb后,运行 file ./main命令
开始调试:
运行程序加载运行参数
r param1 param2
Start: 开始逐步调试
n: 下一步,并不跟踪进入函数
s: 下一步,跟踪进入函数
p var:查看变量数据
l line 查看指定行(默认当前调试行)附近代码
Until line 直接运行到指定行

  b  line 向当前调试文件指定行添加端点
  b  file:line  向指定文件指定行天剑断点
  b  func   向函数添加断点
  watch var 变量监控,给变量添加断点,当变量内容发生改变,停止
  c继续运行

i b 查看所有断点信息
d id 删除指定断点,默认删除所有

逐步调试:r start n s until p l

打断点:b c   i b(查看断点信息)  d    watch

查看调用栈信息:bt 栈顶就是函数崩溃的位置

make/makefile:项目构建工具
   Makefile:定义编译规则的普通文件
   Make:解释执行makefile定义的编译规则
   执行make命令,这时候make程序会到当前目录下寻找makefile文件,解释其中的编译规则


makefile编写规则:
         目标对象:依赖对象
		     命令

通过目标对象与依赖对象最后一次修改时间,判断目标对象是否需要重新生成
Make在makefile中只找第一个目标对象,为了生成这个目标对象,而执行命令,完毕之后直接退出(后边的对象都不会再生成了)
Makefile里面注释用#
常见预定义变量:
$@:要生成的目标对象
$^:所有的依赖对象
$<:依赖对象中的第一个
.PHONY关键字用于声明伪对象
伪对象:不管对象是否是最新,每次都要重新生成
Git:
Git:项目版本管理工具,分布式管理工具
Svn:集成式管理工具
三板斧:
克隆代码到本地
Git clone git地址
添加本地文件
Git add 新文件
提交代码到本地仓库
Git commit -m”本次提交的备注信息”
提交本地代码到服务器分支
Git push origin master
Master是git项目版本主分支

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值