一、Linux软件包管理利器 - yum
1.1 yum工作原理
yum作为RHEL系Linux的核心包管理器,采用C/S架构:
- 本地存储元数据缓存
- 自动解析依赖关系
- 连接远程仓库获取软件包
常用命令示例:
命令 | 说明 | 示例 |
---|---|---|
yum install | 安装软件包 | sudo yum install gcc |
yum remove | 删除软件包 | sudo yum remove vim |
yum update | 更新软件包 | sudo yum update |
yum search | 搜索软件包 | yum search python3 |
yum list | 列出可用包 | yum list installed |
yum info | 查看包信息 | yum info openssl |
yum clean | 清理缓存 | yum clean all |
yum repolist | 查看仓库列表 | yum repolist all |
1.2 配置技巧
修改/etc/yum.repos.d/
下的.repo文件:
[base]
name=CentOS-$releasever
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
enabled=1
二、高效代码编辑 - Vim终极配置
2.1 模式切换速查表
操作 | 命令模式 | 插入模式 | 底行模式 |
---|---|---|---|
进入插入模式 | i/a/o | - | - |
返回命令模式 | ESC | ESC | ESC |
进入底行模式 | : | - | - |
2.2 推荐.vimrc配置
" 基础设置
set nu " 显示行号
syntax on " 语法高亮
set tabstop=4 " Tab宽度
set autoindent " 自动缩进" 插件管理(需安装Vundle)
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'preservim/nerdtree'
Plugin 'vim-airline/vim-airline'
call vundle#end()
filetype plugin indent on
2.3 常用的 vim 命令
命令模式 | 说明 | 示例 |
---|---|---|
i | 进入插入模式 | - |
:wq | 保存并退出 | - |
/text | 向下搜索文本 | /main |
:n | 跳转到第n行 | :15 |
dd | 删除当前行 | - |
yy | 复制当前行 | - |
p | 粘贴 | - |
u | 撤销操作 | - |
:set nu | 显示行号 | - |
:%s/old/new/g | 全局替换 | :%s/foo/bar/g |
三、GCC编译全过程解析
3.1 四阶段编译流程
各阶段示例:
# 预处理(生成.i文件)
gcc -E main.c -o main.i# 生成汇编(.s文件)
gcc -S main.i -o main.s # 生成目标文件(.o)
gcc -c main.s -o main.o# 静态链接
gcc main.o -static -o main_static
3.2 gcc 编译器常用命令
参数 | 说明 | 示例 |
---|---|---|
-E | 预处理阶段 | gcc -E main.c -o main.i |
-S | 生成汇编代码 | gcc -S main.i -o main.s |
-c | 生成目标文件 | gcc -c main.s -o main.o |
-o | 指定输出文件 | gcc main.o -o app |
-g | 包含调试信息 | gcc -g test.c -o debug |
-Wall | 显示所有警告 | gcc -Wall demo.c |
-O2 | 优化级别2 | gcc -O2 optimize.c |
-static | 静态链接 | gcc -static hello.c |
-I | 指定头文件路径 | gcc -I ./include src.c |
-l | 链接库文件 | gcc -lm math.c |
四、调试利器GDB实战
4.1 调试流程示例
调试段错误步骤:
# 编译带调试信息的程序
gcc -g segfault.c -o segfault# 启动调试
gdb ./segfault(gdb) break 15 # 在15行设置断点
(gdb) run # 运行程序
(gdb) backtrace # 查看调用栈
(gdb) print *ptr # 检查指针值
(gdb) x/10x memory # 查看内存区域
4.2 gdb 调试器常用命令
命令 | 说明 | 示例 |
---|---|---|
gdb [exe] | 启动调试 | gdb ./demo |
break(b) | 设置断点 | b 20 或 b main |
run(r) | 启动程序 | - |
next(n) | 单步执行(不进入函数) | - |
step(s) | 单步进入函数 | - |
print(p) | 打印变量值 | p count |
backtrace(bt) | 查看调用栈 | - |
list(l) | 显示源代码 | l 10-20 |
info locals | 查看局部变量 | - |
continue(c) | 继续执行到下一个断点 | - |
quit(q) | 退出调试器 | - |
五、自动化构建 - Makefile精要
5.1 智能Makefile示例
ProgressBar:main.c ProgressBar.cgcc -o ProgressBar main.c ProgressBar.c -DN=1
.PHONY:clean
clean:rm -f ProgressBar
5.2 Makefile常用命令
语法元素 | 说明 | 示例 |
---|---|---|
target: dependencies | 目标定义 | app: main.o utils.o |
$(CC) | 预定义变量(编译器) | CC = gcc |
$@ | 自动变量(目标文件) | gcc -o $@ $^ |
$^ | 自动变量(所有依赖) | 同上 |
.PHONY | 伪目标声明 | .PHONY: clean |
wildcard | 文件匹配 | SRC = $(wildcard *.c) |
% | 模式规则 | %.o : %.c |
-include | 包含其他Makefile | -include config.mk |
ifeq | 条件判断 | ifeq ($(OS),Linux) |
@ | 隐藏命令回显 | @echo "Compiling..." |
六、实战:动态进度条程序
详见:实验一、Linux环境下实现进度条小程序:深入解析核心实现与关键技术细节
七、Gitee代码管理速成
常用工作提交(gitee三板斧)
# 初始化仓库
git init# 关联远程仓库
git remote add origin https://gitee.com/user/repo.git# 典型提交流程
git add .
git commit -m "feat: add progress bar"
git push -u origin main# 分支管理
git checkout -b dev
git merge dev
git branch -d dev
八、总结
掌握这些核心工具的使用,将帮助开发者构建完整的Linux开发能力体系。建议通过实际项目不断练习,逐步深入理解各工具的高级用法。收藏文章,可作为日常开发快速参考手册。
使用提示:
- yum操作需要sudo权限
- vim命令区分模式(命令模式/插入模式/底行模式)
- gcc编译流程:预处理 -> 编译 -> 汇编 -> 链接
- gdb调试需要带
-g
编译的程序 - Makefile缩进必须使用Tab键(不能是空格)
思维导图: