Linux | 工具使用(vim gcc g++ gdb yum git)

目录

vim

gcc / g++

gdb

yum

git

make/Makefile


vim

   Linux系统中的vim是一个多模式的编辑器,简单来说vim就是用来写代码的。先在Linux的命令行中直接输入vim回车,如果能出现下面图片的样子,则说明我们的Linux下载好了vim。Linux | 工具使用(vim gcc g++ gdb yum git)_第1张图片

若提示command not found,则表示还未安装vim编辑器,我们可以在命令行中输入命令   yum   -y   install   vim   即可下载vim;如果权限不够可以在root用户中下载或者在命令前加sudo。

   vim  +  文件名  就可以用vim打开文件了,当我们用vim打开文件时,vim默认所处的模式是命令模式,在命令模式中有一些常见的命令:

1,yy:复制光标所在的行,如果是数字n+yy表示从光标所在的行开始复制n行内容。

2,p:表示将复制的内容粘贴到光标所在行的下一行,如果是数字n+p表示将内容粘贴n遍。

3,dd:表示剪切或者删除,将光标所在的行剪切或者删除,数字n+dd表示从光标所在行开始剪切或者删除n行内容。Linux | 工具使用(vim gcc g++ gdb yum git)_第2张图片

4,G(shift+g):将光标移动到最后一行。

5,gg:将光标移动到最开始的一行。

6,数字n+G(数字n+shift+g):将光标移动到n行。

7,u:撤销操作。

8,Ctrl+r:反撤销,撤销u的操作。

9,^(shift+6):将光标移动到光标所在行的最前面(行首)。

10,$(shift+4):将光标移动到光标所在行的最后面(行尾)。

11,b w:以单词为单位使光标前后移动,b向前,w向后。

