一文详细理解Linux的一些环境基础开发工具使用(上)

news2025/1/16 15:39:25

前言:

        本文章让大家理解Linux一些基础开发工具的使用,例如Linux如何下载一些软件,Linux如何进行编译代码,Linux怎么上传远程仓库等等,其实Linux工具本质也是命令!!

 💞 💞  欢迎来到小马学习代码博客!!!! 

         别急别急慢慢来,慢慢进步,慢慢变好^ _ ^

目录

一、Linux软件包管理器yum

1.1什么是软件包:

1.2yum三板斧:

1.3 yum的扩展理解:

 二、Linux 编译器 vim的使用

2.1 vim的概念:

 ​​​​​​​​​​​​​2.2命令模式:

2.3插入模式: 

2.4低行模式:

2.5关于vim我们要知道: 

总结:


 

一、Linux软件包管理器yum

1.1什么是软件包:

      1.1.1 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.

    1.1.2   但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.

     1.1.3  软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.

     1.1.4  yum(Yellow dog Updater, Modifified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat, Centos等发行版上。
这里如何理解呢?从我们的常识来进行理解,在我们安装一个软件的时候是不是要把他的软件包进行下载下来,而软件包是在你的电脑上吗吗?显然并不是,他是在一个服务器上,就好比你手机下载一个东西要去应用商店,而商店为你提供你供应商的服务器(里面有你想要下载软件的软件包),而在Linux系统中yum就相当于应用商店。
在Linux系统中提供服务器是在国外的,而这些软件是Linux一些开源大佬,在我们国内的服务器是镜像了国外的服务器也就是将Linux软件生态的本土化

1.2yum三板斧:

 1.2.1 yum软件列举        yum  list(这里是列举全部的软件包的名称我们可以通过grep进行一个筛选)   

    软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.
  "x86_64" 后缀表示64位系统的安装包, "i686" 后缀表示32位系统安装包. 选择包时要和系统匹配.
"el7" 表示操作系统发行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示centos6/redhat6.
       最后一列, base 表示的是 "软件源" 的名称

1.2.2 yum下载软件        sudo  yum  install  -y   软件名     (如果不带-y系统会问你是否确认安装,带上-y就省略了这个步骤,同时安装软件的时候要向系统目录中写入文件,这里要进行提权一些或者换成root用户)     

        例如这里我下载一个小火车 

下载了之后就能进行跑动了 在命令行输入sl就能跑动了

1.2.3 yum卸载软件:       sudo  yum  remove -y  软件名  (同样的也是需要进行提权的)

例如这里我把刚才下的小火车给卸载了:

这里就没有办法在使用这个软件了 

1.3 yum的扩展理解:

1.3.1 yum下载的时候我们只是告诉了他软件名,可是并没有告诉他在哪里下载?为什么yum能够下载呢? 我们要知道yum源这个东西 ,yum源就可以里面存放的就有你所需要下载软件的服务器的链接

ls /etc/yum.repos.d/         我们通过这个指令就可以进行访问我们的yum源 

我们通过vim编译器进行打开我们的yum源就可以看到一些链接 

这里面都是你安装下载软件的链接 。

1.3.2 有些软件并没有纳入centos,Ubuntu、kail等相关生态平台的官方软件集合中(说白了就是在CentOS-Base.repo下载的的软件就是在官方下载的)但有些软件并不是纳入在官方里面,但是我们想要使用,官方没有,这里我们就有了一个非官方的软件集合(这里的软件就是我们都在用但还没有纳入到官方软件集合中)

为什么要存在非官方软件集合呢? 这就相当于一个过渡过程,要知道在官方的软件中就是比较稳定的,成熟的,安全的,不会出现问题的,假如刚开发一个软件,我们需要他的功能,但是不能确定他的稳定性,这里需要一个时间的积累来进行测试这个软件的稳定性,如果稳定可能会把它纳入进官方软件集合中。

下载非官方软件集合的命令是: yum install -y  epel -release

 二、Linux 编译器 vim的使用

2.1 vim的概念:

 2.1.1 vim 是一个功能强大的,多功能编译器。它存在很多模式,这里我来讲一下比较常用的三种模式:命令模式(command mode),插入模式(Insert mode),底行模式(Last line mode)。

vim   file         进入一个文件  刚进入文件是在命令行模式中。​​​​​​​

 ​​​​​​​​​​​​​2.2命令模式:

2.2.1 光标定位:

shift  + 4 =  $  : 行右

shift  + 6 =  ^  :行左

shift  + g =  G :  底部

gg                  :   顶部

n  + shift + g :  跳转光圈到指定行,n代表行号

w :向后按单词移动

b :向前按单词移动

光圈移动:

h :左

j  :下

k :上

l :右

2.2.2 文本复制删除:

yy  :光标所在行复制  (nyy:对光标所在行进行多行复制,n代表行号)

p    :粘贴         (np:对复制的内容进行多行粘贴)

dd  :删除光标所在行(ndd :对光标所在行进行多行删除,n代表行号)

ndd+p   :剪切操作

u :撤销操作

ctrl + r    :取消撤销操作

2.2.3文本编辑 :

shift  +  ~     :   文本大小写切换

shift  +  r  =R :       批量替换

r  :替换光标所在的一个字符   ,支持nr

x和X  :行内删除  ,支持nx和nX的

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

2.3插入模式: 

2.3.1插入没什么操作 就是会命令模式变成插入模式,从插入模式变回命令模式就行

命令模式变为插入模式:a/i/o

插入模式变回命令模式 :esc

插入模式就是可以在里面进行编译写代码啦

2.4低行模式:

转化低行模式是需要从命令行模式里输入 shift +;  就进入了低行模式

w   :对文件内容进行保存  (带个!就是强制性保存)

q    :退出vim编译器 (如果没有办法退出就加一个!表示强制性退出vim)

wq  :一般建议用wq表示保存并退出

set nu/non  :  文本前面会出现行列。

2.5关于vim我们要知道: 

我们第一次用vim是没有没配置的,用起来就好像一个记事本,但是vim是可以进行配置的,如何配置,可以进行网上查找,最终配置一个自己比较适合的。

vim的配置是一人一分的,一个用户配置的是自己的,不影响其他的用户

总结:

        关于开发工具的使用小马也准备通过两到三篇博客来进行一个讲解,尽量两个博客讲完哈,这篇博客讲了yum 和yum源,和vim编译器,对于我们怎么知道需要下载的什么软件,只能说见的多了,了解的多了就慢慢会了,然后vim编译器还是要多进行使用,才能慢慢的掌握,就和刚开始写代码第一次用VS2019一样,多多使用就会啦!!

  最后小马码文不易,如果觉得有帮助就多多支持哈!!!^ _ ^

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/72122.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

L1-033 出生年(java)-天梯赛

文章目录🏅前言:L1-033 出生年(java)-天梯赛🎯题解:🐒结果:🏅前言: 代码含详细注释及解题思路。若有不理解的地方,欢迎大家探讨交流,…

Java开发手册(黄山版)

这本书值得反复看、也可作为随手翻阅字典一、编程规约 (一) 命名风格 【强制】纯拼音命名方式也要避免采用。【强制】常量命名应该全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长【强制】POJO 类中的任何布尔类型的变量&…

CMake中add_custom_command的使用

CMake中的add_custom_command命令用于将自定义构建规则添加到生成的构建系统(Add a custom build rule to the generated build system),其格式如下: add_custom_command(OUTPUT output1 [output2 ...]COMMAND command1 [ARGS] [args1...][COMMAND comm…

【多线程(五)】volatile关键字、原子性问题、AtomicInteger内存分析与源码分析、悲观锁和乐观锁

文章目录5.原子性5.1 volatile-问题2.2 volatile解决5.3 synchronized 解决5.4 原子性5.5 volatile关键字不能保证原子性5.6 原子性 AtomicInteger5.7 AtomicInteger-内存解析5.8 AtomicInteger-源码解析5.9 悲观锁和乐观锁小结5.原子性 5.1 volatile-问题 代码分析 package…

五道LeetCode《中等难度》的单链表题

五道单链表中等难度题型1. 剑指 Offer II 021. 删除链表的倒数第 n 个结点第一种解法(单指针):第二种解法(栈):第三种解法(双指针):2. 删除排序链表中的重复元素 II(重点&#xff09…

利用VGG16网络模块进行迁移学习实现图像识别

​ ImageNet虽然带有”Net“,但他不是一种深度神经网络模型,它是个数据集,斯坦福大学教授李飞飞带头建立,是目前图像分类、检测、定位的最常用数据集之一。该数据集含大量数据1500万图片,2.2万类别,真彩图&…

PPT免费放送|Zabbix峰会结束了?还有件儿事!

精彩的Zabbix峰会成功举办,这并不意味着学习交流结束,还有件儿事——17份PPT免费获取,网盘见文末。干货满满细细品味。也欢迎你留言评价! 值得一提的是:峰会中有理有据说明:Zabbix支持信创。开源免费的Zab…

IBDP学生如何申请中国香港的大学?

作为世界上最具竞争力的城市之一,香港拥有一些亚洲乃至世界上最好的大学。当然,这也使得香港成为内地学生以及国际留学生最喜爱的留学目的地之一。中国香港的教育在很大程度上是模仿英国的教育体系,但本科课程通常是英国和美国体系的混合体。…

Android 中的广播机制

一、Android广播概念: 在Android中,有一些操作完成以后,会发送广播,Android系统内部产生这些事件后广播这些事件,至于广播接收对象是否关心这些事件,以及它们如何处理这些事件,都由广播接收对象…

(附源码)ssm日语学习系统 毕业设计 271621

基于ssm日语学习系统 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对日语学习等问题&#…

MySQL——表的内容增删查改

文章目录表的增删改查一、Create1、单行全列插入2、多行数据指定列插入3、插入否则更新4、替换二、Retrieve😊(重点)2.1 select 列2.1.1 全列查询2.1.2 指定列查询2.1.3 查询字段为表达式2.1.4 为查询结果指定别名2.1.5 结果去重2.2 where查询2.3 结果排序2.4 筛选分…

【VC7升级VC8】将vCenter Server 7.X 升级为 vCenter Server 8 (下)—— 升级步骤说明

目录前文说明3. 第一阶段升级(1)点击【升级】(2)升级介绍(3)最终中用户许可协议(4)连接到源设备(5)VC7与ESXi 证书警告(6)vCenter Ser…

【Vue】各种loader的基本配置与使用

✍️ 作者简介: 前端新手学习中。 💂 作者主页: 作者主页查看更多前端教学 🎓 专栏分享:css重难点教学 Node.js教学 从头开始学习 ajax学习 目录webpack中的loader  loader概述  打包处理css文件  打包处理less文件  打包处理图片  …

LWIP框架

目录 协议栈分层思想 1. 网络接口层 2. 网络层 3. 传输层 4. 应用层 进程模型 单进程模型 协议栈编程接口 1、Raw/Callback API 2、Netconn API 3、Socket API 协议栈分层思想 TCP/IP协议完整的包含了一系列构成互联网基础的网络协议,TCP/IP协议的开发出…

HTTP Digest Authentication 使用心得

简介 浏览器弹出这个原生的对话框,想必大家都不陌生,就是 HTTP Baisc 认证的机制。 这是浏览器自带的,遵循 RFC2617/7617 协议。但必须指出的是,遇到这界面,不一定是 Basic Authentication,也可能是 Dige…

墨门云终端行为趋势报表,泄密风险提前预警

事件响应滞后,事后再补救,为时晚矣,据IBM的数据泄露成本报告显示,加强风险监测可更快发现数据泄露行为,有效降低企业的数据泄露成本,可见建立完善的风险预警响应机制,可以避免更大的损失&#x…

5G无线技术基础自学系列 | NSA组网场景下移动性管理

素材来源:《5G无线网络规划与优化》 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 NSA组网场景下移动性管理涉及的相关概念…

js操作二进制数据

使用ArrayBuffer对象保存二进制数据,使用TypedArray和DataView 视图来读写数据。 ArrayBuffer代码内存中的一段数据 const buff new ArrayBuffer(4)这样就创建了一个4(byte)字节的长度的内存判断,初始值都为0 注:一般中文占2个字节&#xff…

葡聚糖修饰Hrps共价三聚肽|葡聚糖修饰CdSe量子点

葡聚糖修饰Hrps共价三聚肽|葡聚糖修饰CdSe量子点 葡聚糖修饰Hrps共价三聚肽 中文名称:葡聚糖修饰Hrps共价三聚肽 纯度:95% 存储条件:-20C,避光,避湿 外观:固体或粘性液体 包装:瓶装/袋装 溶解性&am…

爆火的 ChatGPT 会让客服岗位消失吗?

近日,由 OpenAI 推出的 ChatGPT 在全球互联网爆火。具体有多火呢?根据 OpenAI 的 CEO Sam Altman 的说法:上周三才上线的 ChatGPT,短短几天,用户数已突破 100 万大关。 那么,ChatGPT 是什么呢?…