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项目版本主分支

Linux常用工具大全相关推荐

  1. Linux常用命令大全-toolfk程序员在线工具网

    本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果.Tool ...

  2. 嵌入式linux基本指令,成都嵌入式开发之Linux常用命令大全

    原标题:成都嵌入式开发之Linux常用命令大全 Linux系统中有很多命令,使用Linux系统最常用的就是命令操作,而不是像Windows一样,使用鼠标操作.Linux中许多常用命令是必须掌握的,也有 ...

  3. Linux 常用命令大全(虚拟机)

    目录 一.认识Linux系统 二.Linux主流发行版本 三.为什么要学习Linux系统? 四.Linux 常用目录 五.Linux 常用命令大全 一.认识Linux系统: Linux是一个免费.开源 ...

  4. linux常用工具命令

    linux常用工具命令 @(LINUX)[linux] linux常用工具命令 一dmidecode 1硬件平台 2内存 3cpu 二1sar 三iostat 1iostat -xk 1 四vmsta ...

  5. 来不及解释!Linux常用命令大全,先收藏再说

    摘要:Linux常用命令,很适合你的. 一提到操作系统,我们首先想到的就是windows和Linux.Windows以直观的可视化的方式操作,特别适合在桌面端PC上操作执行相应的软件.相比较Windo ...

  6. linux eth0 目录,教程 | Linux常用命令大全

    原标题:教程 | Linux常用命令大全 来源:Linux爱好者 ID:LinuxHub Linux常用命令 目录操作命令 ls 命令名称:ls 命令英文原意:list 命令所在路径:/bin/ls ...

  7. 《Linux编程》学习笔记 ·002【Linux常用工具GCC、GDB、Make】

    注:前言.目录见 https://blog.csdn.net/qq_44220418/article/details/108428971 文章目录 一.GCC编译器 1.GCC编译程序的流程 2.GC ...

  8. Linux常用基础指令、Linux常用工具(软件包)使用带图详解

    目录 目录相关指令: 文件相关指令: 压缩解压缩指令: 匹配查找指令: 权限相关指令: Linux常用工具: 指令使用规则:指令 [该指令的详细操作选项] [操作对象(通常有路径)],后面两可不加. ...

  9. Linux 常用工具(上)

    Linux常用工具 一.软件包管理工具 yum 二.编辑器 vim (一)定义 (二)模式分类 (三)模式切换 (四)不同模式下的常见操作 三.编译器 gcc\g++ (一)编译过程 (二)指令 四. ...

最新文章

  1. react-navigation
  2. 【机器学习】搞懂机器学习的常用评价指标!
  3. ALAssetsLibrary获取相册列表
  4. 如何开发一个可运维系统的一点体会
  5. oracle外表日期,三步教会您掌握oracle外表(external table)
  6. java自定义注解实现日志功能
  7. YUV格式学习:Y转换成RGB24
  8. 【高并发】java中的线程池 ThreadPoolExecutor
  9. 使用软件测试路由器性能报告,路由器软件测试报告.doc
  10. python词云图详细教程
  11. 视频压缩编码和音频压缩编码的基本原理
  12. 物联网之有线通信技术之短距离的现场总线
  13. vue日历加法定假假日
  14. gitlab-ci配置
  15. python 比较数字大小_Python:整数比较大小和输出 | 学步园
  16. 自动开关,每天写“日报......顺舟智能推动路灯“服务升级”
  17. 音乐学院排名计算机音乐,中国九大音乐学院排名
  18. Django 使用不同配置文件的三种方式
  19. C#:实现字数统计函数算法(附完整源码)
  20. k8s 不宕机滚动发布实战笔记

热门文章

  1. 根据包名打开其他应用。
  2. windows下使用vscode开发stm32
  3. 论文阅读:LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation
  4. matlab中拉式域转时间域,Bark域介绍和线性频率域转换到Bark域
  5. SpringBoot + Spring Security Oauth2 客户端授权
  6. iOS Crash报告分析
  7. [转载] 毕业半年,我在富士康的日日夜夜
  8. 获取手机屏幕大小、密度、分辨率、状态栏、标题栏高度
  9. 安装U8时检测后无法安装MDAC_TYP组件解决方案
  10. YOLOv2—更改CelebA数据集的bbox [by zhangzexuan][17.9.24updated]