Linux--常用工具

1. yum

  • yum list 显示软件包的信息
  • yum search keyword 根据关键字查找指定工具,检查软件包的信息
    在这里插入图片描述
  • yum install package-name 安装软件包,需要root权限执行此命令。
    在这里插入图片描述
  • yum remove package 卸载指定的软件包,需要root权限执行此命令。
    在这里插入图片描述

2. vim

  • Linux中的编辑器,vim默认不能使用鼠标,需要通过键盘来完成。
  • 常用的操作模式:普通、插入、底行。
  • 模式切换:任意到普通-Esc;普通到插入:iao;普通到底行:英文冒号。
  • 底行模式 :w–保存;:q–退出;:wq–保存并退出;:q!–不保存强制退出。 (不要使用Ctrl+c退出)
  • 普通模式 :完成文本操作以及光标移动。
  • 光标移动:
    · hjkl–左下上右;
    · wb–以单词形式右左移动;
    · Ctrl+f/b–上下翻页;
    · gg/G–首行/尾行;
  • 文本操作:
    · yy/nyy–复制;
    · p/np–粘贴;
    · dd/ndd–删除行;
    · x–删除光标所在字符;
    · dw–删除单词;
    · u–撤销;
    · Ctrl+r–反向撤销;
    · gg=G–全文对齐。

3. gcc/g++

  • 编译器将所写的高级语言代码,解释成为机器能够识别的指令;gcc:C语言编译器;g++:C++语言编译器。
  • 程序的编译过程:预处理、编译、汇编、链接。
    在这里插入图片描述
    – 预处理阶段:展开所有代码(引入头文件,宏替换,删除注释…),-E只进行预处理。 -o指定输出文件名称。在这里插入图片描述
    将test.c文件预处理输出test.i文件。在这里插入图片描述
    – 编译阶段:检查语义语法错误,如果没有错误则将C语言解释成为汇编语言,-S只进行编译处理。
    在这里插入图片描述
    在这里插入图片描述
    – 汇编阶段:将汇编代码解释成为二进制的CPU指令,-c只进行汇编处理。
    在这里插入图片描述
    在这里插入图片描述
    – 链接阶段:将所有的指令代码打包到一起,进行组织成为可执行程序,
    在这里插入图片描述
    在这里插入图片描述
  • 链接方式:动态链接-链接动态库生成可执行程序,静态链接-链接静态库生成可执行程序;gcc默认链接方式:动态链接。

4. gdb

  • 调试器–调试程序的运行过程,发现程序中存在问题。

  • 程序的错误分类:编译错误,链接错误,运行时错误。

  • 调试程序的前提:程序必须是一个debug版本的程序。可通过gcc -g生成的debug调试版程序(不会进行代码优化,并且会加入调试信息)。

  • gdb常用的调试指令:gdb ./test.exe
    在这里插入图片描述

  • 调试指令

     run--直接运行程序;start--开始逐步调试;(r)
     step--下一步-逐语句-遇到函数则进入函数继续调试;(s)
     next--下一步-逐过程-遇到函数直接运行完毕;(n)
     until--直接运行到指定位置-until test.c:3;
     continue-- 继续当前调试位置运行;(c)
     list--查看调试运行附近代码-list test.c:12;(l)
     break--打断点-breaktest.c:4;(b)
     into break--查看断点信息;(i b)
     delete--删除断点;(d)
     watch--变量监控断点-当变量发生改变的时候停下来-watch variable_name;
     print--查看或设置变量内容-print var_name;(p)
     backtrace--查看函数调用栈-通常用于检测程序运行时崩溃位置;
     quit--退出gdb调试。(q)
    

5. make/Makefile

  • make/Makefile:项目自动化构建工具
  • Makefile:文本文件,记录项目的构建流程规则;
  • make:makefile的解释器,解释其中的流程规则逐步执行完成项目构建;
    在这里插入图片描述
    在这里插入图片描述
  • makefile编写规则
    · 目标对象,依赖对象,执行的指令;
    · \t 为了生成目标对象要执行的指令
    · 预定义变量:$ @ --表示目标对象;$ ^ --表示所有依赖对象,$< --表示依赖对象的第一个;
    在这里插入图片描述
    在这里插入图片描述
    · 程序的编译过程:预处理、编译、汇编、链接 --在项目构建中会整体分为两步-编译与链接;
  • make的解释执行规则
    · 在命令行中敲击make指令,则表示运行make解释程序,程序会在当前目录下找到名称为makefile/Makefile的文件;
    · 在规则中找到要生成的第一个目标对象,(判断目标对象是否已经存在,存在的话是否需要重新生成–根据原码文件的最后一次修改时间对比),然后执行对象生成这一指令;
    · make每次在makefile中只会找到第一个目标对象进行生成,生成后就会退出;
    · make在生成目标对象的时候,会先查找依赖对象的生成规则,先生成依赖对象,然后再去生成目标对象。
    在这里插入图片描述
    在这里插入图片描述
  • 伪对象:声明一个目标对象与外部文件无关,无论如何都要执行指令生成的对象,通过.PHONY声明。在这里插入图片描述

6. git

  • 项目版本管理工具 - 整理归档项目周期的各个阶段,便于项目的管理。

  • 三板斧操作
    · (1)在GitHub建立远程仓库;
    · (2)将远程仓库克隆到本地:git clone https://github.com/wangmei1103/Linux-Xshell.git
    · (3)提交本次修改记录:git add --all ./
    · (4)提交本次仓库版本管理:git commit -m "本次修改的备注信息"
    · (5)将本地版本同步到远程仓库:git push origin master (master 是主分支) 。

  • gitee更新操作

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值