linux篇【3】:Linux 环境基础开发工具yum,vim,gcc,makefile,git

目录

一.Linux 软件包管理器 yum

1.什么是软件包

2.centos 7中安装形式

3.yum安装好处:

4.yum工具的常用选项

(1)yum list | grep sl        

软件包信息介绍:

(2)sudo yum install sl ——安装软件

(3)sudo yum remove sl ——卸载软件

5.yum相关命令

二.Linux编辑器-vim

1.vim是什么/p>

2.为什么要学vim/p>

3.vim的三种模式

(1)底行模式下的操作

(2)三种模式转换关系

4.命令模式下的文本批量化操作:

5.批量化操作

(1)批量化注释-视图模式

(2)批量化替换

6.整个代码编译的流程

三.Linux编译器-gcc/g++使用

g++下载命令:sudo yum install -y gcc-c++

编译过程:

gcc test.c -o mytest 把文件编译后放进 mytest中

1.预处理

预处理,编译,汇编,链接

2.头文件和库文件

3.动态/静态链接

下载代码:

四.Linux调试器-gdb调试器 使用

1.gdb binFile 退出: ctrl + d 或 quit 调试命令:

(1)gcc hello.c -o hello_g -g 转为debug版本

 (2)gdb hello_g 进行调试

(3)gdb下的list命令显示代码,简称 l 

回车默认是继续执行上一条指令,l 0 后 多次回车就会显示全部代码

(4)b 15 – 打断点在第15行(breakpoint), info b- 显示断点信息

 (5) d 1——1是第一个断点的断点序号 – 删除第几个断点(delete)

(6)r – 重新从头开始执行程序(run),会直接跳到第一个断点处, c – 从一个断点,之间跳转到另一个断点(continue) 相当于F5

(7)p 变量名 – 显示某变量的值

(8)display 变量名/&变量名 – 持续显示某变量的值/地址(相当于监视)

undisplay 序号 – 删除第几个变量名/&变量名

(9)n – 逐过程=F10(next),s – 逐语句=F11(step)进入函数

(10)until 行号 直接跳到第几行

(11)finish 完成当前函数并跳出

(12)bt——查看调用堆栈

五.Linux项目自动化构建工具-make/Makefifile

1.make与makefile:

2.makefile使用:

make的顺序

 3..PHONY 解释

makefile是如何识别我的exe/bin文件是新的还是旧的呢/p>

4.gcc -o $@ $^  

5.makeflie中编不过就加上 -std=c99

六.进度条小程序

1.缓冲区

2.回车r vs换行

3.倒计时程序:

 4.进度条(需要usleep)

七.git

1.git,gitee,github介绍

2.git历史

3.如何使用gitee/p>

(1)git pull同步文件

4.注意事项

b:配置一下你的用户名和邮箱,目的:让文件内容可追溯。

git log可以查看作者信息:

C. gitignore:黑名单


一.Linux 软件包管理器 yum

1.什么是软件包

Linux 下安装软件 , 一个通常的办法是下载到程序的源代码 , 并进行编译 , 得到可执行程序 . 但是这样太麻烦了 , 于是有些人把一些常用的软件提前编译好 , 做成软件包 ( 可以理解成 windows 上的安 装程序 ) 放在一个服务器上 , 通过包管理器可以很方便的获取到这个编译好的软件包 , 直接进行安装 . 软件包和软件包管理器 , 就好比 “App” 应用商店 这样的关系 . yum(Yellow dog Updater, Modifified) Linux 下非常常用的一种包管理器 . 主要应用在 Fedora, RedHat, Centos 等发行版上 .

2.centos 7中安装形式

1.源码安装
2. rpm包安装
3.yum安装

3.yum安装好处:

1.不用编译源码
2.不用解决软件的依赖关系(此处作为了解)
如果我要知道我要安装什么软件,用yum可以很简单^

我们要安装别人的软件:
1.需要别人先把代码给我编译成为可执行程序
2.需要有人将编好的软件,放在用户能下载的地方(官网,应用软件市场)

Linux也是一样的!

手机安装示例:

linux篇【3】:Linux 环境基础开发工具yum,vim,gcc,makefile,git

 yum安装示例:yum类似于手机上的应用市场APP,迅雷这些安装软件

linux篇【3】:Linux 环境基础开发工具yum,vim,gcc,makefile,git

4.yum工具的常用选项

install 表示安装软件包

list 列出所有可供安装的软件包

search 搜索包含指定关键字的软件包

remove 卸载指定的软件包

(1)yum list | grep sl        

yum list:把yum包含的软件包都列出来。

yum list | grep sl :把yum包含的软件包中还有sl的软件包都列出来。

软件包信息介绍:

lrzsz.x86_64         0.12.20-36.el7         @base lrzsz软件包名称        x86:适用的平台        _64:64位         “el7” 表示的是 centos7 base 表示的是 “软件源” 的名称 注意事项: 软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构. “x86_64” 后缀表示64位系统的安装包, “i686” 后缀表示32位系统安装包. 选择包时要和系统匹配. “el7” 表示操作系统发行版的版本. “el7” 表示的是 centos7/redhat7. “el6” 表示 centos6/redhat6. 最后一列, base 表示的是 “软件源” 的名称, 类似于 “小米应用商店”, “华为应用商店” 这样的概念

(2)sudo yum install sl ——安装软件

或sudo yum install sl.x86_64 ——安装sl

需要安装的几个软件:

①sudo yum install sl

②sudo yum install -y lrzsz

③sudo yum install -y epel-release(准官方服务器列表)

sudo yum install -y vim

(3)sudo yum remove sl ——卸载软件

sudo yum remove sl ——卸载sl这个软件

5.yum相关命令

yum makecache命令的功能是将服务器的软件包信息缓存到本地(yum工具在每次安装指定软件包的时候,都会检测源服务器上的软件包信息,为了便捷不用每次都去搜索软件包信息,因此使用 yum makecache将软件包信息缓存到本地,使用 yum clean all 清理老旧的缓存信息。)

yum search命令可以在所有软件包中搜索包含有指定关键字的软件包

yum clean all 命令可以清除缓存中老旧的头文件和软件包

yum -y update:升级所有包同时,也升级软件和系统内核;

yum -y upgrade:只升级所有包,不升级软件和系统内核,软件和内核保持原样。 

二.Linux编辑器-vim

1.vim是什么/h2>

是一个编辑器

(1)只能用来写代码
(2)功能强大的多模式的编辑器

2.为什么要学vim/h2>

有时候,需要我们在生成环境下,需要你快速的定位问题,甚至需要你快速的修改代码!

3.vim的三种模式

(其实有好多模式,目前掌握这3种即可) 命令模式(command mode(或 正常/普通/默认模式)         功能:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode 插 入模式(Insert mode)         只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁 的编辑模式。 底行模式(last line mode)(或末行模式)         文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入(退出shift+: q,保存并退出shift+: wq) 替换模式:shift+r切换到替换模式,再输入就会直接覆盖已写内容

(1)底行模式下的操作

在末行模式下,键入:wq 保存并退出编辑,就算没有修改也会写入,并修改文件时间属性

在末行模式下,键入:q! 强制退出编辑,但并不保存当前修改

 在末行模式下,键入:x! 保存并退出编辑,仅当文件有修改时会保存,并修改文件时间属性

在编辑模式下,键入”ESC”键并非直接退出vi编辑,而是用于返回普通模式

linux篇【3】:Linux 环境基础开发工具yum,vim,gcc,makefile,git

(2)三种模式转换关系

命令模式——>插入模式 i:直接进入插入模式 a:从下一个字符进入插入模式 o:从下一行进入插入模式

linux篇【3】:Linux 环境基础开发工具yum,vim,gcc,makefile,git

温馨提示:任何模式想回到命令模式无脑esc

4.命令模式下的文本批量化操作:

yy:                         复制当前行,nyy——复制包括光标所在行的下面n行内容       

p:                        粘贴到当前行的后面,np——粘贴n次已复制的内容                         

dd:                        剪切(删除)当前行,ndd——剪切包括光标所在行的下面n行内容
u:                        撤销刚刚的操作(相当于vs下的ctrl+z)
ctrl+r:                        针对u操作,再次进行撤销(相当于vs下的ctrl+y)
shift+g:(就是G)            光标快速定位到文本末尾
gg:                                快速的将光标定位到文本的最开始
n+shift+g:                  光标快速定位到文本的第n行
shift+4:(4就是$)           光标快速定位到文本行的末尾
shift+6: (^)               光标快速 定位到文本行的开始          $^:通常叫锚点
w,b:                        向后(w),向前(b)在一行以单词为单位进行光标移动
h,j,k,l:                          h左,j下,k上,l右(光标的移动上下左右移动)
shift + ~ (esc下面) :        ~ 大小写快速切换
r+输入字符:                 替换光标所在的字符为输入字符, 支持nr——(把包括光标在内的后n个字符替换为n个相同字符)
shift+r:(R)                   批量化替换(写一个就覆盖一个原有内容)
x:                                删除光标所在的字符,nx——删除包括光标在内的后n个字符

s+AAA+yyy+g                vim编辑器中,将字符AAA全部替换成yyy(g比较常用,通常使用g表示全部替换,默认如果不给的话,表示只替换一次)

结论:vim更适合处理大型项目或者文件。

5.批量化操作

(1)批量化注释-视图模式

Esc到命令模式下在下面操作

批量化注释:输入法小写情况下,ctrl+v,hjkl选中区域,切换输入法大写,输入i,再输入 //, 最后esc即可

去注释:命令模式下,小写,ctrl + v,hjkl选中区域(注释区域),注意l向右移动直到选中两列 /,d。相当于删除操作。

linux篇【3】:Linux 环境基础开发工具yum,vim,gcc,makefile,git

(2)批量化替换

linux篇【3】:Linux 环境基础开发工具yum,vim,gcc,makefile,git

6.整个代码编译的流程

vim编辑文件,cat读文件,gcc mytest.c 编译文件,生成a.out文件,./a.out执行文件即可。

linux篇【3】:Linux 环境基础开发工具yum,vim,gcc,makefile,git

三.Linux编译器-gcc/g++使用

g++下载命令:sudo yum install -y gcc-c++

gcc只能编译c语言,g++能编译c语言和c++

编译过程:

linux篇【3】:Linux 环境基础开发工具yum,vim,gcc,makefile,git

gcc test.c -o mytest 把文件编译后放进 mytest中

linux篇【3】:Linux 环境基础开发工具yum,vim,gcc,makefile,git

1.预处理

来源:beyond.myself

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月16日
下一篇 2022年9月16日

相关推荐