欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > Linux学习之旅:基础开发工具重点知识整理

Linux学习之旅:基础开发工具重点知识整理

2025/7/10 23:38:44 来源:https://blog.csdn.net/m0_74319933/article/details/146122345  浏览:    关键词:Linux学习之旅:基础开发工具重点知识整理

在Linux学习过程中,掌握基础开发工具是迈向深入学习和实际应用的关键一步。以下是我对基础开发工具重点知识的整理,希望能为你的Linux学习之旅提供有价值的参考。

一、软件包管理器

1. 什么是软件包

在Linux下,软件包是将预先编译好的软件进行封装形成的文件,类似于Windows上的安装程序。通过包管理器,用户可以方便地获取并安装这些软件包。

2. Linux软件生态

Linux软件生态的丰富性是衡量系统好坏的重要标准之一。许多社区和个人会免费提供软件,并建立云服务器供用户下载,这极大地丰富了Linux的软件资源。

3. 国内镜像源

国内镜像源如阿里云、清华大学开源软件镜像站等,为用户提供丰富的Linux发行版镜像和软件包,方便用户快速下载和更新软件。

4. yum具体操作

  • 查看软件包:使用yum list | grep [软件名](Centos)或apt search [软件名](Ubuntu)筛选出关注的软件包。

  • 安装软件:通过sudo yum install -y [软件名](Centos)或sudo apt install -y [软件名](Ubuntu)简单命令完成安装。

  • 卸载软件:使用sudo yum remove [-y] [软件名](Centos)或sudo apt remove [-y] [软件名](Ubuntu)卸载软件。

  • 注意事项:操作必须保证主机网络畅通,安装和卸载过程中避免重复操作,如有报错可自行搜索解决。

二、编辑器Vim

1. 基本概念

Vim是一种多模式编辑器,主要有三种模式:命令模式(Normal mode)、插入模式(Insert mode)和底行模式(Last line mode),各模式功能区分明确。

2. 基本操作

  • 进入Vim:在系统提示符输入vim [文件名]进入Vim全屏幕编辑画面,初始处于命令模式。

  • 模式切换

    • 命令模式到插入模式:按iao键。

    • 插入模式到命令模式:按ESC键。

    • 命令模式到末行模式:按shift + :键。

3. 正常模式命令集

  • 插入模式:按iao键进入插入模式,进行文字输入。

  • 移动光标:可使用键盘上的光标键或hjkl键控制光标移动,G$^等键可快速移动到文件特定位置。

  • 删除文字x键删除光标所在位置的字符,dd键删除光标所在行。

  • 复制yw复制光标所在处到字尾的字符,yy复制光标所在行。

  • 替换r键替换光标所在处的字符,R键持续替换字符直到按下ESC键。

  • 撤销上一次操作u键撤销操作,ctrl + r恢复撤销。

  • 更改cw更改光标所在处的字到字尾处。

  • 跳至指定的行ctrl + g列出光标所在行的行号,#G跳到指定行。

4. 底行模式命令集

  • 列出行号:输入set nu列出文件中每行的行号。

  • 跳到文件中的某一行:输入行号即可跳转到指定行。

  • 查找字符/关键字向后查找,?关键字向前查找。

  • 保存文件:输入w保存文件。

  • 离开Vim:输入q退出,wq保存并退出,q!强制退出不保存。

5. 简单Vim配置

  • 配置文件位置:系统公共配置文件在/etc/vimrc,用户私有配置文件在用户主目录下的.vimrc

  • 常用配置选项:如设置语法高亮(syntax on)、显示行号(set nu)、设置缩进空格数(set shiftwidth=4)等。

  • 使用插件:可安装TagList、WinManager等插件完善Vim配置,提升使用体验。

三、编译器gcc/g++

1. 背景知识

gcc/g++编译器的使用涉及预处理、编译、汇编和连接四个阶段,将源代码转换为可执行文件。

2. gcc编译选项

  • 预处理-E选项进行宏替换等预处理操作,生成.i文件。

  • 编译-S选项生成汇编代码,不进行汇编和链接。

  • 汇编-c选项将汇编代码转化为目标代码,生成.o文件。

  • 连接:将目标文件链接生成可执行文件。

