VIM编辑器

一、Linux 软件包管理器 yum

0x01 Linux下软件安装的三种方式

①源码安装: 下载到程序的源代码, 并进行编译, 得到可执行程序
②rpm安装: 下载好rpm包后还需要rpm命令,并且不解决依赖关系
③yum安装: 安装简单,并且其本身会考虑依赖关系

0x02 手机的应用市场与yum之间的对比


VIM编辑器_第1张图片

 提示: yum就相当于手机中的应用市场,是Linux下进行软件安装的一种客户端

0x03 查找Linux下能够安装的所有软件

操作指令: yum list
此时我们是否可以查找一个名叫'sl.x86_64'的软件,怎么样去查找呢?

VIM编辑器_第2张图片

软件信息:

VIM编辑器_第3张图片

0x04 安装第一个软件

操作指令: 在root,或者sudo [普通用户]下,yum -y install sl.x86_64,其中-y表示不询问是否安装

VIM编辑器_第4张图片

运行结果:

VIM编辑器_第5张图片

0x05 软件卸载

操作指令: yum remove sl.x86_64

VIM编辑器_第6张图片

0x06 yum源

为什么手机在应用市场下载软件时,知道要下载的软件在服务器的什么地方呢?
因为在应用市场中已经内置了下载时的地址
而yum下载时是去哪里搜索的呢?
因为在/etc/yum.repos.d/目录下存有配置文件

安装扩展源: # yum install -y epel-release
提示:
①yum和手机中的应用市场一样,必须联网才能使用​
②在centos里面,只能有一个yum在运行,即不能同时安装俩个软件  

0x07 文件上传

lrzsz:可以将windows下的文件上传到Linux中的软件,可以直接拖拽到窗口,也可以可以rz上传,sz发到windows的目录下
安装指令: yum -y install lrzsz
VIM编辑器_第7张图片

二、 vim编辑器

0X01 什么是vim?

是一种多模式文本编辑器,用来编写代码用的,从定位上,和记事本差不多
VIM编辑器_第8张图片

0X02 如何使用vim?

①打开文件,文件是可以存在的,也可以是不存在的,不存在就会创建一个文件

②进入时如果想退出,可以按shift + : ,输入q进行退出,w进行保存,!表示强制
③用vim编写第一个代码(进入插入模式是 i,ESC键退出插入模式,进入命令模式)
VIM编辑器_第9张图片
VIM编辑器_第10张图片
④模式转换

VIM编辑器_第11张图片

⑤光标使用(命令模式中)

上下左右 H(左)J(下)K(上)L(右)
光标定位到行首 shift+^
光标定位到行尾 shfit+$
光标定位到起始行 gg
光标定位到结束行 shfit+g
光标跳转到指定行 n+shift+g
按照单词为单位进行进行前后光标移动 b/w


⑥文本操作(命令模式中)

yy 复制当前行
n + yy 复制包含当前行及其之后的n行
u 表示撤销
Ctrl + r 撤销最近的撤销
p 粘贴
n+p 一次重复粘贴n行
dd 删除当前光标所在行
dd + p 剪切
shift + ~ 快速大小写切换
左向右删除光标之后的一个字符,支持n+x x
右向左删除光标之前的一个字符,也支持n+x X
替换一个字符,光标所在的字符,支持n+r r
替换模式,直接进行多个内容的替换 shift + r

⑦底行模式

调出行号 set nu
取消行号 set nonu
多文件操作(分屏比较) vs 文件
分屏之后跳到下一个文件 ctrl + w + w
退出当前文件 wq

⑧注释

注释多行:
a.首先进入命令模式
b.Ctrl + v进入区块模式
c.在行首选择需要注释的行
d.按大写输入i键,进入插入模式
e.输入注释符//
f.按下Esc键

删除多行注释:
a.首先进入命令模式
b.Ctrl + v进入区块模式
c.在行首选择需要删除注释的行
d.按下x键
提示:如果是//,则需要执行俩次删除多行注释操作