12,~(shift + `):将光标所在的字母进行大小写切换,光标会自动跳到下一个字母。

13,r+某字符:将光标所在的字符替换成某字符,如果数字n+r表示将n的字符替换成n个某字符。

14,x或者X(shift+x):将光标所在的字符删除,x向后移动删,X向前移动删。

15,h,j,k,l:h光标向左移动,j光标向下移动,k光标向上移动,l光标向上移动。Linux | 工具使用(vim gcc g++ gdb yum git)_第3张图片

如果需要在vim中正常写代码,则需要进入插入模式,怎么进入插入模式呢?具体操作就是:在命令模式中输入 i 即可进入插入模式Linux | 工具使用(vim gcc g++ gdb yum git)_第4张图片

插入模式中,在键盘按一下Esc可以退出插入模式进入命令模式。

完成了代码编写,就需要保存退出,而保存退出的操作需要进入底行模式,在命令模式中输入 : (shift+;)即可进入底行模式Linux | 工具使用(vim gcc g++ gdb yum git)_第5张图片

底行模式的命令:

1, w:表示保存。

2,q:表示退出vim。

3,set + nu :显示行号,set + nonu :取消显示行号。

4,vs + 文件名 :分屏操作,如果文件不存在自动创建,Ctrl+ww将光标切换到另一个文本中。如果需要退出分屏,只需要在某一个文本中的底行模式输入wq保存退出即可退出分屏。Linux | 工具使用(vim gcc g++ gdb yum git)_第6张图片

5,! + cmd :执行Linux系统的指令。Linux | 工具使用(vim gcc g++ gdb yum git)_第7张图片需要退出底行模式直接在键盘按Esc即可退出底行模式进入命令模式。

最后再了解一个替换模式,在命令模式中输入 R (shift+r)即可进入替换模式,退出替换模式也是Esc。 

Linux | 工具使用(vim gcc g++ gdb yum git)_第8张图片

gcc / g++

   gcc与g++都是编译器,gcc只能编译C语言,而g++C语言,C++都可以编译,但建议gcc编译C语言,而g++只用来编译C++。

   基本操作(gcc与g++的操作是一样的我们以g++为例):

1,-o + xxx:将生成的文件命名为xxx。

2,-E:完成预处理这个步骤就停止,生成 .i 文件。Linux | 工具使用(vim gcc g++ gdb yum git)_第9张图片

3,-S:完成编译这个步骤就停止,生成 .s 文件。Linux | 工具使用(vim gcc g++ gdb yum git)_第10张图片4,-c:完成汇编这个步骤就停止,生成 .o 文件。Linux | 工具使用(vim gcc g++ gdb yum git)_第11张图片

5,-static :不管是gcc还是g++默认的链接方式都是动态链接,而使用-static可以让编译器进行静态链接,但进行静态链接需要下载静态库(gcc:sudo yum -y install glibc-static,g++:sudo yum -y install libstdc++-static)。下图是静态链接的可执行程序test(在Linux中 .so是静态库,.a是静态库;在windows中 .dll是动态库,.lib是静态库)(file ldd)。Linux | 工具使用(vim gcc g++ gdb yum git)_第12张图片

6,-g:gcc与g++默认生成的可执行程序是release的,使用-g可以让gcc与g++生成debug版本的可执行程序。(readelf -S)。Linux | 工具使用(vim gcc g++ gdb yum git)_第13张图片

总结:Linux | 工具使用(vim gcc g++ gdb yum git)_第14张图片

gdb

   gdb是一款调试的工具,首先要记住调试可执行程序的时候可执行程序必须是debug版本的,但可以直接用来调试 .c 或者 .cpp文件。

   调试的基本命令:

1,gdb + 文本名或者可执行程序:进入调试。

2,q 或者 quit:退出gdb。

3,r:开始调试,遇到断点停止,如果没有断点则直接运行完成;如果真在调试中,在执行 r 则会重新开始调试。

4,l 或者 list:显示代码,gdb会记录最近一条命令,如果命令没有变化,可以直接回车继续执行上一条命令。Linux | 工具使用(vim gcc g++ gdb yum git)_第15张图片

5,b + 行号:在某行设置断点。

6,info b:查看已经设置的断点及断点的其他信息。

7, d + 断点编号:取消断点。Linux | 工具使用(vim gcc g++ gdb yum git)_第16张图片

8,disable与enable + 断点编号:disable关闭断点(使断点暂时无效),enable打开断点(使断点有效)。

9,n (next)与 s(step):n表示逐过程,与vs的f10一样,s表示逐语句,与vs的f11一样。

10,bt:查看当前的调用堆栈。

11,finish:跑完当前函数就停止。

12,p + 名称:打印显示某变量或者常量的值。

13,display + 名称与undisplay + 编号 :display表示一直显示某变量的值,每一个长显示的变量都会有一个对应的编号;undisplay+编号取消长显示。Linux | 工具使用(vim gcc g++ gdb yum git)_第17张图片

14,c:继续运行,直到下一个断点停止。

15,until+行号:跳转到指定行。

yum

   yum工具的作用就是搜索下载安装软件,首先要了解yum源,yum源就是一个配置文件,简单来说就是使用yum搜索下载安装的软件需要到什么地方寻找。下图是怎么查看yum源Linux | 工具使用(vim gcc g++ gdb yum git)_第18张图片

紧接着就是依赖关系:每搜索下载安装一个软件除了软件本身,还需要配置一些让软件运行起来的数据,软件需要数据,数据需要软件才能发挥作用就是依赖关系。

   具体操作:

1,yum  list 与 yum  list  |  grep  名称:yum  list 显示能下载的软件,而yum  list | grep 名称  是查找具体的软件(yum  search  名称  功能相似)。Linux | 工具使用(vim gcc g++ gdb yum git)_第19张图片

2,yum  install  -y  软件名称:搜索下载安装某软件。

3,yum  remove  软件名称:卸载某软件。

git

   git是一款进行版本控制的工具。具体操作:

1,git  version:查看git的版本信息。

2,git  clone  git仓库链接:添加仓库,如果是第一次添加,建议添加完成之后绑定自己的邮箱与用户名执行下面两条指令:Linux | 工具使用(vim gcc g++ gdb yum git)_第20张图片

3,git  add  文件名:将文件添加到本地仓库。

4,git  commit  -m  “添加日志”:将代码或者文件提交到本地仓库

5,git  push:将提交到本地仓库的代码或者文件提交到远端仓库。

6,git  pull:让本地仓库与远端仓库的数据同步。

7,git  rm  文件名:删除文件,删除之后依旧要add commit push。

8,git  log:查看提交历史记录。

make/Makefile

   make是一个指令,Makefile是一个文件其作用是自动化构建项目。Makefile中需要写好依赖关系与依赖方法。Linux | 工具使用(vim gcc g++ gdb yum git)_第21张图片

被 .PHONY定义的伪目标可以不断被执行,也就是make clean指令可以一直被执行;不像make指令需要根据生成的文件的修改时间与源文件修改的时间进行比较才能执行。如果生成的文件比源文件早了才能执行。Linux | 工具使用(vim gcc g++ gdb yum git)_第22张图片

Linux | 工具使用(vim gcc g++ gdb yum git)_第23张图片 

 

你可能感兴趣的:(Linux,linux,vim,gcc/g++,gdb,yum,git,make)