【Linux】linux工具:安装器yum、编辑器vim、编译器gcc/g++、调试器gdb、自动构建make/makefile、版本管理git

目录

1、包安装器:yum

2、安装lrzsz & xftp

3、编辑器:vim!!!!!

1)常见的三种形式

2)7字真言(正常模式下的快捷操作)

3)安装vimforcpp !

4)else

4、编译器:gcc/g++ !!!!!

1)gcc编译C,g++编译C++。

2)编译的四个过程:预处理、编译、汇编、链接。

3)静态编译 & 动态编译

5、调试器:gdb!!!!!!!!!

1)程序发布的两种方式:debug模式和release模式

2)调试的基础方法

3)三种使用场景

6、自动化构建项目:make&makefile

1)make & makefile

2)makefile文件格式

3)make的工作方式

4)makefile文件当中的自定义变量和内置变量

7、版本管理工具:git

1)克隆仓库:git clone xxxx

2)提交到本地仓库:git add/git commit -m "log"

3)推送到远端仓库:git push

4)将远端仓库内容更新到自己的本地仓库:git pull

5)git status


1、包安装器:yum

yum的常规操作(查询软件信息/安装软件/移除软件):yum三板斧

     查询软件信息:

             yum list 

             注意:yum list结果内容很多,为方便查找增加管道进行过滤 yum list | grep  xxx

     安装软件:

             yum install [-y] [xxx]

             

     移除软件:

             yum remove [-y] [xxx]

2、安装lrzsz & xftp

lrzsz & xftp 都是传输文件使用的工具

lrzsz:

    安装:yum install -y lrzsz

    使用:sz [文件名称] :将Linux文件下载到Windows环境里;

               rz [文件名称] :上传到Linux操作系统。

    注意:这个工具不能对文件夹使用。

xftp:这个工具和xshell是同源,不做过多介绍。

3、编辑器:vim!!!!!

 vim是我学习liunx的时候使用的最多最多的工具没有之一,频繁程度甚至超过指令ls、cd。

接下来咱们分四个部分介绍这个神级工具。

1)常见的三种形式

正常模式、插入模式以及底行模式。

三种模式的关系:

Linux操作系统通过指令vim [filename]进入编辑器vim的正常模式

正常模式下输入字母' i '即可进入插入模式,插入模式由esc退出到正常模式

正常模式下输入符号' : '即可进入底行模式,底行模式由esc推出到正常模式

> > 借由底行模式,我们先来了解一下编辑器vim的保存与退出:

> > 当你处在vim编辑器的底行模式下,可以通过输入以下指令排列组合进行保存退出等操作:w(保存)、q(退出)、!(强制操作)。

> >排列组合的方式有:w(只保存不退出)、q(退出)、wq(保存退出)、q!(强制退出)、wq!(强制保存退出)

图示:

2)7字真言(正常模式下的快捷操作)

移、删、复、替、撤、更、跳

移动(移):移动光标

       >>上下左右键

            h(光标左移)、j(光标下移)、k(光标上移)、l(光标右移)

            gg:光标回到文本开始

            G:光标回到文本末尾

            ^(shift+6):光标回到所在行的行首

            $(shift+4):光标回到所在行的行尾

删除(删):删除内容

       >> 删除字符:

                            x:删除光标所在字符

                            [num]x:删除光标起始的num个字符(包含光标所在字符)

                            X:删除光标所在位置的前一个字符

                            [num]X:向前删除num个字符

       >>删除行内容:

                            dd:删除一行内容

                            [num]dd:删除num行内容

复制(复):复制内容

       >> yy:复制当前光标所在行

            [num]yy:赋值当前光标下书num行

            p:粘贴到光标所在行的下一行

            P:粘贴到光标所在行的上一行

替换(替):替换内容

       >> r:替换光标所在字符(一次替换一个)

            R:替换光标所到之处的字符(一次替换多个),使用esc退回到正常模式

撤销(撤):撤销操作

       >> u:撤销上一次无操作的命令

            ctrl+r:反撤销

更改(更):更改内容

       >> cw:更改光标所在处的字到字尾处

            [c#w]:’#‘代表的是几个字,表示能修改的字数

跳跃(跳): 光标跳跃

       >> [#G]:'#'代表数字,例如15G,代表着跳转到15行的行首。

3)安装vimforcpp !

介绍之前咱们先来看一看vimforcpp的精美页面吧。

【Linux】linux工具:安装器yum、编辑器vim、编译器gcc/g++、调试器gdb、自动构建make/makefile、版本管理git_第1张图片

相比之下你看看xshell系统自带的是什么丑陋的东西(其实外观观感差别不大,我说的丑陋是功能方面的嘿嘿...)

【Linux】linux工具:安装器yum、编辑器vim、编译器gcc/g++、调试器gdb、自动构建make/makefile、版本管理git_第2张图片

安装方法来咯

在shell中执行指令(想在哪个用户下让vim配置生效,就在那个用户下执行指令,强烈不推荐在”root“下执行);

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

卸载方法

在安装了vimforcpp的用户下执行指令

bash ~/.VimForCpp/uninstall.sh

4)else

