软件包管理器yum与编辑器vim的使用

news2024/11/24 22:43:19

目录

  • yum的背景
    • yum的生态
    • yum的本土化(换源)
  • yum的使用
    • 查看软件包
    • 安装软件
    • 卸载软件
  • vim的使用
    • Vim的基本基本介绍
    • Vim的模式切换
    • Vim的光标定位
    • Vim的文本复制
    • Vim的文本编辑
    • Vim的底行模式的操作
    • vim的配置
  • 管理员权限(sudo)的配置


yum的背景

yum的生态

在日常的生活中,不论我们使用手机还是电脑,都避免不了下载一些软件。在安装这些软件的时候,都需要下载对应的软件包,但是这些软件包都被存放到了哪里呢?并不是我们电脑或手机的磁盘上,而是存在于远端的服务器,计算机是如何知道在哪台服务器呢?

对于电脑来说,一般通过搜索对应软件的官网来得到相应的软件包;手机则使用自带的应用商店进行下载软件,实际商店中并不存在软件包,而是存在着对应软件的官方链接,实际最后还是从官网进行下载的。

在托瓦兹编写出了Linux操作系统开源后,世界上很多的大牛参与到了Linux的完善与扩展中来了,有很多人愿意免费做贡献;他们都加入Linux大社区,然后将自己编写的软件放在对应的服务器上;不同的社区会在自己的Linux版本中内置服务器和软件对应的下载链接,而这个用于存放下载链接的软件就是yum

yum (Yellow dog Updater, Modified) 是Linux下非常常用的一种包管理器;主要应用在 Fedora, RedHat,Centos 等发行版上;软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系。

通过上述的所有介绍,对yum这个进行了了解,从它的由来到它的生态,由于前人的贡献,让我们现在可以使用一句简单的命令即可实现软件的安装。

yum的本土化(换源)

由于西方国家在计算机方面发展的比我国要早很多,因此,大部分的软件连接对应的软件包都是部署在国外的服务器上,那么我们使用国内的网络访问它就很很慢,甚至会出现下载失败等可能性。

为了解决上述痛点,国内的一些高校及公司就镜像了国外的软件服务,就是把国外服务器上的软件拷贝到了国内自己公司的服务器上,使得我们可以直接访问国内服务器来更快速的下载软件。

但是yum的默认配置中,yum中的下载源默认链接还是访问国外的,所以需要对配置文件进行更改,让yum在下载的时候,从国内的这些服务器中去寻找。因此,我们必须对yum的配置文件进行更改 ----- yum源配置文件,也就是俗话说的换源。

如果使用的是购买的服务器,那么别人默认帮我们进行了换源,如果自己通过虚拟机安装的Linux发行版的系统,需要手动换源,下面分别进行介绍。

这是Centos7中yum配置文件的所处位置
在这里插入图片描述
在这里插入图片描述配置过程
找到自己对应的Linux发行版,根据教程,对yum的内部的源进行修改,保存退出即可。
在这里插入图片描述

yum的使用

查看软件包

我们可以通过 yum list 命令罗列出当前一共有哪些软件包;但由于包的数目非常之多, 所以我们一般使用 grep 命令来筛选出我们关注的包;如:
在这里插入图片描述
rzsz 工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件,安装完毕之后我们可以通过拖拽或者命令的方式将文件上传过去。

安装软件

通过如下命令进行软件的安装(其中-y代表不查询直接安装)

yum install -y 软件名

在这里插入图片描述

有一些软件并没有被纳入 Centos、Ubuntu、Kail等相关生态平台的官方软件集合中,如果我们想使用这些软件,需要安装 非官方软件集合列表 – epel-realse;
在这里插入图片描述
在这里插入图片描述
注意事项:
1.安装软件时由于需要向系统目录中写入内容,一般需要 sudo 或者切到 root 账户下才能完成;
2.yum安装软件只能一个装完了再装另一个;正在yum安装一个软件的过程中,如果再尝试用yum安装另外一个软件,yum会报错;
3.软件和软件之间是有关联的,即具有一定的耦合度; yum 为了解决软件之间相互依赖的问题,有时候在安装一个软件会连带安装其他一些软件。