0X03 vim 如何配置?

①基本的配置都在根目录下的.vimrc文件下
②对vim配置方法不熟悉的新手封装的一键式vim环境安装包:
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
提示:可以直接在当前用户的根目录下直接复制安装

 0X04 如何添加信任关系?

在root 用户下输入 vim /etc/sudoers  ,找到

在下面添加当前用户即可

三、gcc&g++

 0x01 程序翻译过程

VIM编辑器_第12张图片

提示:也可以直接输入gcc test.c -o test

0x02 如何理解链接?

链接: 将自己写的C程序或者第三方库提供的方法以及启动文件等相互关联起来
在Linux中,静态库以.a为后缀,动态库以.so为后缀
在windows下,静态库以.lib结尾,动态库以.dll结尾

静态链接:在链接阶段将各种库文件和相关文件集成到可执行文件中,通俗的讲你要看书,你不用去图书馆去看,你家里就有,可以直接看

动态链接:在可执行文件装在或运行的时候,由操作系统的装载程序加载库文件,通俗的讲,你要看书,你要到图书馆去借书,在回来看
动静态链接参考自:动态链接与静态链接_d.重写由动态链接实现,重载由静态链接实现。_小黛的求职笔记的博客-CSDN博客


gcc默认采用动态链接的方式,形成可执行程序

0x03 如何使用静态库呢?

 gcc 在编译时默认使用动态链接,而我们需要使用静态链接时要在后面加上-static

说明没有安装静态库,所以可以安装一下静态库:

sudo yum install -y glibc-static
sudo yum install -y libstdc++-static

 动静态库安装参考自:
【Linux】静态库和动态库_linux安装静态库-CSDN博客

0x04 如何安装g++?

sudo yum install gcc-c++ libstdc++-devel
参考自:linux中安装g++_linux 安装g++-CSDN博客

 四、Debug调试

0x01 引言

如果一个程序可以被调试,该程序的二进制文件一定加入了一些debug信息,而centos中,默认的可执行程序是release

0x02 那么如何将可执行程序增加调试信息呢?

 gdb调试程序,必须是debug方式发布,即gcc -g

VIM编辑器_第13张图片

 普通编译和加上-g编译从大小上也可以看出,后者增加了一些调试信息

VIM编辑器_第14张图片

0x03 如何使用gdb呢?

①进入调试状态
gdb test(gdb 可执行程序)

②list/l行号:显示源代码,接着上次的位置往下列,每次列10行
VIM编辑器_第15张图片

③ break/b 行号: 在某一行设置断点

④info break:查看断点信息

⑤run/r: 运行程序

⑥step/s: 进入函数内部,相当于vs中的F11(逐语句)

⑦next/n: 单条执行,相当于vs中的F10(逐过程)
VIM编辑器_第16张图片

⑧display 变量名: 相当于vs中的监视窗口

⑨p 变量: 打印变量值 ,打印一次

⑩undisplay: 取消对先前设置的那些变量的跟踪

此时这里是常显示sum,如若去掉常显示,则可以display

finish:执行到当前函数返回,然后停下来等待命令

 ⑫continue/c: 从当前位置开始连续而非单步执行程序,即直接叨叨对应的下一个断点

VIM编辑器_第17张图片

 ⑬until X行号:跳至X

 ⑭delete breakpoints n:删除序号为n的断点
VIM编辑器_第18张图片
disable breakpoints:禁用断点
VIM编辑器_第19张图片

 ⑯enable breakpoints:启用断点

VIM编辑器_第20张图片 ⑰breaktrace(或bt):查看各级函数调用及参数

set var:修改变量的值
VIM编辑器_第21张图片

提示:finish & continue & until 比较
finish :结束当前函数
continue: 直接到达对应的下一个断点
until: 跳转到指定行

你可能感兴趣的:(【Linux学习】,linux,centos)