目录
一.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也是一样的!
手机安装示例:
yum安装示例:yum类似于手机上的应用市场APP,迅雷这些安装软件
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编辑,而是用于返回普通模式
(2)三种模式转换关系
命令模式——>插入模式 i:直接进入插入模式 a:从下一个字符进入插入模式 o:从下一行进入插入模式
温馨提示:任何模式想回到命令模式无脑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。相当于删除操作。
(2)批量化替换
6.整个代码编译的流程
vim编辑文件,cat读文件,gcc mytest.c 编译文件,生成a.out文件,./a.out执行文件即可。
三.Linux编译器-gcc/g++使用
g++下载命令:sudo yum install -y gcc-c++
gcc只能编译c语言,g++能编译c语言和c++
编译过程:
gcc test.c -o mytest 把文件编译后放进 mytest中
1.预处理
来源:beyond.myself
声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!