卸载软件

卸载软件的指令如下 (其中 -y 代表不询问直接卸载):

yum remove -y 软件名

在这里插入图片描述

注意:关于 yum 的所有操作必须保证主机 (虚拟机) 网络畅通;可以通过 ping 指令验证网络:
在这里插入图片描述

vim的使用

Vim的基本基本介绍

Vim 被誉为世界上最强大的编辑器,是一个类似于 Vi 的著名的功能强大、高度可定制的 文本编辑器,在Vi的基础上改进和增加了很多特性;vi/vim 都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面,例如语法加亮、可视化操作;其不仅可以在终端运行,也可以运行于x window、 mac os、windows。

Vim一共有12种模式,日常使用只需要掌握三个即可,分别是命令模式,插入模式和底行模式,各模块功能区分如下:

命令模式: 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及

插入模式: 只有在底行模式下,才可以做文字输入,按ESC键可以回到命令模式,该模式是我们后面使用最频繁的编辑模式

底行模式: 文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作,在命令模式下,输入:即可进行该模式

注: 可以在底行模式下输入 “help vim-modes” 来查看 vim 的所有模式。

Vim的模式切换

我们使用 vim 打开一个文件时默认处于命令模式,然后我们可以通过如下指令切换到其他模式:

1.[命令模式]切换至[插入模式]:输入 i/a/o;其中使用 i 进入时光标处于第一个字符之前,使用 a 进入时光标处于第一个字符之后,使用 o 进入时光标处于第一行之后空白行的行首;

2.[命令模式]切换至[末行模式]:「shift + ;」, 其实就是输入「:」;
[其他模式]切换至[命令模式]:[Esc];

3. 退出 vim:在底行模式下输入 wq,其中 w 是保存的意思,q 是退出的意思,我们也可以不保存直接退出;
在这里插入图片描述

注: 从其他任意模式切换到命令模式都是 [Esc],只是有的只需要按一次,有的需要按多次,总之无脑 [Esc] 最终一定可以回到命令模式。

Vim的光标定位

$ – 将光标移动到行尾;
^ – 将光标移动到行首;
G – 将光标移动到文件末尾;
gg – 将光标移动到文件开头;
n + G – 将光标移动到第 n 行;
h j k l 将光标向 左 下 上 右 移动;

Vim的文本复制

yy – 复制当前行 (nyy:从当前行开始向下复制n行);
p – 粘贴一次 (np:粘贴n次);
dd – 删除当前行 (ndd:从当前行开始向下删除n行);
u – 撤销操作 (后退一步);
ctrl + r:取消撤销操作 (前进一步)

注: vim 下的所有删除操作都相当于 Windows 下的剪切操作;

Vim的文本编辑

~ – 切换光标所在字符的大小写 (长按~:从光标所在字符开始往后切换所有字符的大小写,直到遇到行尾);
rx – 将光标所在字符替换为x字符 (nrx:将光标所在字符开始往后的n个字符都替换为x字符);
R – 批量化替换,即切换为替换模式,用键盘输入的字符替换光标所在字符,且替换之后光标自动后移,等待替换下一个字符;我们最后需要输入 [Esc] 从替换模式切回命令模式;
x – 删除光标所在字符 (nx:删除光标所在字符开始往后的n个字符);
X – 删除光标所在字符的前一个字符 (nX:删除删除光标所在字符的前n个字符);
w – 将光标跳转到下一个字的第一个字符处 (nw:将光标跳转到下n个字的第一个字符处);
cw – 更改光标所在处的字到字尾处,和 R 一样,此命令会让我们跳转到插入模式 (cnw:更改n个字)

Vim的底行模式的操作

上述操作全部都是在命令模式下进行的,除了命令模式,我们常用的还有插入模式和底行模式,而插入模式基本没有什么快捷操作,所以下面我们最后来学习一些底行模式的基本操作

