如果我们要在Linux环境下进行程序的开发,这几个工具你不得不知道:

yum / vim / gcc,g++ / gdb / make, Makefile / git

本文将会逐一介绍这些常用的工具

yum

在日常生活中,我们可以用应用市场安装APP在手机里,Mac电脑也有App Store,那在Linux的Centos环境下,我们是如何进行软件安装的呢,答案就是我们的yum (Linux软件包管理器)

接下来介绍如何使用它

假如我们要安装软件sl

yum search sl(搜索sl)     && yum list |grep sl (搜索sl)这两种方式都即可

yum install sl.x86_64 (下载 sl)

yum remove sl.x86_64 (卸载 有提示) && yum -y remove sl.x86_64 (卸载 无提示)

会了这几个操作 我们就可以下载些有趣的命令玩下

关于Linux系列--有意思的命令,小火车与代码雨_zhaotiannuo_1998的博客-CSDN博客_linux小火车命令

是不是非常有意思 动手试试吧

vim

作为苦逼程序员 我们本职就是写代码 那如何在Linux环境下敲代码呢

vim作为多模式编辑器 横空出世 接下来我们会介绍vim每个模式的用法和如何互相切换

1.vim最小集

与VScode相比较 vim就只是一个单纯的编译器 他有三种模式 是我们最为常用的

命令模式(默认打开vim时就有) 输入i,o,a(任意)即可切换到插入模式(输入模式)

返回则是esc        回到命令模式 shift+:即可切换到底行模式(编辑模式)

1.如果你不知道自己在什么模式 无脑esc就可

2.vim指令集

大部分指令都是在命令模式下执行 (不是底行也不是插入)

yy/nyy:复制当前行 或者 复制当前行在内的指定若干行

p/np :粘贴一行或者多行相同的内容到当前光标所在行之下

u:撤销刚刚的操作

ctrl + r :对撤销 进行 撤销

dd/ndd : 对当前行 或者 当前行在内的n行的内容 进行 剪切

如果只进行dd/ndd 那就是删除!

----------------------------------------------------------------------------------

shift g :将光标定位到文档的最结尾

gg:将光标定位到文档的最开始位置

shift $ :将光标定位到目前文档行结尾

shift ^:将光标定位到当前文档行的开头

hjkl 分别是左下上右 为什么不用上下左右小键盘因为老款键盘没有

r :替换光标所在的字符

shift ~ :快速大小写切换

x :行内删除 从左到右

X :行内删除 从右到左

底行模式下的指令

:/world 可全文搜索world字符 且高亮

:wq! 写入并强制退出;要是没有权限 咋强制都没用

:%s/Hello/hello 替换

:set nu / nonu 设置行数

:vs test1.c 分屏

3.vim的配置

新开的vim什么都没有 但vim是可以配置很多功能的,可以语法检查 提示高亮 设置行号等等

那如何来配置vim呢

vim.vimrc 配置文件 在这个文件里添加即可 本文不再补充

gcc/g++的使用

写好了代码 那如何编译? 这需要gcc或者g++了 gcc负责c语言 g++负责c++

首先我们先介绍下一个程序的翻译过程 是如何从文本文件翻译成二进制文件的

1.预处理(头文件展开 条件编译 宏替换 去注释等等)

-E:从现在开始进行程序翻译 直到预处理阶段做完就停止

2.编译(C语言 转变 汇编语言)

-S:从现在开始进行程序翻译 直到编译阶段做完就停止

3.汇编 (汇编-> 可重定位目标二进制文件 不可以被执行的 bin.obj -> 把我们的自己的代码翻译成二进制目标文件)

-c:从现在开始进行程序翻译 直到汇编阶段做完就停止

4.链接(将我们的obj文件 和库文件某种合并 形成可执行程序)

gcc -o myfile myfille.c         gcc -o(选项)+ 你要形成文件的名字 + 文件名称

而链接的库 有动态库 和 静态库之分

动态库和动态链接:链接时 找到动态库 拷贝动态库中我们需要的代码的地址到自己可执行程序里

静态库和静态链接:链接时 找到静态库 拷贝静态库中我们需要的代码到自己可执行程序里

静态链接成功 不依赖任何库 自己就可以独立运行

动态链接成功 还是依赖动态库 一旦动态库丢失 程序无法运行

git

git是一种版本控制软件

在编写代码时 肯定有不同的版本 以前的版本如果不保存 不就丢失了吗

git就是一个仓库可以保存这些代码

git仓库 有本地仓库 和远程仓库 作为保障安全

先下载git 然后在 gitee 或者 github上创建仓库

yum install git

git clone + 仓库网址

你的目录底下就有个 文件夹 这就是你的仓库了

将需要上传的文件 拷贝到该仓库里

git add .

git commit -m '输入你的注释'        //都能看见 别乱写

//这个时候 只是本地 提交了git

git push

//提交到远端

git rm main.c

//删除

gdb使用

我们写的程序 有着debug 和 release 版本        在debug版本中 程序非常大 因为里头添加了许多的调试信息        gdb作为调试器 我们可以使用它来 调试

gdb mytest 直接这样 会报错的 因为gcc/g++默认形成的时release版本

需要 -g :让gcc/g++ 以debug 形成编译

进入调试 我们如何操作呢

list / l 行号:显示 binFile 源代码,接着上次的位置往下列,每次列 10 行。
list / l 函数名:列出某个函数的源代码。
r 或 run :运行程序。
n 或 next :单条执行。
s 或 step :进入函数调用
break(b)  行号:在某一行设置断点
break  函数名:在某个函数开头设置断点
info break :查看断点信息。
fifinish :执行到当前函数返回,然后挺下来等待命令
print(p) :打印表达式的值,通过表达式可以修改变量的值或者调用函数
p 变量:打印变量值。
set var :修改变量的值
continue( 或 c) :从当前位置开始连续而非单步执行程序
run( 或 r) :从开始连续而非单步执行程序
delete breakpoints :删除所有断点
delete breakpoints n :删除序号为 n 的断点
disable breakpoints :禁用断点
enable breakpoints :启用断点
info( 或 i) breakpoints :参看当前设置了哪些断点
display  变量名:跟踪查看一个变量,每次停下来都显示它的值
undisplay :取消对先前设置的那些变量的跟踪
until X 行号:跳至 X 行
breaktrace( 或 bt) :查看各级函数调用及参数
info ( i) locals :查看当前栈帧局部变量的值
quit :退出 gdb

Linux项目自动化构建工具 —— make/Makefile

make 是一个命令 Makefile 是一个文件

vim Makefile //打开makefilemakefile:myfile.c //依赖关系gcc -0 myfile myfile.c // 依赖方法
.PHONY:clean
clean:rm -f myfile

makefile是一个围绕依赖关系和依赖方法构建的一个自动化编译工具

好啦 到这里我们已经介绍完Linux常用工具 喜欢的朋友不妨一键三连

