初识Linux · yum和vim

news2025/1/9 14:15:48

目录

前言:

1 yum 

1.1 yum是什么?

1.2 Centos的生态和yum的本地配置

1.3 yum的相关操作

2 vim


前言:

我们学习Linux的时候,是有编程语言的基础的,那么呢,我们学习Linux的时候最迫切的就是希望能打印出来一点东西,所以在最开始的几章的时候,我们学会了使用nano,来打印Hello world:

但是使用nano实在是没有vim好,比如我们要快速的定位,快速的删除等,所以本文会着重介绍vim,对于yum,我们一开始就用上了,第一次接触man的时候,我们就是yum install man,安装我们的Linux青春修炼手册,所以我们大致对yum也有了一定的了解,本文的第一个重点就是介绍yum。

那么,就开始吧!


1 yum 

1.1 yum是什么?

我们知道,每个手机里面几乎都有一个应用商店,当我们需要某个软件的时候,我们就去该应用商店里面下载,那么下载的软件是你手机本来就有的还是从远端服务器下载的呢?显然是云端服务器,我们最初学习Linux的时候,同样需要相关的软件,比如man 比如tree等,所以我们不难猜测,yum是一个管理软件下载安装的客户端,那么安卓手机下载的时候,可以上云服务器下载,yum呢?

实际上yum是内置了下载链接的,这点放在生态部分介绍,我们现在知道yum是一个软件下载安装的客户端即可。

但是为什么基本上下载都是用的yum,难道没有第二个类似的吗?当然,有安装软件的其他方法,但是Linux中安装软件有可能会有依赖关系,所以需要我们自己操作。

1.2 Centos的生态和yum的本地配置

什么是生态?在高中的生物学中,我们知道生物圈,有消费者,生产者,分解者等,他们共同构成了这个大环境,每个人都在为这个大环境作出自己的贡献,同理,Linux这个开源项目,也有自己的生态,因为它是开源的,几乎所有程序员都得用,那么开源的没有人投资,怎么办呢?

要知道,一个开源项目,如果做的好,每个人都想用的话势必会有人出来维护,但是维护的不是该项目,而是该项目对应的社区,因为开源,面临的所有问题基本都是可以在社区上找到相关的问题,如果一个开源项目的社区维护不好,志同道合的程序员没有办法好好交流,该项目黄掉也是迟早的事,所以项目的好坏,主要看社区,那么我们使用的centos对应的社区,因为需要人维护,所以国内的大厂,比如阿里,在Linux项目上投资了很多,因为要用这个项目,所以得投资以至于这个项目不能跨掉吧。

当有一天你给你的老板说,选择一款操作系统作为我们的基准的话,我一定选择linux,老板问你为什么,你不能说因为我学过吧?你总得列出,Linux相对于其他操作系统的好处。比如社区,比如系统的稳定性,比如有谁参与到了该系统的研发,比如有谁也在用。

那么呢,我们平常安装软件的时候,我们实际上是有3种方法来安装的:源代码安装,rpm安装,yum安装。那我们为什么选择yum而不是选择rpm呢?

首先,源代码安装肯定是不用想的,如果运气好点,拿过来编译,没有问题就万事大吉,如果编译报错那可就真的是头都大了,可能就涉及到库的安装,有依赖关系的软件还没有安装等问题,所以源代码安装是不太推荐的。

其次就是rpm安装,rpm安装实际上也是将软件打包了,但是对于需要的依赖软件还是没有一起打包的,所以用了rpm之后,我们还需要自己安装相关的软件,还是比较麻烦的。

那么相对于上面的两个安装方法呢,yum是很不错的一种工具,它可以帮你安装对应的依赖文件,就这点都可以打败前两个了。

那么yum凭什么知道它去哪里安装呢?

我们知道,Linux最初是国外发行的,所以我们下载对应的软件,我们实际上是对国外进行请求,有的时候呢就可能比较慢,那么怎么办呢?首先是国内的各大厂商,镜像一个国外的官网,比如Centos官网,把对应的软件什么的,打包,放在云服务器上,yum安装的时候,就可以快速的安装了,国内比较有名的是阿里,清华这些,其次是yum会根据/etc/yum.repos.d/该路径下的配置文件打包成自己的下载链接,内置链接默认的是国外的Centos的官网,所以我们需要配置一下,就可以快速访问了。

