🌈个人主页:@ꪔ小林Y
✨个人专栏:《C++小白闯关日记》,《C语言小白闯关日记》,《数据结构入门——从原理到实战》,《拾光Linux》
🍀代码信条:每一行代码都是成长的脚印👣,每一次调试成功都是对坚持的回应
目录
- 1.Linux系统中安装,查找,卸载软件
- yum/apt:包管理器(类似于Linux下的应用商店,即一个客户端程序)
- 2.编辑器Vim
- Vim模式——命令模式
- Vim模式——命令底行模式主要用于保存退出、查找替换和执行外部命令等操作。常用命令如下:
- vim快捷配置
- 3.编在 Linux 下编写 C/C++ 程序,最常用的编译器是 **GCC(GNU Compiler Collection)**:
- 程序的翻译过程
- 一般程序的构建过程
1.Linux系统中安装,查找,卸载软件
源代码安装rpm包
yum/apt:包管理器(类似于Linux下的应用商店,即一个客户端程序)
好的操作系统肯定有一个良好的操作系统生态。操作系统生态包括:社区论坛,官网文档,软件体系。维护更新速度,操作系统自身,富有针对性的客户群体等不同发行版使用的包管理器不同,但核心思想一致。下面以最常见的CentOS(yum)和Ubuntu(apt)为例:
- CentOS(yum):
- 搜索:
yum list | grep 包名字- 安装:
sudo yum install [-y] 包名字- 卸载:
sudo yum remove [-y] 包名字- Ubuntu(apt):
- 搜索:
apt search 你的包名字/apt show 包名字- 安装:
sudo apt install [-y] 包名字- 卸载:
sudo apt remove [-y] 包名字💡小贴士:
-y参数表示在安装/卸载过程中自动确认所有询问,避免手动交互;grep用于从软件列表中过滤出包含关键字的软件包。如果提示权限不足,记得在命令前加上sudo。>
2.编辑器Vim
1.Vim:文本编辑器,只能用来写代码或者更改配置文件;
2.Vim的模式切换
vim是具有多种模式的编辑器:
- 插入模式:可以直接写代码
- 命令模式(默认):类似word文档,可以进行输入内容,也可以进行复制粘贴来提高效率
- 底行模式:
Vim 启动后默认处于命令模式,各模式之间的切换关系如下:
- 命令模式 →插入模式:按
i- 插入模式 → 命令模式:按【Esc】
- 命令模式 →底行模式:按
shift+;(即:)- 底行模式 → 命令模式:按【Esc】
- 命令模式 →替换模式:按【shift+r】
- 替换模式 → 命令模式:按【Esc】
- 命令模式 →视图模式:按【ctrl+v】
- 视图模式 → 命令模式:按【Esc】
💡记忆技巧:无论处于哪种模式,按【Esc】都能安全退回命令模式——它是 Vim 的“大本营”,也是所有高效操作的起点。c】
Vim模式——命令模式
命令模式:更多的编辑命令模式是 Vim 的核心模式,几乎所有高效的编辑操作都在这里完成。下面按功能分类介绍常用的命令:
- 1. 光标的移动命令
- 【gg】:跳到文本开头
- 【shift+g】:跳到文本末尾
- 【行号+shift+g】:跳到指定行(如
10+shift+g跳到第 10 行) - 【^】:定位到行首
- 【$】:定位到行尾
- 【h】:左移
- 【j】:下移
- 【k】:上移
- 【l】:右移
- 【w】:以“单词”为单位向后移动
- 【b】:以“单词”为单位向前移动
- 2. 编辑命令(命令前都可以加数字,代表操作几行,如
3yy复制 3 行)- 【yy】:复制当前行
- 【p】:粘贴
- 【u】:撤销刚刚的操作
- 【ctrl+r】:恢复撤销
- 【dd】:剪切当前行
- 【x】:从光标位置向后删除一个字符
- 【ctrl+v】组合【hjkl】组合【d】:区域选择删除
- 【~】:对特定字符进行大小写切换
- 【r】:对光标所在位置的字符进行替换
- 【shift+r】:进入替换模式,从光标位置开始覆盖后续内容
- 【shift+zz】:保存并退出 Vim
- 3. 批量化注释
- 【ctrl+v】进入视图模式
- 【hjkl】进行区域选择
- 【shift+i】进入插入
- 输入【//】
- 按【esc】完成批量注释
- 4. 去注释
- 【ctrl+v】进入视图模式
- 【hjkl】区域选择
- 按【d】删除注释符号d】
Vim模式——命令底行模式主要用于保存退出、查找替换和执行外部命令等操作。常用命令如下:
- 【shift+;】(即
:):进入底行模式 - 【w】:保存
- 【q】:退出
- 【!】:强制操作,如
w!、q!、wq! - 【set nu】/【set nonu】:显示行号 / 取消行号
- 【!command】:在底行中执行 bash 命令(如
!ls查看当前目录文件) - 【vs XX.xx】:分屏对比文件
- 【ctrl+ww】:在多屏之间切换光标,光标在哪个屏幕,就在哪个屏幕编辑
- 【/关键词】:高亮搜索关键词
- 【%s/a/b/g】:将全文中的
a替换为b(g表示全局替换)
vim快捷配置
使用命令vim .vimrc进入配置,可以进行相关搜索后进行配置,例:
3.编在 Linux 下编写 C/C++ 程序,最常用的编译器是GCC(GNU Compiler Collection):
- gcc:编译 C 语言
- g++:编译 C/C++
💡提示:
gcc和g++都来自 GCC 工具链。对于.c文件用gcc,对于.cpp文件用g++。如果系统中尚未安装,可通过包管理器安装:sudo yum install gcc gcc-c++(CentOS)或sudo apt install gcc g++(Ubuntu)。++
程序的翻译过程
a.预处理
-E指预处理做完就停下
-o明确目标新文件的名称,预处理后的文件保存到code.i文件中
头文件展开:把头文件相关内容拷贝到源文件,即头源合并的过程 :
去注释
宏替换
条件编译b.编译(C——>汇编语言)
-S开始进行程序翻译,但是做完编译,就停下来c.汇编(汇编语言——>目标文件.o/.obj)
-c开始进行程序的编译,汇编过程做完就停下来d.链接
一般程序的构建过程
编译器和对应语言的关系——自举过程
- 动态链接和动态库:
缺点:一旦库文件缺失,所有程序无法运行
优点:节省资源- 静态链接和静态库:
优点:程序不再依赖任何其他的库
缺点:让可执行程序体积变大,浪费资源
🎊到这儿,Linux基础开发工具的内容就结束了。如果文中有表述不准的地方,或是你有更清晰的理解思路,强烈欢迎在评论区留言交流——技术路上多碰撞,才能更快进步
觉得内容对你有帮助的话,别忘了点赞❤️➕收藏🌟,方便后续回顾复习;想跟着一起系统学习数据结构的朋友,也可以点击关注,下一期我们会聚焦更进一步的学习。不见不散✌️