Linux编译器--git、yum、gdb的使用

git、yum、gdb的使用

  • 一、git
    • 1.1 git的发展史
    • 1.2 安装git
    • 1.3 使用gitee创建项目
    • 1.4 下载项目到本地
    • 1.5 git的三板斧
      • 1.5.1 第一招:git add
      • 1.5.2 第二招:git commit
      • 1.5.3 第三招:git push
      • 1.5.4 同步删除文件怎么办
      • 1.5.5 远端的代码改了(没删除)怎么办
      • 1.5.6 查看提交日志
      • 1.5.7 远端删除了文件本地没有删除怎么办
  • 二、yum
    • 2.1 Linux下安装软件的方式
    • 2.2 认识yum
    • 2.3 查看软件包
    • 2.4 安装软件
    • 2.5 如何实现本地机器和云服务器之间的文件互传
    • 2.6 卸载软件
  • 三、gdb
    • 3.1 gdb使用须知
    • 3.2 gdb命令汇总

一、git

1.1 git的发展史

雷纳斯-托瓦兹在开源了linux后全世界的很多人都要给linux提供代码,他需要合并代码。但是一个人的精力有限。无法完成,他就自己写了一个版本控制工具git。来控制自己的代码,并且也开源了。

linux和git就不断迭代,也不断进步。后来有人对git进行了商业化包装,形成了github和gitee。

1.2 安装git

yum install git
//普通用户加sudo

git就是一个版本管理工具,提供了不同版本的获取和可视化接口。
在实际的开发中挺重要的。
git是一个版本控制器,gitee是为了让git不要客户端,直接在浏览器上可以访问/操作。
gitee/github是基于git建立的网站。多人协同的时候很好用。

1.3 使用gitee创建项目

首先需要注册自己的用户,这个就不用多说 了。

.gitignore : 忽略控制文件。里面是很多文件的后缀。
在这里面有的后缀名,都不会被上传到gitee上去。

1.4 下载项目到本地

首先在gitee上创建一个仓库,再将这个仓库的链接克隆下来
git clone [url]
[url] 就是远端仓库的地址

1.5 git的三板斧

1.5.1 第一招:git add

git add [文件名]
将需要用git管理的文件告知git

1.5.2 第二招:git commit

git commit -m "提交日志"
注意:提交日志不能胡写

1.5.3 第三招:git push

git push

第一次提交或者修改过密码就会让你输入邮箱
以后每次输入需要输入用户名和密码
但是也可以设置免密

1.5.4 同步删除文件怎么办

先用
git rm [文件名]
然后再
git commit -m "提交日志"
最后再
git push

一般要对git里面的文件做操作一般前面都要加git[指令],然后git commit 最后git push 这样做远端也就被删除了。

1.5.5 远端的代码改了(没删除)怎么办

这个时候远端和本地仓库不一致了,我们在提交的时候,直接push就会发生冲突

要先把远端拉到本地同步以下
git pull
然后再次重新
git push

就是要把远端先拉到本地pull再commit,然后重新提交push

1.5.6 查看提交日志

git log 提交记录
git status  查看在你上次提交之后是否有对文件进行再次修改

1.5.7 远端删除了文件本地没有删除怎么办

这个时候我们再次push文件的时候就会发生冲突,提交不上去。
首先需要pull,再提交我们的文件 push,即可解决

二、yum

2.1 Linux下安装软件的方式

在Linux下安装软件的方法大概有以下三种:

1.下载到程序的源代码,自行进行编译,得到可执行程序。
2.获取rpm安装包,通过rpm命令进行安装。(未解决软件的依赖关系)
3.通过yum进行安装软件(常用)

2.2 认识yum

yum是一个在Fedora、RedHat以及CentOS中的前端软件包管理器,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
注意:一个服务器同一时刻只允许一个yum进行安装,不能在同一时刻同时安装多个软件。
因为yum是从服务器上下载RPM包,所以在下载时必须联网,可以通过ping指令判断当前云服务器是否联网。

2.3 查看软件包

yum list

使用yum list指令,可以罗列可供下载地全部软件。
说明

1.软件包名称:主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构。
2."x86_64"后缀表示64位系统的安装包,"i686"后缀表示32位系统安装包,选择包时要和系统匹配。
3."el7"表示操作系统发行版的版本,“el7"表示的是"centos/redhat7”,“el6"表示"centos6/redhat6”
4.最后一列表示的是“软件源”的名称,类似于“小米应用商店”,“华为应用商店”这样的概念。
这里以查找sl为例

yum list | grep sl

由于包的数量非常多,所以我们可以使用grep指令筛选出我们所关注的包。

2.4 安装软件

sudo yum install sl

yum会自动找到都有哪些软件包需要下载,这时候敲“y”确认安装,当出现“complete”字样时,说明安装完成。
注意

1.安装软件时由于需要向系统目录写入内容,一般需要sudo或者切换到root账户下才能完成。
2.yum安装软件只能一个装完了再装另一个,正在使用yum安装一个软件的过程中,如果再尝试用yum安装另外一个软件,yum会报错。

2.5 如何实现本地机器和云服务器之间的文件互传

既然已经安装了lrzsz,这里就顺便说以下lrzsz如何使用。
指令: rz -E
通过该指令可选择需要从本地机器上传到云服务器的文件。
指令:sz 文件名
该指令可将云服务器上的文件下载到本地机器的指定文件夹。

2.6 卸载软件

sudo yum remove sl

yum会自动卸载该软件,这时候敲”y“确认卸载,当出现”complete“字样时,说明卸载完成。

三、gdb

3.1 gdb使用须知

程序发布方式

1.debug版本:程序本身会被加入更多的调试信息,以便于进行调试。
2.release版本:不会添加任何调试信息,是不可调试的。
在Linux当中gcc/g++默认生成的可执行程序是release版本的,是不可被调试的。如果想生成debug版本,就需要在使用gcc/g++生成可执行程序时加上-g选项。
对同一份源代码分别生成其release版本和debug版本的可执行程序,并通过ll指令可以看到,debug版本发布的可执行程序的大小比release版本发布的可执行程序的大小要大一点,其原因就是以debug版本发布的可执行程序当中包含了更多的调试信息。

3.2 gdb命令汇总

进入gdb

gdb 文件名

调试

run/r :运行代码(启动调试)
next/n:逐过程调试
step/s:逐语句调试
until 行号:跳转至指定行
finish:执行完当前正在调用的函数后停下来(不能是主函数)
continue/c:运行到下一个断点处
set var 变量=x : 修改变量的值为x

显示

list/l n: 显示从第n行开始的源代码,每次显示10行,若n未给出则默认从上次的位置往下显示。
list/l 函数名: 显示该函数的源代码
print/p 变量 : 打印变量的值
print/p &变量 : 打印变量的地址
print/p 表达式 : 打印表达式的值,通过表达式可以修改变量的值
display 变量 : 将变量加入常显示(每次停下来都显示它的值)
display &变量 : 将变量的地址加入常显示
undisplay 编号 : 取消指定编号变量的常显示
 bt : 查看各级函数调用及参数
 info/i locals : 查看当前栈帧当中局部变量的值

断点

break/b n : 在第n行设置断点
break/b 函数名 : 在某函数体内第一行设置断点。
info breakpoint/b : 查看已打断点信息
delete/d 编号 : 删除指定编号的断点
disable 编号 : 禁用指定编号的断点
enable 编号 : 启用指定编号的断点

退出gdb

quit/q : 退出gdb

你可能感兴趣的:(linux,git,elasticsearch)