那么如何修改yum呢?修改yum的本质其实就是修改文件内容,所以我们先看看本地的yum:

这里呢引入base源和Epel源,我们可以理解base为稳定源,Epel为扩展软件源的,上传了一款软件之后,多少人用了多少次,没有出现bug,就可以传到base源了,他们之间的简单关系是这样。

使用指令 vim查看一下:


可以看到博主的是已经配置过腾讯云的了,不同的厂商有不同的情况,如果有人默认的是国外的,可以搜索一下如何配置yum。

1.3 yum的相关操作

好了,现在对yum有了一些基本的理解,我们可以尝试安装卸载一些软件,首先我们尝试安装一下s这个软件:

输入指令之后可以发现列举了很多很多的软件吗,后面的e17就是适应我们这个版本的软件:

我们要找的是这款软件,@epel就是代表它是来自扩展软件源的。然后我们直接安装:

当然了,因为我们这里已经安装过了,所以显示的是already,那么安装成功了我们试试效果:

就是一辆会动的小火车,对应的还有其他好玩的指令,这里不演示了,对应的,删除使用remove即可删除:


2 vim

我们知道,之前写代码的是我们使用的是nano记事本,可是说是要多不方便就有多不方便了,那么Linux提供了两个软件,作用和nano一样,可以查看文件并且编辑,这里因为vi没有vim好,所以我们着重介绍一下vim。

学习vim之前,我们需要了解vim是一款多模式的文本编辑器,分为命令模式,插入模式,底行模式。而它们三者之间是可以连续切换的,怎么切换呢,看这个图:

这是最简单的切换模式,也就是说,我们从命名模式转到插入模式,需要输入i,退回去需要esc,从命令模式到底行模式需要输入shift + ;,也就是英文冒号,退回去同样需要输入esc。

当我们用vim打开文件的时候,默认是命令模式,此时是输入不了任何东西的,只能输入某些命令,所以呢,我们现在先介绍一下命令模式:

1 复制-> n+yy :复制多少行:

2 粘贴->n + p,粘贴多少次:

3 撤销->u,撤销上一次的操作;

4 剪切->n + dd,剪切n行;

5 移动到当前文本行末尾->$

6 移动到当前文本行开头->^

7 将光标移动到该文本的最开头-> gg

8 将光标移动到该文本的末尾->G

9 将光标移动到文本的任意一行 -> n + G

10 左下上右 -> hjkl:

这是因为早期的键盘没有那么多键,所以使用的hjkl代替的。

11 按照单词的单位光标后移->w

12 按照单词的单位光标前移->b

13 切换大小写-> ~

14 删除光标的后面的字符-> n + x

15 删除光标的前面的字符-> n + X

16 替换字符-> n + r,可以替换多个,但是会覆盖到后面的字符

17 文本替换模式-> R

18 保存并退出-> ZZ

这是命令模式汇中常见的命令。

那么插入模式呢,实际上就是编辑模式,没有要特别注意的,接下来是底行模式:

底行模式顾名思义,我们输入英文冒号后,就从命令模式跳到了底行模式,首先,我们要显示行号,就可以在底行模式输入set nu,取消行号就是set nonu:

输入wq是保存且退出,那么w就是write,代表保存的意思,q就是退出。

那么有的时候呢,我们修改系统文件,比如yum的base源的时候,如果我们不是root就不会让我们保存退出,此时我们只要输入wq! ,加一个感叹号,就代表我的意愿强烈,就可以退出去了。

我们平时使用VS2022的时候,创建头文件,是在图形化界面创建的,很是方便,在底行模式中,我们只要输入 vs filename,就可以分屏并且创建文件了:

之后界面就变成了这样。

我们想要进行光标切换就使用ctrl + ww即可,还有其他方法,但是我们平常就ctrl + ww就够用了。

退出的话,光标在哪个窗口,我们退出的就是哪个窗口。

底行模式还有十分bt的玩法,可以直接查找关键字,然后会高亮:

只需要输入 /关键字即可。

这还不是最bt的,底行模式可以直接执行shell命令,也就是说,底行模式可以包括但不限于和shell交互,比如我们可以直接编译:

 

只需要输入 !command即可,这就意味着我们可以直接在vim里面进行编译。 

当我们代码多了,注释也是少不了的,我们应该怎么注释呢?

这是有点复杂的:

ctrl  +v,hjkl区域选择,现在选择好了要注释的区域,也可以直接n  + G,定位。然后我们进入到插入模式,此时要输入I,然后输入// ,最后输入两下esc,就完成注释了,还是挺复杂的。

去掉注释选择区域的操作是一样的,选择好了输入d,即可。这里的d就是删除,所以只能包含//。

那么vim这样还是有点复杂的,需要同学们自己配置,怎么配置呢,因为存在个人喜好的问题,所以想要配置的可以上网搜索即可。

配置实际上就是修改.vimrc文件,没有该文件自己创建一个即可。为什么要配置呢?因为走指令的时候,实际上也会带依赖性的文件,比如vimrc,配置了vimrc我们用vim的时候才更舒服。


感谢阅读!

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

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

相关文章

Flat Ads:全球金融应用现状与发展趋势深度解析

随着全球数字化进程的加速,金融科技(FinTech)应用正逐渐成为现代生活不可或缺的一部分。从移动银行到数字支付,再到智能理财工具,金融应用正在重新定义传统金融服务的边界,并推动行业的深刻变革。 本篇文章 Flat Ads 将从全球视角出发,深入剖析当前金融应用市场的现状,探讨未来…

开关电源测试系统方案:系统结构功能、特点、测试项目

为了应对开关电源测试中的复杂挑战,我们推出了NSAT-8000系列开关电源ate测试系统,它以其全面的功能和灵活性,适应了电源产品测试场景,解决了测试难题。 开关电源测试系统 NSAT-8000系列之开关电源测试系统适用于AC/DC和DC/DC开关电…

苹果macbook电脑怎么玩《黑神话:悟空》游戏教程来了

火爆全网《黑神话:悟空》是一款基于中国神话故事《西游记》改编的动作角色扮演游戏,它在PC平台上的系统要求已经公布,但目前官方尚未发布Mac版本。不过,Mac用户可以通过使用系统兼容工具如CrossOver来尝试在Mac上运行这款游戏。Cr…

《黑神话:悟空》游戏攻略:第一回合打法教程!

《黑神话:悟空》是一款以西游记为背景的动作角色扮演游戏,玩家在游戏中将面对各式各样的强大敌人和BOSS。在游戏的第一回合中,你将遇到牯护院、灵虚子、幽魂等多个BOSS。以下是详细的BOSS打法攻略,帮助你在战斗中游刃有余。你可以…

Ubuntu22安装MySQL8,并关闭大小写

最近因为设置MySQL不区分大小写踩了很多坑,把解决过程记录下来。 首先我这个是阿里云全新服务器,操作系统:Ubuntu 22.04 64位 连接到服务器后: 1 安装MySQL 1.1 更新软件包 以下命令皆已单独放至代码块内,直接复制…

服务器配置miniconda环境

目录 1. 查看服务器的操作系统2. 查看服务器的cuda版本3. 配置开发环境3.1 安装miniconda3环境3.2 创建虚拟环境3.3 在虚拟环境中安装pytorch3.4 在虚拟环境中安装库 1. 查看服务器的操作系统 执行代码: uname -a发现是Ubuntu 22.04 2. 查看服务器的cuda版本 执…

鸿蒙OS应用开发例题

单选题 第24/60题 自动跳下一题0 在编译构建HAP时,会从HAP模块及依赖的模块中收集资源文件,如果不同模块下的资源文件出现重名冲突 时,会按照优先级进行覆盖,现在有一个HAP依赖了两个HAR,依赖配置如下所示: // oh-package. j…

柔性织物处理 | 山大宋锐老师 | 最新演讲

笔者是清华在读研究生,主要关注人形机器人、具身智能。将持续分享行业前沿动态、学者观点整理、论文阅读笔记、知识学习路线等。欢迎交流 最近听了宋老师的演讲,以下是学习整理。部分图截自直播,若模糊望见谅 演讲信息: 【会议】…

