目录
vim
gcc / g++
gdb
yum
git
make/Makefile
Linux系统中的vim是一个多模式的编辑器,简单来说vim就是用来写代码的。先在Linux的命令行中直接输入vim回车,如果能出现下面图片的样子,则说明我们的Linux下载好了vim。
若提示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行内容。
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光标向上移动。
如果需要在vim中正常写代码,则需要进入插入模式,怎么进入插入模式呢?具体操作就是:在命令模式中输入 i 即可进入插入模式
插入模式中,在键盘按一下Esc可以退出插入模式进入命令模式。
完成了代码编写,就需要保存退出,而保存退出的操作需要进入底行模式,在命令模式中输入 : (shift+;)即可进入底行模式
底行模式的命令:
1, w:表示保存。
2,q:表示退出vim。
3,set + nu :显示行号,set + nonu :取消显示行号。
4,vs + 文件名 :分屏操作,如果文件不存在自动创建,Ctrl+ww将光标切换到另一个文本中。如果需要退出分屏,只需要在某一个文本中的底行模式输入wq保存退出即可退出分屏。
5,! + cmd :执行Linux系统的指令。需要退出底行模式直接在键盘按Esc即可退出底行模式进入命令模式。
最后再了解一个替换模式,在命令模式中输入 R (shift+r)即可进入替换模式,退出替换模式也是Esc。
gcc与g++都是编译器,gcc只能编译C语言,而g++C语言,C++都可以编译,但建议gcc编译C语言,而g++只用来编译C++。
基本操作(gcc与g++的操作是一样的我们以g++为例):
1,-o + xxx:将生成的文件命名为xxx。
3,-S:完成编译这个步骤就停止,生成 .s 文件。4,-c:完成汇编这个步骤就停止,生成 .o 文件。
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)。
6,-g:gcc与g++默认生成的可执行程序是release的,使用-g可以让gcc与g++生成debug版本的可执行程序。(readelf -S)。
gdb是一款调试的工具,首先要记住调试可执行程序的时候可执行程序必须是debug版本的,但可以直接用来调试 .c 或者 .cpp文件。
调试的基本命令:
1,gdb + 文本名或者可执行程序:进入调试。
2,q 或者 quit:退出gdb。
3,r:开始调试,遇到断点停止,如果没有断点则直接运行完成;如果真在调试中,在执行 r 则会重新开始调试。
4,l 或者 list:显示代码,gdb会记录最近一条命令,如果命令没有变化,可以直接回车继续执行上一条命令。
5,b + 行号:在某行设置断点。
6,info b:查看已经设置的断点及断点的其他信息。
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+编号取消长显示。
14,c:继续运行,直到下一个断点停止。
15,until+行号:跳转到指定行。
yum工具的作用就是搜索下载安装软件,首先要了解yum源,yum源就是一个配置文件,简单来说就是使用yum搜索下载安装的软件需要到什么地方寻找。下图是怎么查看yum源
紧接着就是依赖关系:每搜索下载安装一个软件除了软件本身,还需要配置一些让软件运行起来的数据,软件需要数据,数据需要软件才能发挥作用就是依赖关系。
具体操作:
1,yum list 与 yum list | grep 名称:yum list 显示能下载的软件,而yum list | grep 名称 是查找具体的软件(yum search 名称 功能相似)。
2,yum install -y 软件名称:搜索下载安装某软件。
3,yum remove 软件名称:卸载某软件。
git是一款进行版本控制的工具。具体操作:
1,git version:查看git的版本信息。
2,git clone git仓库链接:添加仓库,如果是第一次添加,建议添加完成之后绑定自己的邮箱与用户名执行下面两条指令:
3,git add 文件名:将文件添加到本地仓库。
4,git commit -m “添加日志”:将代码或者文件提交到本地仓库
5,git push:将提交到本地仓库的代码或者文件提交到远端仓库。
6,git pull:让本地仓库与远端仓库的数据同步。
7,git rm 文件名:删除文件,删除之后依旧要add commit push。
8,git log:查看提交历史记录。
make是一个指令,Makefile是一个文件其作用是自动化构建项目。Makefile中需要写好依赖关系与依赖方法。
被 .PHONY定义的伪目标可以不断被执行,也就是make clean指令可以一直被执行;不像make指令需要根据生成的文件的修改时间与源文件修改的时间进行比较才能执行。如果生成的文件比源文件早了才能执行。