set nu – 设置行号 (set nonu:取消行号);
vs – 分屏 (注意:无论我们分几个屏,光标只有一个,它代表我们正在对哪个屏幕进行操作);
ctrl + ww – 切换光标到不同屏幕 (注:此指令在命令模式下执行);
wq – 报存退出,w 代表保存,q 代表退出,二者可以分开单独执行;
wq! – 强制保存并强制退出,w! 代表强制保存,q! 代表强制退出,二者可以分开单独执行;
%s/mark1/mark2/g – 将文本中所有的 mark1 替换为 mark2 (s 代表替换,g 代表全局)!指令 – 在不退出 vim 的情况下执行Linux中的各种指令;

注: 上面的这些指令除了 ctrl + ww 之外,其余指令执行的前提都是当前处于底行模式下,即它们前面都需要先输入一个 : 号;

vim的配置

Vim的配置整体过程比较复杂,已经有很多巨人帮我们配置好了Vim,那么只需要一条命令就可以完成Vim的配置,具体操作如下:

在用户目录下输入下面指令:

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

然后输入如下指令或者重启终端即可使Vim配置生效

“source ~/.bashrc” 

配置后的Vim如下:
在这里插入图片描述

管理员权限(sudo)的配置

在刚开始接触Linux的过程中,由于我们是学习的阶段,可以使用直接使用root,但是当我们逐渐熟悉了整个Linux系统,我们就不能使用root账户了,我们应该使用自己创建的独立用户。但是有的时候普通用户的权限不够,那么我们需要使用sudo来临时提升权力,让普通用户可以临时获得管理员权限的功能,但是前提是该用户必须是受信任的用户,即该用户必须处于 sudoers 文件中;
切换至root账户下,然后输入

vim /etc/sudoers

输入完成后回到底行模式,然后输入 !wq, 强制写入退出。
此时此刻我的用户是fj,因此添加这一行代码即可。
在这里插入图片描述
效果展示:
在这里插入图片描述

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

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

相关文章

Node.Js基础知识

Node.Js架构 Natives modules 当前层内容由JS实现提供 应用程序可直接调用库,例如:fs、path、 http等JS语言无法直接操作底层硬件设置(–》Builtin modules 胶水层) Builtin modules 胶水层 在V8引擎下,主要是帮助…

geomtextpath | 成功让你的ggplot注释拥有傲人曲线!~

1写在前面 最近的世界杯结果的确是让人大跌眼镜🕶️, 日本队🇯🇵先后击败世界杯冠军, 德国队🇩🇪和西班牙队🇪🇸, 韩国队🇰🇷逆转葡萄牙🇵🇹, 踩着…

定时轮询-长轮询-websocket

一般网页 点击网页后,前端向后端 发送请求(使用http协议) 那么如何实现后端主动先前端发送数据,比如:网页游戏 聊天室 文件共享 扫码登入 http定时轮询 (轮询) 在前端代码中每隔一段时间向后…

宝塔面板Linux

目录 1.宝塔面板简介 2.安装与连接 3.安装软件 4.端口管理 5.宝塔面板设置 这里主要讲的是宝塔面板的主要操作,本节应与xshell与xftp共同使用 1.宝塔面板简介 宝塔面板是一款服务器管理软件,支持windows和linux系统,可以通过Web端轻松…

第六章- Verilog HDL 高级程序设计举例【Verilog】

第六章 Verilog HDL 高级程序设计举例【Verilog】前言推荐第六章 Verilog HDL 高级程序设计举例状态机用状态机设计1101序列检测器需要定义几个状态?代码设计——端口信号声明状态寄存器次态生成逻辑设计(C1模块)输出逻辑设计(C2模块)完整代码测试结果用状态机设计1…

vSphere-ESXi

VMware-vShpere 第一步: 在VMware虚拟机上安装一台ESXI 开启虚拟机 至此,虚拟机ESXI安装完毕 第二步:使用ESXI虚拟机IP上浏览器 登录后,上传一个映像文件至ISO文件 将VM虚拟机关机 手动添加一块硬盘 然后再使用虚拟机IP进入浏览器…

python入门——基础语法

python入门——基础语法 注释 单行注释:使用# 多行注释:使用 “”" “”" type():查看数据的类型 int():转化为整数 float():转化为浮点数 str():转化为字符串 标识符不可以使用这些 …