郁李:花语与植物特征的魅力探寻

一、花语的奥秘 郁李的花语丰富多样,其中 “忠实” 代表着坚定不移的忠诚和信任,寓意着一份真挚而深厚的情感,无论外界如何变化,都能保持初心不变。“困难” 这一花语似乎不太讨喜,它可能象征着人生道路上难免会遭遇的…

iOS 通知

iOS 通知分为本地推送和远程推送两类 一. 本地推送使用流程 1. 注册通知 //请求通知权限 UNUserNotificationCenter *center [UNUserNotificationCenter currentNotificationCenter];[center requestAuthorizationWithOptions:(UNAuthorizationOptionBadge | UNAuthorizati…

Java学习_18_Stream流

文章目录 前言一、不可变集合二、Stream流思想第一步:得到Stream流第二步:Stream流的中间方法Stream流的终结方法 总结 前言 博客仅记录个人学习进度和一些查缺补漏。 学习内容:BV17F411T7Ao 一、不可变集合 不可变集合就是长度和内容都不可…

HTML+CSS浮动和清除浮动的效果及其应用场景举例

一、清除浮动的效果 解释 .container:用于展示浮动和清除浮动效果的容器,具有边框和背景色以便于区分。 .float-box:浮动元素,用不同的背景色标识。 .clearfix:使用伪元素清除浮动的类,应用于第二个容器。 …

【chips】个人笔记系列-SystemVerilog

Title:System Verilog 学习 背景与发展 什么是SV 啥是SystemVerilog? 就是用来专门写验证和测试的 Verilog 升级版——在verilog的基础上加了些C的思想、语法、模块。 为啥要搞出一个SystemVerilog? 设计IC (integrated circuit)时用的是 …

02_TensorFlow2 Eager Execution:让AI编程从‘慢条斯理’变‘急不可耐’的神奇魔法!

1. Eager execution 的特性 即刻执行(Eager execution)是TensorFlow2.0的新特性,如同python解释器一样,执行即可获得计算结果,不需要手动建立图结构和会话,与python的兼容性更强, 为快速搭建和测试算法模型…

C语言 之 内存函数 memcpy、memmove函数的使用和模拟实现 memset、memcmp函数的使用

文章目录 1.memcpy函数的使用和模拟实现例子:模拟实现: 2.memmove函数的使用和模拟实现例子:模拟实现: 3.memset函数的使用**例子:** 3.memcmp函数的使用例子: 首先 我们要明确下面这些函数之所以被称作内存函数&#…

130-横向移动PTH哈希PTT票据PTK密匙Kerberos

pass the hash (哈希传递攻击,简称pth)利用lm(老版本哈希)或ntlm(新版本)的值进行的渗透测试 pass the ticket (票据传递攻击,简称ptt)利用的票据凭证TGT进行…

sql手工注入——sqli-labspage第六关到第十关

第六关 一确定攻击点判断闭合方式 跟个双引号引起报错 说明页面有报错语句的位置 http://127.0.0.1/Less-6/?id1%22http://127.0.0.1/Less-6/?id1%22尝试闭合 闭合成功 http://127.0.0.1/Less-6/?id1%22%20--http://127.0.0.1/Less-6/?id1%22%20-- 二.查询数据库名 ht…

多商户小程序审核存在商户入口无法通过

小程序拒绝如下: 需要注意的地方如下: 关闭店铺展示关闭商户入驻关闭diy中的申请入口、店铺街入口等关闭个人中心广告的申请入口关闭分销关闭支付宝

基于Java语言的能源管理系统中软网关的应用

介绍 软网关适用于建筑、工厂、商场、医院、园区、高耗能企业、城市双碳建设平台等的水、电、气、热、油等能源数据采集、加工、分析、预警、碳指标、碳排放计算等场景; 企业通过软网关采集底层电表数据,传输给时序库,从而完成能源管理系统…

nginx全方位讲解

安装nginx [rootnginx ~]# tar zxf nginx-1.24.0.tar.gz [rootnginx ~]# cd nginx-1.24.0/ [rootnginx nginx-1.24.0]# ls auto CHANGES.ru configure html Makefile objs src CHANGES conf contrib LICENSE man README [rootnginx nginx-…