Liunx常用工具

常用工具:1.yum软件包管理器     2.vim文本编辑器     3.gcc编译器     4.Makefile辅助编译   5.gdb调试器   6.git

1.yum软件包管理工具

        查看可以安装的软件包:yum list | grep **

        安装软件包:yum install 安装软件名   (lrzsz 向windows文件传输的软件包)

        移除软件包:yum remove 安装软件名

2.vim编辑器

        对文本的操作:插入数据、保存、删除、复制、粘贴、剪切、滚动显示位置、改变输入位置

        vim 为了能够实现所有的操作,因此有很多的模式,每个模式下所完成的功能各有不同

        vim共有12中模式,最常用的:插入模式、普通模式、底行模式

        模式之间相互切换:普通模式(ESC)作桥梁,进入(i)插入模式和底行模式(:)先进入普通模式

        插入模式的进入方式:i在光标出进行插入;a光标向后移一个字符,开始插入;o在光标所在行的下一行进行插入;

                                           I光标移动到行首进入插入;A光标移动到行尾进入插入;O光标移动到光标所在的上一行进入插入;

        底行模式的操作::进入底行模式;:w保存;:q退出;:wq保存并退出;:q!强制退出(不存保存修改);:!(pwd)临时执行命令

        普通模式下的操作:

               移动光标:k上j下h左l右按字符移动,w右b左按单词移动,ctrl +b上 +f下翻页,gg首 G尾光标移动文档的首、尾行;

               复制:yy 复制光标所在一行数据;nyy:n是一个数字,从光标所在行开始复制n行数据;复制一个单词:1.按v进入选中模式,2.移动光标选中文本,3.按y复制选中内容,4.按p粘贴到指定位置;

               粘贴:p 向光标所在行下方粘贴;P向光标所在行上方粘贴;

               剪切:dd删除光标所在行;ndd :n是一个数字,从光标所在行开始删除n行数据;

               滚动界面:dw剪切从光标位置开始的单词、x剪切光标所在位置的字符、s删除光标所在字符,进入插入模式;

               其他操作:u撤销上一次操作、ctrl+r还原撤销的操作、gg=G自动缩进、v  ctrl + v进入视图选中模式;

3.gcc编译器:将高级语言代码编译成为机器可识别的指令代码

         编译步骤:

                1.预处理:展开所有代码

                2.编译:纠错(检查是否有语法、语义上的错误),没有错误则将C语言代码编译成为汇编代码

                3.汇编:将汇编代码编译成为机器指令代码

                走完汇编只是将当前.c文件编译成了自己的机器指令代码,其它的函数还没有拿过来,这个文件虽然是机器指令代码,但是不能执行。

                4.链接:将所有调用的代码实现都拿过来生成可执行程序

                 将其它文件中调用的函数都拿过来,跟自己的程序合起来生成可执行程序

                 库:存放函数实现代码的文件(查看动态链接库:ldd 可执行文件名)(不可查看静态库)

                         动态库:生成可执行程序,链接动态库称为动态链接(.so是动态库文件);命名方式:lib***.so

                         动态链接:链接动态库,只记录动态库的位置符号信息,代码冗余量小,占用资源少,但是对库的依赖程度高

                         静态库:生成可执行程序,链接静态库称为静态链接;命名方式:lib***.a

                         静态链接:链接静态库,直接将库文件中的代码拷贝到可执行程序中,代码冗余量高,占用资源多,但是对库的依赖程度低

                         gcc编译器默认链接方式是动态链接

                 gcc常用选项:

                       -E     仅预处理

                       -S     仅编译

                       -c      仅汇编

                       -o      指定生成的文件名称 

                       -static   链接方式指定为静态链接 

4.Makefile辅助编译:就是一个文件,但是有一个make命令,会逐步执行Makefile中记录的编译规则

          Makefile就是用于记录项目的编译规则的,辅助项目的自动化编译

          命名:Makefile 或者 makefile

          编写:

          执行:make程序当前目录下找Makefile文件,解释执行

          1.到当前目录下查找Makefile文件,找不到报错

          2.在文件中找第一个目标对象,并把这个对象当做终极目标

          3.检测这个目标对象和依赖对象的最后一次修改时间,判断是否需要重新编译,如果修改时间不一样则不需要重新编译,退出

          4.如果目标对象不存在则直接生成,但是依赖对象可能不存在

          5.为了生成终极目标,首先要保证依赖对象都存在,所以会先生成所有的依赖对象(依赖对象的生成关系也是用户在下边定义的)

          声明伪对象:.PHONY

                伪对象:每次都需要重新生成

          预定义变量:$@ (指目标对象)   $^(指所有的依赖对象)   $<(指所有依赖对象中的第一个)

          //在项目编译过程中,更倾向于先将.c文件编译生成.o文件,然后再将所有.o文件链接生成可执行程序

          =   :=   ?=   +=的区别:=赋值不是计时赋值(只有用到a时才对a进行赋值,不需开辟空间);:=计时赋值(直接开辟空间,给a赋值);?=,没有初始值,进行赋值;+=追加赋值;

5.gdb调试工具

        1.在编译程序的时候,向可执行程序中添加调试符号信息:gcc -g

        2.运行gdb加载程序:gdb ./可执行程序名;不能携带参数,因为参数会被当做gdb的参数

        3.调试操作:

             run:直接运行程序 ;并且程序的命令行参数就是在这里赋值的

             start:逐步调试    

             list(l 行数):查看代码

             step(s):下一步,跟踪进入函数

             next(n):下一步,不跟踪进入函数

             until:直接运行到指定行

             print(p):打印变量内容

             bt:查看函数调用栈信息(快速定位错误的方法)

             break(b):打断点:line 向当前调试的文件指定行打断点;file line 向指定文件的指定行打断点;func 向指定函数打断点

             info(i):查看信息

                              info(i)break(b):查看断点信息

             delete(d)break(b):删除断点

             watch:变量监控,当变量内容发生改变则停下来 (watch var变量名)(continue(c)继续运行)

6.git工具

       git项目版本控制工具:分布式管理

       svn项目版本控制工具:集中式管理

       linux下的三板斧:

               git clone https-url   从github上克隆代码到当前路径

               git add file    添加要提交的文件

               git commit -m "desc"    本地提交

               git push     上传代码

               git使用ssh,生成密钥

                      ssh-keygen         提示信息直接回车即可

                      家目录下.ssh目录下id_rsa.pub文件中的内容就是公钥信息,复制公钥信息,到git个人设置的sshkey中

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值