Spring WebFlux简单使用

官网:https://docs.spring.io/spring-framework/docs/current/reference/html/web-reactive.html 1.WebFlux介绍 Spring WebFlux 是 Spring Framework 5.0中引入的新的响应式web框架。与Spring MVC不同,它不需要Servlet API,是完全异步且非阻…

蓝桥杯嵌入式LCD屏幕

文章目录前言一、拷贝官方例程二、cubeMX配置三、LCD代码及函数分析使用四、sprintf函数总结前言 本篇文章将带大家学习LCD屏幕的操作,LCD的配置是非常复杂的,在比赛上去实现这些驱动程序基本上是不可能的,当然了比赛官方也是知道这一点的&a…

SpringMVC基础篇:MVC基础知识

第一章:SpringMVC引言 一:什么是SpringMVC 概念:SpringMVC是在Spring框架基础上衍生而来的一个MVC框架,主要解决了原有的MVC框架过程中控制器(Controller)的问题。 SpringMVC是Java开发当中最主流的web技…

了解软件测试

软件测试课程 1.1课程内容: 软件基础课程 ------设计测试用例方法 自动化课程(web自动化)------ 抢票功能 性能测试课程 ----项目性能测试 1.2 什么是测试 1.21 生活中测试的案例 坐地铁,做核酸,扫核酸码 比如当我…

[附源码]计算机毕业设计学生社团信息管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

零基础学习软件测试,掌握四点就够了

近年来越来越多的人转行到软件测试这一领域,对于很多外行的人来说,肯定对这一行业有很多不了解,对于这一职业的职责以及要求都会不清楚,那么我们今天就来梳理一下关于软件测试行业的信息。 一、软件测试的主要职责你知道吗&#x…

裸辞闭关60天,啃下这些软件测试笔记,有幸通过阿里测开岗P6面试

时代在发展,互联网之下,稍有一些落后可能就会被淘汰掉,因此我们需要不断去审视自己,通过学习来让自己得到相应的提升。 近段时间,我也了解到很多小伙伴不清楚作为测试工程师应该掌握什么样的核心知识?实际…

暴力算法 --- 莫队

文章目录莫队基础莫队带修改莫队树上莫队回滚莫队莫队 什么是莫队? 答:优雅的暴力!!! 基础莫队 重复的数 题目描述:给出一个长度为NNN的序列,有若干查询,每次查询区间[li,ri][l_i,…

网页信息抓取-网页信息采集器

抓取整个网页,我们怎么抓取整个网页自己想要的文章内容,很多人一想到内容抓取。就想到要学习一门编程语言,最让大家熟知的就是python爬虫。如果完全靠自己自学,又是从零基础开始学习Python的情况下,我认为至少需要半年…

Spring Boot 2 (六):使用 Docker 部署 Spring Boot 开源软件云收藏

云收藏项目已经开源2年多了,作为当初刚开始学习 Spring Boot 的练手项目,使用了很多当时很新的技术,现在看来其实很多新技术是没有必要使用的,但做为学习案例来讲确实是一个绝佳的 Spring Boot 实践。 从开源到现在,写了一些教程给大家介绍如何部署云收藏,如何在IDE中运…

[附源码]计算机毕业设计ssm校园二手交易平台

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

解决JSP中Bean在页面显示不正确问题(scope关键字)

问题出现 有一天我在编写JSP的程序时,在Java后端写了跳转并且传输数据语句,但前端界面渲染出来的数据却是我在DAO中初始化的数据。 第一句语句将book对象注入request的Session中,第二句实现跳转到JSP页面,第三句将此时的request和…

Logistic回归——银行违约情况分析

文章目录一、Logistic回归原理1、Sigmoid函数作用2、用梯度下降法求解参数二、利用Logistic回归分类1、数据预处理2、利用梯度上升计算回归系数3、训练和验证总结一、Logistic回归原理 1、Sigmoid函数作用 Logistic回归的原理是用逻辑函数把线性回归的结果(-∞,∞)映射到(0,1…