3. 动态链接和静态链接

  • 静态库:编译链接时将库文件代码加入可执行文件,生成的文件较大,但运行速度快,且不依赖外部库文件,后缀名一般为.a

  • 动态库:编译链接时不加入库文件代码,程序运行时由运行时链接文件加载库,节省系统开销,后缀名一般为.so。gcc在编译时默认使用动态库。

4. gcc其他常用选项

  • -g:生成调试信息,供GNU调试器使用。

  • -O0-O1-O2-O3:编译器的优化选项,级别依次升高。

  • -w:不生成任何警告信息。

  • -Wall:生成所有警告信息。

四、自动化构建工具make/Makefile

1. 背景

Makefile定义了一系列规则,指定文件的编译顺序和依赖关系,实现自动化编译,提高软件开发效率。

2. 理解

Makefile通过定义目标文件、依赖文件和命令规则,控制文件的编译和链接过程。目标文件的依赖关系决定了编译的顺序。

3. 基本使用

  • 简单实例:通过定义目标文件、依赖文件和编译命令,实现简单程序的自动化编译。

  • 依赖关系:目标文件依赖于源文件,源文件变化时,Makefile会自动重新编译相关的目标文件。

  • 项目清理:使用clean目标删除生成的中间文件和可执行文件,方便重新编译。

4. 适度扩展语法

通过定义变量、使用函数等,简化Makefile的编写,提高其可读性和可维护性。

五、Linux第一个系统程序−进度条

1. 行缓冲区

行缓冲区的存在可能导致程序输出行为的差异,理解行缓冲区有助于控制程序的输出时机。

2. 练手−倒计时程序

通过编写倒计时程序,掌握行缓冲区的使用和控制,以及如何实现简单的文本输出控制。

3. 进度条代码

进度条的实现展示了如何通过字符操作和行缓冲区控制,实现动态的进度显示,提升用户交互体验。

六、版本控制器Git

1. 版本控制器

版本控制器记录文件的历史和开发过程,方便管理不同版本的文件和协同作业,Git是最主流的版本控制器。

2. git简史

Git诞生于2005年,因Linux内核开发需求而创建,具有速度快、支持非线性开发、完全分布式等特点。

3. 安装git

通过yum install git命令安装Git,为后续的版本控制操作做好准备。

4. 在Github创建项目

注册Github账号,创建项目并获取项目链接,为代码的上传和管理做准备。

5. 三板斧

  • git add:将代码添加到Git管理中。

  • git commit:提交改动到本地仓库,需附上提交日志。

  • git push:将本地仓库的改动同步到远程服务器,如Github。

6. 其他

  • git log/status/pull:查看提交历史、当前状态和从远程拉取更新。

  • .ignore:配置忽略文件,避免不必要的文件被纳入版本控制。

七、调试器gdb/cgdb使用

1. 样例代码

通过简单的C语言代码示例,展示如何使用gdb进行调试。

2. 预备

在编译源代码时添加-g选项,生成包含调试信息的可执行文件,为调试做好准备。

3. 常见使用

  • 开始调试:使用gdb binFile命令启动gdb调试器。

  • 退出调试:按ctrl + d或输入quit命令退出调试器。

  • 常用调试命令:如list查看源代码,run开始执行程序,next单步执行不进入函数内部,step单步执行进入函数内部,break设置断点,info break查看断点信息等。

4. 常见技巧

  • 安装cgdb:提升调试体验,实现在终端中查看代码的调试。

  • watch:监视变量值的变化,定位问题。

  • set var:修改变量的值,测试程序的行为。

  • 条件断点:设置条件断点,仅在满足条件时暂停程序执行,精准定位问题。

以上内容涵盖了Linux基础开发工具的重点知识,包括软件包管理器、Vim编辑器、gcc/g++编译器、Makefile自动化构建、进度条程序开发、Git版本控制以及gdb调试器的使用。希望这些整理能帮助你快速掌握Linux开发工具的使用,为后续的深入学习和项目开发打下坚实的基础。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词