目录
yum
vim
GDB调试
Makefile
yum
在Linux系统上安装软件的方式有
下载到程序的源代码,自行进行编译,得到可执行程序。
获取rpm安装包,通过rpm命令进行安装。(未解决软件的依赖关系)
通过yum进行安装软件。(常用)
yum可以理解为是一种软件包管理器,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。
常见的指令:
查找软件包:yum list
补充:
"x86_64"后缀表示64位系统的安装包,"i686"后缀表示32位系统安装包
"el7"表示操作系统发行版的版本,“el7"表示的是"centos7/redhat7”,“el6"表示"centos6/redhat6
安装软件: sudo yum install 软件名
删除软件:sudo yum remove 软件名
实现本地机器和云服务器之间的文件互传: rz sz 命令
实现两台服务器上文件传输:scp命令
scp 目录/文件名 目标服务器用户名@ip地址:目标服务器目录。加-r复制目录
vim
本质上就是一个多模式的文本编辑器。
常见的三种模式:命令模式、插入模式、底行模式。
1、命令模式(Normal mode)。
在命令模式下,我们可以控制屏幕光标的移动,字符、字或行的删除,复制粘贴,剪贴等操作。
2、插入模式(Insert mode)。
只有在插入模式下才能进行文字输入
3、底行模式(Command mode)。
在底行模式下,我们可以将文件保存或退出,也可以进行查找字符串等操作。在底行模式下我们还可以直接输入vim help-modes查看当前vim的所有模式。
在命令模式下按 CTRL V可进入选择模式,类似于可视化模式,用于文本的选择等。
批量注释:在可视模式下按字母 I,(大写),输入注释符号‘//,#’,再按Esc键。
删除注释:在可视模式下选中文本,按d键即可
vim命令模式各命令汇总:
移动光标
按「k」:光标上移。
按「j」:光标下移。
按「h」:光标左移。
按「l」:光标右移。
按「gg」:移动到文本开始。
按「Shift+g」:移动到文本末尾。
按「n+Shift+g」:移动到第n行行首。
按「n+Enter」:当前光标向下移动n行。
按「w」:光标从左到右,从上到下的跳到下一个字的开头。
按「e」:光标从左到右,从上到下的跳到下一个字的结尾。
按「b」:光标从右到左,从下到上的跳到上一个字的开头
删除
按「x」:删除光标所在位置的字符。
按「nx」:删除光标所在位置开始往后的n个字符。
按「X」:删除光标所在位置的前一个字符。
按「nX」:删除光标所在位置的前n个字符。
按「dd」:删除光标所在行。
按「ndd」:删除光标所在行开始往下的n行。
复制粘贴剪切
按「yy」:复制光标所在行到缓冲区。
按「nyy」:复制光标所在行开始往下的n行到缓冲区。
按「yw」:将光标所在位置开始到字尾的字符复制到缓冲区。
按「nyw」:将光标所在位置开始往后的n个字复制到缓冲区。
按「p」:将已复制的内容在光标的下一行粘贴上。按「np」:将已复制的内容在光标的下一行粘贴n次。
按「dd」:剪切光标所在行。
按「ndd」:剪切光标所在行开始往下的n行。
撤销
按「u」:撤销。
按「Ctrl+r」:恢复刚刚的撤销。
大小写切换
按「~」:完成光标所在位置字符的大小写切换。
按「n~」:完成光标所在位置开始往后的n个字符的大小写切换。
翻页
按「Ctrl+b」:上翻一页。
按「Ctrl+f」:下翻一页。
按「Ctrl+u」:上翻半页。
按「Ctrl+d」:下翻半页。
行号设置
「set nu」:显示行号。
「set nonu」:取消行号。
保存退出
「w」:保存文件。
「q」:退出vim,如果无法离开vim,可在「q」后面跟一个「!」表示强制退出。
「wq」:保存退出。
分屏指令
「vs 文件名」:实现多文件的编辑。
「Ctrl+w+w」:光标在多屏幕下进行切换。
执行指令
「!+指令」:在不退出vim的情况下,可以在指令前面加上「!」就可以执行Linux的指令,例如查看目录、编译当前代码等。
vim的简单配置
在目录/etc/下面,有个名为vimrc的文件,这是系统中公共的配置文件,对所有用户都有效。
在每个用户的主目录/home/xxx下,都可以自己建立私有的配置文件,命名为“.vimrc”,这是该用户私有的配置文件,仅对该用户有效。
vim一键配置:curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
在哪个用户下让vim配置生效,就在哪个用户下执行该指令即可,不推荐root用户
GDB调试
程序发布的方式有两种:
debug版本:程序本身会被加入更多的调试信息,而且不做任何优化,以为开发人员提供 强大的应用程序调试能力
release版本:不会添加任何调试信息,是不可调试的。
Linux当中gcc/g++默认生成的可执行程序是release版本,生成debug版本,就需要在使用gcc/g++生成可执行程序时加上-g选项。
【调试】
1)「run/r」:运行代码(启动调试)。
2)「next/n」:逐过程调试。
3)「step/s」:逐语句调试。
4)「until 行号」:跳转至指定行。
5)「finish」:执行完当前正在调用的函数后停下来(不能是主函数)。
6)「continue/c」:运行到下一个断点处。
7)「set var 变量=x」:修改变量的值为x。
【显示】
1)「list/l n」:显示从第n行开始的源代码,每次显示10行,若n未给出则默认从上次的位置往下显示.。
2)「list/l 函数名」:显示该函数的源代码。
3)「print/p 变量」:打印变量的值。
4)「print/p &变量」:打印变量的地址。
5)「print/p 表达式」:打印表达式的值,通过表达式可以修改变量的值。
6)「display 变量」:将变量加入常显示(每次停下来都显示它的值)。
7)「display &变量」:将变量的地址加入常显示。
8)「undisplay 编号」:取消指定编号变量的常显示。
9)「bt」:查看各级函数调用及参数。
10)「info/i locals」:查看当前栈帧当中局部变量的值。
【断点】
1)「break/b n」:在第n行设置断点。
2)「break/b 函数名」:在某函数体内第一行设置断点。
3)「info breakpoint/b」:查看已打断点信息。
4)「delete/d 编号」:删除指定编号的断点。
5)「disable 编号」:禁用指定编号的断点。
6)「enable 编号」:启用指定编号的断点。
【退出gdb】
1)「quit/q」:退出gdb。
Makefile
介绍:
Makefile可以“自动化编译”,一旦写好,只需一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。
Makefile文件的简写方式:
- $@:表示依赖关系中的目标文件(冒号左侧)。
- $^:表示依赖关系中的依赖文件列表(冒号右侧全部)。
- $<:表示依赖关系中的第一个依赖文件(冒号右侧第一个)。
伪目标,用.PHONY修饰,伪目标的特性是:总是被执行。
基础样例:
补充:
自定义变量
变量名=变量值
预定义变量
获取变量值:$(变量名)
函数:
例如: