【Linux编程】二、Linux常见工具和项目开发(思维导图总结)


思维导图预览
在这里插入图片描述


【内容概览】
1)学习yum工具,进行软件安装
2)掌握vim编辑器使用,学会vim的简单配置
3)掌握gcc/g++编译器的使用,并了解其过程,原理
4)掌握简单gdb使用于调试
5)掌握简单的Makefile编写,了解其运行思想
6)编写自己的第一个Linux程序:进度条
7)学习git命令行的简单操作,能够将代码上传到Github 上
常用工具 作用
软件包管理工具 安装其他软件的工具
编辑器 我们写代码的地方
编译器 将高级语言代码转换成机器语言(解释成机器指令集)
调试器 调试程序运行过程
项目自动化构建工具 自动化的将某个项目构建成功
项目版本管理工具 可以实现项目的回滚、合并等项目管理操作

Linux 软件包管理工具 yum

什么是软件包?

1)在Linux下安装软件,一个通常的办法是下载程序的源代码,并进行编译,得到可执行程序。
2)但是这样太麻烦了,于是有些人就把一些常用的软件提前编译好做成软件包(可以理解成Windows上的.exe安装程序)放在一个服务器上,通过包管理器我们就可以很方便的获取到这个编译好的软件包,从而直接进行软件的安装。
3)软件包和软件包管理器之间的关系,就好比"App"和"应用商店"这样的关系。
4)yum(Yellow dog Updater,Modified)是Linux下非常常用的一种包管理器。主要应用在Fedora、RedHat、Centos等发行版上。

总结:yum是 Yellow dog Updater,Modified 的首字母缩写,并不是直接由单词yum (好吃的)得来的,yum的作用类似于手机上的应用商店

关于rzsz

这个工具用于Windows机器和远端的Linux机器通过XShell传输文件。
安装完毕之后可以通过拖拽的方式将文件上传过去。

注意事项

关于yum的所有操作必须保证主机虚拟机网络畅通!我们可以通过ping 指令来验证网络连接状态。(如果是云服务器的话,就不用考虑这个问题了,因为云服务一定是联网的,不然你咋登录的咧~)

ping www.baidu.com//这条命令在Windows/Linux 均可以直接用来测试联网情况

在Windows主界面(就是我们开机登录后第一眼看到的界面,有回收站那个)按住win + R 打开下面这个东东,输入cmd(表示command命令行)
在这里插入图片描述
进入小黑框后,输入ping www.baidu.com
在这里插入图片描述
像上面这个样子,网络就是没问题的。
在这里插入图片描述
像这种情况,网络就是有问题的,可能是我们自己的主机没连上网,或者是服务器本身的网络很差。
【Linux下演示】
在这里插入图片描述
可以看到Linux下测试的时候并不是通过4个分组包来探测,而是不停的发。
为了让这个测试可以停下来,我们可以指定执行的次数,也就是网络分组包packet的探测数量。

ping -c6 www.baidu.com//-c6 表示指定执行6次探测

在这里插入图片描述
红框部分表示:传输了6个分组包,6个都被(百度服务器)成功接收了,丢包率是0%,耗时 5005ms(5.005s)
在这里插入图片描述
此外,我们还可以利用 traceroute(路由追踪)来进行网络分析
traceroute (Windows系统下是 tracert) 命令利用 ICMP 协议 (互联网控制报文协议,用来报告ip分组传输的差错情况)定位我们的计算机和目标计算机之间的所有路由器。TTL (Time To Live,生存时间,实际上就是跳数,每经过一个路由器,跳数-1,变为0的时候就不能继续在网络中传输了,会被路由器直接丢弃)值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP 呼叫报文的TTL 值和观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器。
在这里插入图片描述

查看软件包

通过yum list命令可以罗列出当前一共有哪些软件包。由于包的数目可能非常之多,这里我们需要使用grep命令(行过滤)筛选出我们关注的包。
如果我们直接用 yum list 来查看这些软件包,然后去找我们想要安装的软件包,根本就找不到!

yum list

在这里插入图片描述
假如我们想要查看 lrzsz软件包,那么我们可以先将yum list 的内容放入管道 | 中,然后用grep 行过滤工具根据关键字 lrzsz 进行过滤查看。可以很方便的找到!

yum list | grep lrzsz

在这里插入图片描述
1)软件包名称:主版本号、次版本号、源程序发行号、软件包的发行号主机平台、cpu架构。
2)"x86_64"后缀表示64位系统的安装包,"i686"后缀则表示32位系统安装包,选择包时要和系统匹配。
3)"el7”"表示操作系统发行版的版本, "el7”表示的是centos7/redhat7。 “el6”表示centos6/redhat6。
4)最后一列,os/base/epel 表示的是"软件源”的名称,类似于"小米应用商店”,"华为应用商店"这样的概念

【扩展】

yum search lrzsz//我们也可以用yum search 来搜索软件包

在这里插入图片描述

如何安装软件

我们可以通过 yum install 这条很简单的一条命令来完成 lrzsz 的安装,lrzsz是一款在linux里可代替ftp上传和下载的程序。(在使用 **yum install / remove ** 来进行软件安装/卸载时,要注意当前用户的权限)

sudo yum install lrzsz//安装软件需要比较高的权限,所以要用sodu来暂时提升权限

在这里插入图片描述
yum会自动找到都有哪些软件包需要下载,这时候敲"y"确认安装。出现"complete"字样,说明安装完成。
【注意事项】
1)安装软件时,由于需要向系统目录中写入内容,一般需要sudo提权或者切到root账户下才能完成。
2)yum安装软件只能一个安装完了再安装另一个。
3)yum正在安装一个软件的过程中,如果再尝试用yum安装另外—个软件,yum会报错。
如果出现yum 报错,问问度娘或者Google一下。

如何卸载软件

通过下面这条命令卸载

sudo yum remove lrzsz //卸载软件也需要比较高的权限,所以要用sodu来暂时提升权限

总结:三板斧操作

1)通过 yum list 查看所有软件包
yum list | grep lrzsz 过滤出指定关键字的软件包,或者 搜索指定软件包 比如:yum search gcc 搜索gcc的软件包,当然,我们也可以用yum makecache 将软件包信息保存到本地(加快软件包查看速度)
2)安装 用sudo提权(或者su root切换成超级用户/管理员) 安装软件必须具有管理员权限 yum install — 安装软件包 比如:yum install lrzsz
3)卸载 用sudo提权(或者su root切换成超级用户/管理员) 卸载软件必须具有管理员权限 yum remove — 卸载软件包 比如: yum remove lrzsz

用yum来安装几个好玩的东西

前期准备

先安装软件包epel-release,epel (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux。相当于安装了一个第三方的扩展软件安装应用商城~,接下来要安装的几条命令都是在这个扩展源里面的。

【说明】以下安装默认都是使用非root用户,所以yum前面都添加了sudo进行暂时提权,如果我们是用root用户安装,直接忽略sudo即可。

sudo yum install epel-release

在这里插入图片描述
出现 Complete表示安装完成。

安装小火车
sudo yum install sl

在这里插入图片描述

【效果展示】
在这里插入图片描述
卸载小火车 sudo yum remove sl
在这里插入图片描述

安装cowsay(奶牛说话)
sudo yum install cowsay
echo "xxxx" | cowsay//使用方式:将xxxx替换成我们要说的内容即可

在这里插入图片描述
【效果展示】
在这里插入图片描述

图形化检测工具

1)安装epel-release源

yum install -y epel-release

2)安装

sudo yum install htop

备注:如果有提示输入 y 即可。
3)安装成功
执行方式:直接输入htop,按enter执行即可。

htop

停止命令:ctrl+c

【效果展示】
在这里插入图片描述

用一串符号拼成指定的单词打印

1)安装epel-release源

yum install -y epel-release

2)安装

sudo yum install figlet

备注:如果有提示输入 y 即可。
3)安装成功
执行命令:

figlet funny

备注:需要输出什么就 figlet + 什么 即可。
【效果展示】
在这里插入图片描述

名言句子打印

1)安装epel-release源

yum install -y epel-release

2)安装

sudo yum install fortune-mod

【备注】如果有提示输入 y 即可。
3)安装成功
执行命令:

fortune

【效果展示】
在这里插入图片描述

Linux 开发工具

Linux下常用的软件工具:

工具 内容
编译器 gcc / g++
编辑器 vim、vi、nano
调试器 gdb
版本管理工具 git

查看常用工具是否已经安装:查看每个工具是否有版本信息

gcc --version :查看gcc版本信息(注意要有2个 -
在这里插入图片描述
git --version :查看git版本信息
在这里插入图片描述
如果能看到版本信息,就表明已经安装了,如果查看不到,就表示还没安装,安装方式

sudo yum install git

Linux编辑器-vim的使用

vim是什么?

Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是自由软件。Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs在文本编辑方面都是非常优秀的。
在这里插入图片描述

vim的基本概念

虽然vim有很多种模式,但是我们只需要掌握三种模式就够用了,分别是命令模式(command mode)、插
入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
1)正常/普通/命令模式(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到last line mode。
2)插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可口到命令行模式。该模式是我们后面用的最频繁的编辑模式。
3)底行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入

:help vim-modes

在这里插入图片描述
我这里一共有13种模式:seven BASIC modes 和 six ADDITIONAL modes(7种基本模式和6种附加模式)

但是我们实际中使用的仅有3种,不要被迷惑了!

vim的基本操作

1)进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面:

vim test.c

不过有一点要特别注意,就是但我们进入vim之后,是处于[正常模式],要切换到[插入模式]才能够输入文字。
2)[正常模式]切换至[插入模式]
①输入a
②输入i
③输入o
3)[插入模式]切换至[正常模式]
目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可
以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。
4)[正常模式]切换至[底行模式]。
「shift +;」,其实就是输入「:」
5)退出vim及保存文件,在[正常模式]下,按一下「:」冒号键(「shift +;」)进入「Last line mode」
例如:

:w//(保存当前文件)
:wq//(输入「wq」 ,存盘并退出vim):q!(输入q!,不存盘强制退出vim)

是不是看的有点晕,我刚接触的时候也很晕,所以就画了一个图,然后在Xshell下面多敲几次就不晕了。
在这里插入图片描述
【动图演示】
在这里插入图片描述

vim正常模式命令集

温习提示:下面的命令会比较多,不需要全部记下来,只需要根据实际使用记住一些常用的就ok了,建议参考思维导图,里面列出来的就是常用的和重点的。

插入模式
1)按「i」切换进入插入模式「insert mode」,按"I"进入插入模式后是从光标当前位置开始输入文件。
2)按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字。
3)按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

从插入模式切换为命令模式
按「ESC」键

移动光标
1)vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母[h]、[j] 、[k」[l](左下上右)
分别控制光标左、下、上、右移一格。记忆方法:h在最左边表示左,l在最右边表示右,j(jump跳,跳下去,表示下)k(king,国王总是一副高高在上的样子,表示上)。
2)按「G」:移动到文章的最后。
3)按「$」:移动到光标所在行的“行尾”。
4)按「^」:移动到光标所在行的“行首”。
5)按「w」︰光标跳到下个字的开头。
6)按「e」 :光标跳到下个字的字尾。
7)按「b」:光标回到上个字的开头。
8)按「#l」:光标移到该行的第#个位置,如:5l,56I。
9)按[gg]:进入到文本开始。
10)按[shift +g]︰进入文本末端。
11)按「ctrl] +「b」:屏幕往"后′移动一页。
12)按「ctrl]+[f︰屏幕往′前"移动一页。
13)

  • 78
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 61
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 61
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大家好我叫张同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值