目录
一、Linux 软件包管理器 yum
二、Linux 编辑器 vim 全解
三、编译器 gcc/g++ 完整编译流程
四、调试工具 gdb(程序捉虫神器)
五、项目自动化构建 make & Makefile
六、Linux 实战小程序:进度条
七、Git 命令行 + Github 代码上传全流程
前言
做 Linux 下 C/C++ 开发,必须吃透一套完整工具链:软件安装管理器、代码编辑器、编译器、调试器、项目自动化构建工具、简单实战程序、代码版本管理工具。
一、Linux 软件包管理器 yum
1. 什么是软件包 & yum
Linux 原生安装软件需要下载源码手动编译,流程繁琐。社区将常用软件提前编译打包,存放在远程服务器,通过包管理器一键安装、卸载、管理。
- 软件包 = Windows 安装程序
- yum(Yellow dog Updater, Modified)= Linux 应用商店,适配 CentOS、RedHat、Fedora 等 RPM 系发行版
- 配套工具lrzsz:实现 Windows 与远程 Linux 服务器文件拖拽传输(XShell 工具)
2. 前置要求
yum 所有操作必须保证虚拟机 / 服务器网络正常,验证网络:

3. 核心操作命令
(1)检索软件包
筛选指定软件包,示例查找 lrzsz:

- 输出解析:lrzsz.x86_64 0.12.20-36.e17 @base
- x86_64:64 位系统包;i686:32 位包
- el7:适配 CentOS7/RHEL7;el6适配 CentOS6
- base:软件源仓库名称
(2)安装软件
系统目录写入需要管理员权限sudo ,安装时输入y确认 :

出现complete代表安装完成。
注意**:yum 同一时间只能执行一个安装任务,并发执行会直接报错。**
(3)卸载软件

二、Linux 编辑器 vim 全解
vi 是原生编辑器,vim 是 vi 增强版,支持语法高亮、可视化操作,兼容所有 vi 指令,终端、Windows、Mac 均可运行。
1. Vim 三大核心模式
vim 共 12 种模式,开发只需要掌握 3 种基础模式:
**1.正常 / 命令模式(默认进入):**控制光标、删除复制、切换其他模式
2.插入模式:唯一可输入文字的模式
3.末行模式:保存退出、查找替换、配置行号等
模式切换流程
1.打开文件直接进入命令模式:vim test.c
2.命令 → 插入:i(光标处输入)、a(光标后输入)、o(新建下一行输入)
3.插入 → 命令:按下ESC
4.命令 → 末行:shift + ;(输入:)

2. 命令模式全套操作
光标移动
h/j/k/l:左、下、上、右一格
gg:跳转文件开头;shift+G:跳转文件末尾
$:行尾;^:行首
w:下一个单词开头;e:下一个单词结尾;b:上一个单词开头
ctrl+f:向下翻一页;ctrl+b:向上翻一页
ctrl+d:向下翻半页;ctrl+u:向上翻半页
15G:直接跳转到第 15 行
删除文字
x:删除光标当前字符;6x:删除光标后 6 个字符
X:删除光标前字符;20X:删除光标前 20 个字符
dd:删除整行;5dd:从当前行向下删除 5 行
复制粘贴
yy:复制当前行;6yy:复制向下 6 行
yw:复制当前单词;3yw:复制 3 个单词
p:粘贴缓冲区内容到光标下方
替换、撤销
r:单次替换光标字符;R:持续替换,ESC 退出
u:撤销上一步操作;ctrl+r:恢复撤销内容
3. 末行模式常用命令
进入方式:ESC 回到命令模式,输入:

三、编译器 gcc/g++ 完整编译流程
C 程序从源码到可执行文件分为4 个阶段,gcc/g++ 可分步执行,也可一键编译。
- 编译四阶段详解
阶段 1:预处理(-E)
处理宏定义、头文件包含、删除注释、条件编译,生成.i预处理文件

阶段 2:编译(-S)
语法校验,将 C 代码转为汇编语言,生成.s汇编文件

阶段 3:汇编(-c)
汇编指令转为二进制机器码,生成.o目标文件

阶段 4:链接(无参数)
整合目标文件 + 系统库,生成可执行程序

-
静态库 & 动态库原理
-
静态库 & 动态库原理
代码中printf仅在stdio.h声明,实现存放在系统库中,链接阶段绑定:
1.动态库(.so,默认) :编译不嵌入库代码,运行时加载,文件体积小,系统默认libc.so.6
2.静态库(.a) :编译时 将库代码全部打包进程序,文件大,运行不依赖外部库,编译加-static参数
3. gcc 高频参数汇总

四、调试工具 gdb(程序bug神器)
1. 前置条件
gcc 默认生成 release 发布版,无调试符号,必须加-g编译才能使用 gdb :

退出 gdb:quit 或 ctrl+d
2. gdb 核心调试命令

五、项目自动化构建 make & Makefile
1. 核心价值
大型项目多文件手动敲 gcc 命令效率极低,Makefile 定义编译依赖规则,执行make一键编译;make clean一键清理编译产物,是 Linux 工程必备技能。
- make:命令工具,解析 Makefile 脚本
- Makefile:存放编译规则的文本文件
2. Makefile 完整示例
源码hello.c:

同目录创建Makefile:


4. 执行命令

六、Linux 实战小程序:进度条
1. 前置知识点:\r 回车、\n 换行、行缓冲区
- \n:换行 + 刷新缓冲区;\r:仅光标回到当前行开头,不换行
- Linux stdout 行缓冲:无换行时,printf 内容不会立刻打印,需要fflush(stdout)强制刷新缓冲区
三个对比实验理解缓冲区:

- 完整进度条代码

运行效果:单行动态加载进度,百分比同步增长,末尾换行结束。
七、Git 命令行 + Github 代码上传全流程
1. 安装 git

2. Github 仓库创建步骤
登录 Github 账号,邮箱验证;
主页点击New repository新建仓库;
填写仓库名称、选择公开 / 私有,可勾选Initialize with README;
点击Create repository创建,复制仓库 HTTPS/SSH 链接。
3. Git 三板斧(本地代码上传远端)

首次推送输入 Github 账号密码,可配置 SSH 免密提交,无需重复输入账号。