Linux入门级教学-常见工具介绍及其使用相关推荐

  1. Linux入门级教学-常见指令及其权限理解

    1.了解一些基本指令 2.了解shell命令 3.了解权限概念 4.权限的三大问题 Linux下基本指令 ls:显示当前目录下的文件列表 mkdir:在当前路径下 创建一个目录 pwd:显示当前我所处 ...

  2. Linux下C++开发工具介绍

    概述     就C++开发工具而言,与Windows下微软(VC, VS2005等)一统天下相比,Linux/Unix下C++开发,可谓五花八门,各式各样.Emacs, vi, eclipse, an ...

  3. 77.Linux系统日志,screen工具介绍

    Linux系统日志 日志重要吗?必须的,没有日志我们怎么知道系统状况?没有日志如何排查一个trouble?日志记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到***时** ...

  4. Linux 下的截屏并编辑的工具介绍

    当我的主力操作系统从 Windows 转换到 Ubuntu 的时候,首要考虑的就是屏幕截图工具的可用性.尽管使用默认的键盘快捷键也可以获取屏幕截图,但如果使用屏幕截图工具,可以更方便地对屏幕截图进行编 ...

  5. Linux软件安装的几种常见方式介绍

    Linux上的软件安装有以下几种常见方式介绍 1. 二进制发布包 软件已经针对具体平台编译打包发布,只要解压,修改配置即可 2. RPM包 软件已经按照redhat的包管理工具规范RPM进行打包发布, ...

  6. 常见的自动化运维工具介绍及特点、安装ansible

    常见的自动化运维工具介绍及特点.安装ansible 一.什么是自动化运维? 简单来说,自动化运维就是将日常重复性工作按照事先设定好的规则,在一定时间范围内自动化运行,而不需要人为参与. 将周期性.重复 ...

  7. 【ONE·Linux || 基本工具介绍 】

    总言   学习笔记,慢慢补充.    文章目录 总言 1.编写代码:vim 1.1.是什么和为什么 1.2.怎么用 1.3.vim常见命令介绍:命令模式下 1.4.vim常见命令介绍:底行模式下 1. ...

  8. linux服务器udp抓包工具,Linux下抓包工具tcpdump使用介绍

    点评:在传统的网络分析和测试技术中,嗅探器(sniffer)是最常见,也是最重要的技术之一,本文将介绍Linux下抓包工具tcpdump使用,需要的朋友可以参考下 在传统的网络分析和测试技术中,嗅探器 ...

  9. linux下 抓包工具下载,Linux下抓包工具tcpdump使用介绍

    Linux下抓包工具tcpdump使用介绍 发布时间:2012-11-30 17:11:39   作者:佚名   我要评论 在传统的网络分析和测试技术中,嗅探器(sniffer)是最常见,也是最重要的 ...

最新文章

  1. 这24个高频存储问题,你一定要知道!如何不停机,安全更换数据库?大厂都怎么做MySQL到Redis同步的?...
  2. 算法设计与分析男女匹配问题C语言,C语言解决新郎和新娘配对问题代码解析
  3. 大数据分析:财务报表公开数据
  4. HTML 文本格式化标签
  5. WinForm中的各种对话框
  6. 计算机应用基础计算配置教案,[定稿]计算机应用基础教案_Windows_XP版V8.1(全文完整版)...
  7. Axure5.1不能输入中文问题.
  8. C++ 11 中的右值引用
  9. contentprovider java_创建Contentprovider,
  10. 不使用 Cookie 的“Cookie”技术
  11. 推荐系统遇上深度学习(九)--评价指标AUC原理及实践
  12. Spring4 事务管理
  13. java中的页面:JSP(已过时)
  14. html5中动画总结,HTML5-CSS3总结学习(二)
  15. 【转】千万级并发实现的秘密:内核不是解决方案,而是问题所在!
  16. 装机安装必备开发软件
  17. 面试手写代码的经验分享
  18. 推荐一个视频网站-播布客
  19. 11 年膨胀 575 倍,微信为何从“小而美”变成了“大而肥”?
  20. 数学史思维导图_8张思维导图揭示:数学应该如何学,才能逆袭为学霸?

热门文章

  1. 【17173专访】Testin云测CEO王军:技术不是核心竞争力
  2. 现在什么行业最赚钱?2021最赚钱的行业大全
  3. 医疗血氧仪方案产品规格书
  4. mate8 html5测试,华为Mate8 体验评测(对比Pro5)
  5. 微软亚研院创研论坛CVPR2020分享会 圆桌会议 内容小记
  6. GlusterFS部署
  7. python 字典元素替换_Python字典替换值
  8. iOS 根据颜色生成图片
  9. 经济学中的定量分析python_论定量分析在经济学研究中的应用
  10. 另辟蹊径,阿里从业务切入移动安全