【Linux后端服务器开发】常用开发工具

目录

一、apt / yum

二、gcc / g++

三、make / makefile

四、vi / vim

五、gdb


一、apt / yum

apt 和 yum 都是在Linux环境下的软件包管理器,负责软件的查找、安装、更新与卸载。

apt 是Ubuntu系统的包管理器,yum是Centos系统的包管理器,它们的使用格式大致一样。

apt的使用

  • 下载软件包:sudo apt install
  • 下载并安装软件包:sudo apt install -y
  • 卸载软件包:sudo apt remove
  • 升级软件包:sudo apt upgrade
  • 更新软件库:sudo apt update
  • 查看软件包信息:apt show
  • 查看已安装的软件包:apt list --installed

yum的使用

  • 下载软件包:sudo yum install 
  • 下载并安装软件包:sudo yum install  -y
  • 卸载软件包:sudo yum remove
  • 升级软件包:sudo yum upgrade 
  • 查看所有软件包:yum list
  • 查看已安装软件包:yum list installed

二、gcc / g++

GCC(GNU Compiler Collection,GNU编译器套件)是由GNU开发的编程语言译器。

GNU工具链也包含了编译器、汇编器和连接器。一个C/C++文件要经过预处理(Preprocessing)、编译(Compilation)、汇编 (Assembly)和链接(Linking)才能变成可执行文件。

gcc只能编译链接C语言文件,g++能编译链接C语言文件和C++文件。

源文件到可执行程序的过程

  • 预处理:去注释,宏替换,头文件展开,条件编译
  • 编译:C -> 汇编
  • 汇编:汇编 -> 可重定向二进制目标文件
  • 链接:多个 .o .obj -> 合并形成一个可执行文件

【Linux后端服务器开发】常用开发工具_第1张图片

【Linux后端服务器开发】常用开发工具_第2张图片

三、make / makefile

make是一个命令,makefile是一个文件(makefile文件也可命名为Makefile)。

make命令是用来自动完成大批量源文件编译工作的维护工具;能够建立不同文件之间的依赖关系自动识别被修改的源文件并重新编译,避免不必要的编译。

通过make命令编译链接多个C语言源文件示例:

【Linux后端服务器开发】常用开发工具_第3张图片

用make配置静态库的makefile代码示例:

【Linux后端服务器开发】常用开发工具_第4张图片

四、vi / vim

vim 是 vi 的升级版本,vi 是Linux自带默认文本编辑器,vim 更好用,Linux环境安装 vim 之后需要自己配置vim环境,才能设置出更适合自己编程风格的编辑器。

模式

  • 命令模式:按 a/i/o 进入编辑模式,按 shift : 进入底层模式
  • 编辑模式:按esc进入命令模式
  • 底行模式:按esc进入命令模式

编辑模式和底层模式的相互切换,必须先按 Esc 切换为命令模式作为中转

命令模式切换到编辑模式:

【i,L】前插模式

  • i:从光标所在处前面插入
  • L:从光标所在行第一个非空字符处插入

【a,A】后插模式

  • a:从光标所在处后面插入
  • A:从光标所在行最后一个字符后面插入

【o,O】插入模式

  • o:从光标的下一行插入新的一行
  • O:从光标的上一行插入新的一行

【r,R】取代模式

  • r:取代光标所在字符一次,nr 可替换n个字符
  • R:开启取代模式,按下esc键停止


命令模式常见命令

  • yy:复制,nyy是复制n行
  • dd:剪切,ndd是剪切n行        
  • p:粘贴在下一行,np是粘贴n次;P是粘贴在前一行
  • x:删除光标处字符,nx删除n个字符;X向前删除字符
  • u:撤销操作
  • ctrl r:撤销撤销操作
  • shift g:光标定位到文件结尾,n shift g,定位到第n行
  • gg:光标定位到文件开始
  • &(shift 4):光标到当前行的最末
  • ^(shift 6):光标到当前行的开始
  • w / b:以单词为单位进行光标的前/后移动
  • h / j / k / l:光标向左/下/上/右移动
  • ~ / (shift `):大小写替换
  • shift r:替换模式,shift nr,替换n个字符
  • r:替换字符,nr,替换n个字符


批量操作

  • v:字符选择
  • shift + v:行选择
  • ctrl + v:列选择
  • shift + i:插入模式(ctrl + v进入选择模式可在每列前面插入,按esc结束插入)
  • //:插入注释
  • <:插入模式的回缩
  • >:插入模式的缩进

底行模式常见命令

  • w:保存
  • q:退出
  • !:强制执行
  • wq:保存并退出
  • !cmd:不退出vim执行终端命令
  • vs filename:分屏编辑,ctrl ww 进行光标跳转
  • %s/str1/str2/g:将文件中所有的str1字符串替换为str2,%表示当前文件全部,g表示全部替换

环境配置

如何用linux系统编写c程序_linux下c语言编程_陈陈陈小航的博客-CSDN博客

Vim设置括号自动补全和快速跳出_weixin_33755847的博客-CSDN博客

Ubuntu20.04安装YouCompleteMe自动补齐插件_OIDCAT的博客-CSDN博客

五、gdb

gdb常用指令

  • gdb exe_filename                      开始调试
  • quit                                             退出调试
  • r                                                 开始调试,若无断点,则直接运行结束(run)
  • b + 行号                                     给这一行打断点(break point)
  • info b                                          查看断点
  • d + 断点编号                              删掉某断点(delete)
  • n                                                逐过程调试(next)
  • s                                                 逐语句调试(step)
  • c                                                 进入下一个断点(continue)
  • bt                                               查看调用堆栈
  • finish                                          将函数调试结束
  • display  + 变量                           设置常显示
  • undisplay + 常显示编号             取消常显示
  • enable/disable + 断点编号         打开/关闭断点
     

你可能感兴趣的:(Linux后端服务器开发,服务器,linux,ubuntu)