多行注释和多行去注释:

       注释:

              1、ctrl+v;

              2、选择要注释的行,使用hjkl继续选择;

              3、shift+i:进入到插入模式;

              4、输入注释符号(C/C++:”//“,#);

              5、esc。

       多行去注释:

              1、ctrl+v;

              2、选择要删除的注释符号(hjkl进行选择);

              3、x:直接删除。

替换字符串(在底行模式下/命令模式下进行替换)

       替换光标所在行首个目标字符串:

              命令:s/[被替换字符串]/[新字符串]/

              eg:printf("hello world!\n");

                      将hello换成你好:执行命令s/hello/nihao/

       替换光标所在行所有字符串

              命令:s/[被替换字符串]/[新字符串]/g

       全文替换目标字符串

              命令:%s/[被替换字符串]/[新字符串]/g

       结论:g:替换当前行所有

                 %:替换当前所有行

4、编译器:gcc/g++ !!!!!

编程怎么能少的了编译呢!!要不咱们写的那些狗shi东西计算机怎么能明白!!

1)gcc编译C,g++编译C++。

2)编译的四个过程:预处理、编译、汇编、链接。

预处理:宏替换,头文件就展开,驱逐是

          命令:gcc/g++  -E  test.c  -o  test.i

          -E:告诉gcc/g++在编程程序的时候,只进行预处理,产生的文件后缀为.i

编译:1、语法语义的检测

           2、源代码编译成为汇编指令

           命令:gcc/g++  -S  test.c/test.i  -o  test.s

汇编:将汇编指令转化成为二进制代码(机器可识别代码)

           命令:gcc/g++  -c  test.c/test.i/test.s  -o  test.o

链接:将若干个二进制代码(.o)或者库文件,链接起来生成可执行程序

3)静态编译 & 动态编译

静、动态编译的区别在于编译程序的时候,是否增建了-static,

如果没有就是动态编译、有就是静态。

1、Idd命令:

           该命令可以查看可执行程序依赖的文件,使用方式Idd  [filename]

2、静态编译:

           -static

3、区别:动态编译产生的可执行程序小,耗时小;

                 静态编译产生的可执行程序大,耗时大。

5、调试器:gdb!!!!!!!!!

看感叹号就知道这玩意比上面那俩重要的还要重要得多得多...

1)程序发布的两种方式:debug模式和release模式

      1、linux下debug版本的程序在编译的时候需要增加-g命令行参数;

      2、默认不加-g,则为release版本;

      3、debug和release的区别在于debug多了调试信息;

      4、gdb调试的时候一定是调试的debug版本。

2)调试的基础方法

      1、调试的基础方法

            gdb  [binfile]:进入调试

l 查看源码,从main函数开始
l [func-name] 查看某个函数的源码
r 程序执行起来
n

逐过程,F10继续

s 逐语句,F11继续
b [行号] 打断点
i b 查看断点
c 继续执行
delete breakpoints 删除所有断点
delete breakpoints n

删除序号为n的断点

disable breakpoints 禁用断点
enable breakpoints 启用断点
info locals 查看当前栈帧局部变量的值
p [变量名] 查看变量的值
bt 展示调用堆栈
q 退出

3)三种使用场景

      1、程序没有执行起来,调试可执行程序

      2、调试正在运行的程序

      3、调试崩溃的程序产生的coredump文件

            3.1   coredump文件:核心存储文件,是程序在崩溃的一瞬间内存的映像

            3.2   ulimit  -a:查看core file size(决定产生的coredump文件最大能有多大)

            3.3   调试命令:gdb  可执行程序  coredump文件

6、自动化构建项目:make&makefile

1)make & makefile

       make:是一个命令,是自动化构建项目的工具

       makefile:是一个文件

       make会根据makefile的文件内容进行解析编译程序(构建项目)

2)makefile文件格式

目标对象:依赖对象
编译命令

例如:

test:test.c
gcc $^ -o $@

       目标对象:要生成的可执行程序

       依赖对象:生成可执行程序是可以依赖的源代码

       编译命令:如何通过依赖对象生成目标对象

       注意:编译命令之前的空白部分时由table键形成的

3)make的工作方式

      1、只为生成第一个目标对象而服务:

       如果生成了目标对象,则后续文件中的内容不解析;如果为了生成第一个目标对象,需要先生成依赖对象,贼在makefile中寻找生成依赖对象的方法;如果依赖对象不存在,报错返回。

       2、若依赖对象的最后一次修改时间小于目标对象最后一次修改时间,择不生成

4)makefile文件当中的自定义变量和内置变量

      内置变量:

              $^:所有依赖对象

              $@:所有目标对象

              $<:代表第一个依赖对象

      自定义变量:
              可以自己给变量起名字,后续使用$符号进行解析

7、版本管理工具:git

1)克隆仓库:git clone xxxx

2)提交到本地仓库:git add/git commit -m "log"

3)推送到远端仓库:git push

4)将远端仓库内容更新到自己的本地仓库:git pull

5)git status

你可能感兴趣的:(Linux,linux,c++,vim,git)