文章目录
一、yum软件管理器
Linux 下按照软件的方案:
- 1、源代码按照
- 2、rpm包安装
- 3、包管理器进行安装-----yum/apt
1、包管理器
yum / apt 就像手机的应用商店
解决依赖/下载/安装/卸载
通过到软件包服务器查找、下载请求
- 操作系统生态问题!
- Centos 、Ubnutu、kail对应的群体不同
Linux机器上,有对应的给yum / apt提供的配置文件!url 或者IP地址
软件包服务器在国外,下载软件比较慢。
所以国内组织、高校,就自己花钱把国外的软件包拷贝到国内服务器,这叫镜像。
配置文件是软件源,替换成国内的。
2、yum
查看包服务器中软件包,只找了软件名包含ls 的软件包名字
安装,默认安装到系统目录下
yum install 后跟软件包名字
安装软件受权限约束,root 或者sudo yum /apt 提权
卸载:
yum remove 软件名
yum -y remove 软件名 //强制卸载,问我的全部yes
也需要root权限,才能执行
yum一次只能安装一个,如果中途关掉使用下面代码结束:
killall yum
3、apt
搜索不支持管道
apt search xxx
安装
apt install -y xxx
卸载
apt remove -y xxx
4、安装源
本地yum源配置文件所在的路径:
软件源分为稳定软件源和扩展软件源,甚至有更多分类
安装扩展软件源:
yum install -y epel-release
二、编辑器vim
1、各种模式
- 1、vim是一个专注的编辑器
- 2、多模式的编辑器
vim是Linux操作系统自带的编辑器
一般的三种模式
2、打开时直接让光标定位到指定号
3、!加命令字符
快速帮我执行最近的历史命令
三、命令模式
1、i 进入插入模式
a也进入插入模式光标向后移动
o进入插入模式,光标位置向下插入一行
- 打开vim指令默认处于命令模式,输入i 后可以编写代码,左下角会出现INSERT
- vim 不支持鼠标
2、Shift + : 进入底行模式
3、光标定位
- gg :光标定位到最开始
- G : 光标定位到最结尾
- 行号 + gg 或者 行号 + G : 光标去到指定的行号
- $ :定位到当前行的最后
- ^ : 定位到当前行最前
- h:左
- l :右
- j:下
- k:上
- w:以单词为单位向后移动,可以给前面带数字
- b:以单词为单位向前移动,可以给前面带数字
- yy:复制光标所在行,可以给前面加数字
- p:粘贴,可以给前面加数字
- dd:剪切或删除,可以给前面加数字
- x:删除光标当前位置的字符,可以带数字
- X:删除光标之前位置的字符,可以带数字
- ~:大小写转换
- r:小范围文本替换,可以带数字
4、ZZ(大写)保存并退出vim
5、R 进入替换模式
6、u撤销操作
7、ctrl + r对u进行撤销
8、ctrl + ww 分屏情况下光标移动
9、ctrl + v进入视图模式批量化编辑
批量化注释的操作:
先ctrl + v,用h、j、k、l 键选择要注释的行,选择之后然后输入shift +i,//在ESC一下自动完成注释
批量化去掉注释
ctrl + v,选择行和两列,然后d
四、底行模式
1、ESC退回命令模式
2、set nu调出行号
- set nonu 设置没有行号
3、w 保存
- w!强制保存
4、q退出
- wq保存并退出
- q!强制退出
5、/ 定位查找
- n下一个
6、! 后跟命令行操作
不退出vim的情况下指向命令行操作
7、vs 文件对比开启分屏
光标在那个文件就对那个文件操作
8、%s/文本1/文本2/g替换
将文本1替换成文本2
五、编译器gcc/g++
1、编译和运行
编译生成可执行程序,-o 选项可以设置生成文件的名字
运行
gcc常用选项:
2、编译运行的知识
3、动静态库
使用动态链接必须在系统里面存在动态库,动态库也称为共享库
使用静态链接必须在系统里面存在静态库
静态链接:把我们要的库方法实现,直接拷贝到我们的可执行程序中
在Linux系统中默认只会存在动态库
安装静态库命令:
yum install glibc-static libstdc++-static -y
六、对vim进行配置
修改当前家目录下的.vimrc的配置文件
最简单的配置让vim在打开时就能有行号
自动配置在 Centos7 x86_64下的链接
https://gitee.com/HGtz2222/VimForCpp
七、配置sudo的可信任用户
sudo配置文件所在位置:
必须使用root账号修改,把信任的用户添加进入配置文件
八、自动化构建-make/Makefile
1、make和makefile是什么
- make是一个命令
- makefile是一个文件
2、使用
简单的完成对.c文件的生成可执行程序
make指令自动执行Makefile
Makefile里的内容:
依赖关系和依赖方法,形成目标文件
make 会自定向下扫描makefile文件,默认形成第一个目标文件
如果想指定形成,make后面跟上目标文件名称
.PHONY 代表的含义是总是被执行的
Makefile的注释用#号
make会自动推导,直到依赖文件存在
3、更加具有通用型的makefile
这种类似C语言的宏替换:
但依然不够通用,只适合当前目录下只有一个源文件
4、Makefile完成多文件的编译
获取当前目录中所有.c文件:
- $(命令行命令)
- makefile自己提供了一个语法wildcard的函数
这两个命令是等价的
让命令不回显:
- 在命令前加@,不让命令回显
把.c文件替换.o文件:
- 利用makefile自己的语法规则
$^ :代表依赖文件列表
$@: 代表目标文件
%:通配符
$<:把依赖文件一批文件一个一个交给对应的命令
实现效果:
九、Linux第一个系统程序——进度条
1、回车与换行
回车跟换行是两个不同的操作。
\r: 回车表示从尾到首的过程。
\n: 换行表示从该行到下一行。
2、行缓冲区
程序在打印到显示器上是,内容存在缓冲区中,缓冲区的刷新策略是行刷新。
程序退出会强制刷新。
如果不想行刷新,想立即刷新:
C语言提供了fflush策略强制刷新
刷新标准输出流
3、进度条代码
知识点默认gcc是C89需要改版本
在编译时加选项 -std=c99
代码: