Linux工具的使用——yum和vim的理解和使用

news2024/12/25 2:02:57

目录

  • linux工具的使用
    • 1.linux软件包管理器yum
      • 1.1yum的背景了解
        • 关于yum的拓展
      • 1.2yum的使用
    • 2.Linux编辑器-vim使用
      • 2.1vim的基本概念
      • 2.2vim的基本操作
      • 2.3命令模式命令集
        • 2.3.1关于光标的命令:
        • 2.3.2关于复制粘贴的命令
        • 2.3.3关于删除的命令
        • 2.3.4关于文本编辑的命令
      • 2.4插入模式命令集
      • 2.5底行模式命令集
      • 2.6vim的简单配置

linux工具的使用

1.linux软件包管理器yum

1.1yum的背景了解

学习yum之前,我们需要先知道一些常识

常识:

  1. 下载软件之前,我们需要把软件包下载下来【这个过程需要联网】
  2. 之所以要下载软件包是因为软件包不在我们的本地【也就是磁盘】,软件包存在别人的本地上【一般是远端的服务器或者云服务器】
  3. 我如何知道要在那个服务器上面下载软件包呢?

如果是在电脑上就是通过搜索官网【搜索引擎,可以给钱,它把你放上面去】

如果是在手机上,就是通过手机厂商提供的应用商店【这是一个商业模式,做软件的给手机厂商钱,才能进应用商店】

【应用商店就是一个app,功能就是帮你找到你要的软件包的服务器】

  1. 谁提供的软件包?

是开发这个软件包的企业、个人、组织提供的软件包【其实不是为了钱就是为了知名度】【大部分是为了钱,少部分如linux就是为了知名度】

  1. 软件包制作完之后通常放在哪里呢?

电脑:放到自家官网服务器上

手机:放到手机制造方的应用商店

image-20240920185646181

知道上面的常识之后,我们再来回到linux中,同样的,在linux中下载软件包也是一样的道理。

同样需要有人提供对应的软件包,有人把软件包放在服务器上

那是谁放的呢?

答案:软件包是开源的,因为linux是个开源软件,整个生态都是开源的,因此这些软件包都是放在了被租用的服务器上,钱是linux社区出的,linux社区的钱是来自世界各地linux使用者的捐款。【这个叫站着把钱挣了】

但是这里有个问题,就算这个软件包是开源的,linux客户端如何得知这个软件包的服务器在哪里呢?怎么将这个软件包下载到本地呢?

答案:不同社区在自己的linux中,都会内置服务器和下载链接。这样用户需要那个软件包,就直接跟客户端的软件yum下达指令,yum软件可以直接通过内置的对应的软件包下载链接,来找到对应的服务器并进行下载。

yum的功能就等同于手机上的应用商店!

image-20240920191529947

这里还有一个问题没有解决,我们知道linux这种开源生态基本都是存在于国外,既然如此,那存放软件包的服务器肯定也是在国外的,并且linux配置的软件包的下载链接肯定访问的也是国外的服务器。

但是我们国内因为一些原因,往往会锁墙,一般来说是访问不到国外的服务器的。因为这个原因,国内的一些大佬,比如清华之类的,就自己弄了服务器,把国外的服务器内容镜像到了国内的服务器

这样还不够,因为linux内所配置的软件包的下载链接还是访问国外的服务器,因此国内的软件服务器还需要提供一套国内的下载链接的配置文件——yum源 配置文件

如果想要知道其yum是如何通过内部内置的链接,找到国内的服务器的话,可以打开这个目录/etc/yum.repos.d/

image-20240920231212829

注意:这个链接有可能打不开的,这个时候直接搜镜像软件源就行了

image-20240920231431377

linux中的yum通过内置的一些链接,找到国内的软件源服务器,在这个路径下去找用户所需要安装的软件,找到了就直接从服务器上面安装到本地就行了。

注意:

关于软件一般分为官方的和非官方的,在bash下有的就是官方的。

如果要安装非官方的软件,要下载这个

yum install -y epel-release

如果在该目录/etc/yum.repos.d/下,查看到了下图所圈的文件,就是安装成功了

image-20240920233842492

这个非官方的软件集合基本可以算的上是官方软件的储备,在这里的软件如果能经历时间和大量应用场景的考验并且保持稳定,那么就有可能被添加到官方软件集合中。

这样我们就知道yum是什么,功能是什么,怎么实现了。

**yum其实就是linux提供的一个软件,起到一个应用商店的作用。**我们可以通过yum实现软件的安装,下载,和卸载

关于yum的拓展

yum在帮我们下载软件的时候,其实暗自帮我们解决了软件的软件之间的耦合问题。

我们再下一个软件A的时候,并不是单纯的下载了一个软件A就可以的,软件A内部很可能还有再继续下载一些东西。

比如:vs 2022,我们在下载了vs2022之后,还要下载关于c/c++的一些相关文件。

1.2yum的使用

yum的使用一般就是三板斧——安装、查找、删除

安装一个软件就输入:

yum install 软件名

选项:

  • -y

加了-y系统就不会询问你是否要下载,而是直接下载。

注意:

yum的前提是root权限,可以用sudo提权,也可以直接用root来执行。

并且yum下载的软件,是整个linux系统都可以使用的

查找yum是否支持下载某个软件就输入:

yum list | grep 软件名

如果不加 | grep就是罗列所有yum支持安装的软件名

删除一个软件就输入:

yum remove 软件名

2.Linux编辑器-vim使用

2.1vim的基本概念

vim一共有12种模式:six BASIC modes和six ADDITIONAL modes

在底行模式输入:help vim-modes

image-20240929151314705

vim最常使用的三种模式——命令模式,编辑模式,底行模式

这里的编辑模式也可以叫插入模式

2.2vim的基本操作

刚用vim打开一个文件的时候,默认就是命令模式

image-20240929150813019

如果要切换成编辑模式

就要输入i、Ins按键。

输入a、

输入o、

image-20240930145528751

要退出编辑模式,可以按esc进入到命令模式。

但是想要进入到底行模式,只能从命令模式输入shift + ;,也就是:

image-20240930145453961

并且要退出底行模式,要输入esc。底行模式无法直接切换到编辑模式

如果要退出vim的话,可以输入wq,表示保存并退出

q 表示不保存直接退出。

w 表示保存当前文件

这三个模式的基本关系图如下面所示:

image-20240929150517200

2.3命令模式命令集

命令模式的意义:就是为了提高编辑效率

因为vim是诞生在没有鼠标和老式键盘的时代下的。

2.3.1关于光标的命令:

关于光标的命令很很多,下面可以参考:

vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、

「l」,分别控制光标左、下、上、右移一格

按「G」:移动到文章的最后【G = shift + g】

按「nG」:移动到第n行的开头【G = shift + g】

按「 $ 」:移动到光标所在行的“行尾”【$ = shift + 4】

按「」:移动到光标所在行的“行首”【 = shift +6】

按「w」:光标跳到下个字的开头【这里w可以+shift,也可以不加,加了会跳多一点】

按「e」:光标跳到下个字的字尾

按「b」:光标回到上个字的开头

按「#l」:光标移到该行的第#个位置,如:5l,56l

按[gg]:进入到文本开始

按[shift+g]:进入文本末端

按「ctrl」+「b」:屏幕往“后”移动一页

按「ctrl」+「f」:屏幕往“前”移动一页

按「ctrl」+「u」:屏幕往“后”移动半页

按「ctrl」+「d」:屏幕往“前”移动半页

小键盘的上下左右也是可以控制光标的移动的,但是最好用 H J K L

image-20240929161937745

这里图片中的 n + shift + g的意思就是跳转光标到指定行号

行号需要在底行模式下输入 set nu 之后就会有了

image-20240929164543916

2.3.2关于复制粘贴的命令

关于复制和粘贴的命令:

「yw」:将光标所在之处到字尾的字符复制到缓冲区中。

「nyw」:复制n个字到缓冲区

「yy」:复制光标所在行到缓冲区。

「nyy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。

「p」:将缓冲区内的字符贴到光标所在位置。

注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能

2.3.3关于删除的命令

关于删除的命令:

「x」:每按一次,删除光标所在位置的一个字符

「nx」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符

「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符

「nX」:例如,「20X」表示删除光标所在位置的“前面”20个字符

「dd」:删除光标所在行

「ndd」:从光标所在行开始删除n行【向下n行】

[ndd + p]:剪切操作【将光标所在行开始删除的n行剪切到光标所在的位置】

注意:

所有的删除都能粘贴。就是都能执行剪切

2.3.4关于文本编辑的命令

有关对文本内容进行编辑的命令:

[~]:长按不动,会自动将这一行的内容依次切换大小写

image-20240929170229021

[R]:进入替换模式,进行批量化替换

[r]:替换光标所在处的字符

  • 撤销上一次操作

「u」:如果误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。

「ctrl + r」: 撤销的恢复【u不小心按多了,撤销了不想撤销的命令,那就用这个】

  • 更改

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

「c#w」:例如,「c3w」表示更改3个字

总结:

image-20240930085213798

2.4插入模式命令集

按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;

按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;

按「o」进入插入模式后,是插入新的一行,从行首开始输入文字

2.5底行模式命令集

  • 列出行号

「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。

  • 跳到文件中的某一行

「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。

  • 查找字符

「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。

「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

/ 和 ?查找有什么区别?

/string 会高亮显示光标后匹配的第一个字符串,回车后光标移到该字符串的第一个字母;
?string 会高亮显示光标前匹配的第一个字符串,回车后光标移到该字符串的第一个字母

  • 保存文件和退出文件

「w」: 在冒号输入字母「w」就可以将文件保存起来,可以跟「!」表示强制写入

「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。

「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。也可以跟「!」表示强制保存并退出

  • 分屏操作

「vs 文件名」:表示分屏操作,创建一个用户输入的文件名的文件,然后进行分屏操作。如果该文件名已存在文件,那就是打开文件并进行分屏操作

image-20240930090713040

注意:

无轮分了多少个屏,光标从始至终就只有一个,光标在那个屏幕就代表正在操作那个屏幕。和window是一样的【无论window可以开多少个窗口。只能对一个窗口进行操作】

如果要进行光标的分屏要输入:

[ctrl + ww]:切换光标所在屏幕

  • !写linux命令

在底行模式下如果想执行一些linux命令但是不想退出vim模式的时候,就需要用到!

如图所示:
image-20240930092137289

执行命令

image-20240930092142973

执行完毕后,按q退出之后,仍然回到vim编辑界面

image-20240930092153266

  • 批量替代

在底行模式下输入%s/printf/cout/g:代表这把所有printf都替换成cout

image-20240930092501129

替换

image-20240930092506265

2.6vim的简单配置

vim的配置可以让vim的使用更加的方便。

关于vim的配置有几个需要注意的地方:

  1. vim的配置是一个用户一份的,不会影响其他用户
  2. 每一个用户虽然用的是同一个vim程序,但是使用的是不同的vim配置
  3. 关于vim的基础配置,就是修改自己的.vimrc配置文件【在家目录下】
  4. 在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效

image-20240930150357390

但是目前的这个vim比较难以使用,它没有自动对齐和高亮等功能

因此我们配置vim,就是通过设置.vimrc这个文件,来使得vim这个编辑器变得更加的好用

配置vim的两个方法:

  • 一个一个往.vimrc这个文件添加命令来配置

如下图所示

image-20240930151515356

配置完之后vim界面就会发生变化

image-20240930151501034

但是这个配置vim的方式非常的费时费力。如果自己喜欢可以一条一条的复制粘贴的配置,并且下载一些插件来完善vim的功能

  • 因此,我们可以拿别人配置好的vim来配置自己的vim

这里不推荐在root下配置,配置完之后,所有用户包括root自己全都会配置。

最好是在普通用户下配置

注意:因为这是从gitee上面拿过来的,所以需要你的系统中装有git才行

① 使用 git --version 查看自己的系统中是否有安装git

② 没安装的话使用 **yum install -y git**稍等一会就可以安装好了

这里推荐一个:HGtz2222/VimForCpp - 码云 - 开源中国 (gitee.com)

image-20240930155807864

下载完成之后会显示

image-20240930162726510

输入指令之后显示:

image-20240930162750531

配置好后的效果还是很好的

此时的vim编辑器具备了高亮、自动补齐、自动锁紧、代码自动补齐等功能,并且这个界面也挺好看的

image-20240930155857581

  • 参考资料

GitHub - wsdjeg/vim-galore-zh_cn: Vim 从入门到精通

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

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

相关文章

修复: Flux女生脸不再油光满面, 屁股下巴 -- 超实用Comfyui小技巧

ComfyUI上目前最强画图模型公认为Flux. 初次用Flux基础模型画真实的女生时, 和SD比起来, 会觉得画出来细节更多, 更真实. 但是当画多了, 就会觉得画出来的女生总是似曾相识. 仔细观察, 会发现一些共同的特征. 人偏老气, 像30~50的女生. 改了提示词也效果不大. 颧骨凸起, 嘴…

rdp远程桌面服务协议概述

rdp远程桌面服务协议概述 什么是远程桌面服务远程桌面服务的通信过程及功能 建立连接资源重定向与用户体验断开连接 远程桌面服务的协议架构 核心协议与基础通信虚拟通道与扩展协议协议协作与层次划分协议的可扩展性协议扩展与性能优化 总结参考 rdp远程桌面服务协议概述 对于…

2024重生之回溯数据结构与算法系列学习(10)【无论是王道考研人还是IKUN都能包会的;不然别给我家鸽鸽丢脸好嘛?】

欢迎各位彦祖与热巴畅游本人专栏与博客 你的三连是我最大的动力 以下图片仅代表专栏特色 专栏跑道一 ➡️ MYSQL REDIS Advance operation 专栏跑道二➡️ 24 Network Security -LJS ​ ​ ​ 专栏跑道三 ➡️HCIP;H3C-SE;CCIP——LJS[华为、华三、思科高级网络]…

[Uninstall] 软件彻底卸载工具的下载及详细安装使用过程(附有下载文件)

一般软件安装的有问题,或者想重新安装其他版本就需要将原来的版本删除干净,但常常删不干净,本文分享一个软件彻底卸载工具,完成彻底卸载软件的工作 下载链接在文末 下载压缩包后解压 !!安装路径不要有中文…

计算机毕业设计 基于Python高校岗位招聘和分析平台的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

一篇文章快速学会docker容器技术

目录 一、Docker简介及部署方法 1.1Docker简介 1.1.1什么是docker 1.1.2 docker在企业中的应用场景 1.1.3 docker与虚拟化的对比 1.1.4 docker的优势 二 、部署docker 2.1 容器工作方法 2.2 部署第一个容器 2.2.1 配置软件仓库 2.2.2 安装docker-ce并启动服务 2.2.…

YOLOv8改进 | 主干篇,YOLOv8改进主干网络为华为的轻量化架构GhostNetV1

摘要 摘要:将卷积神经网络(CNN)部署在嵌入式设备上是困难的,因为嵌入式设备的内存和计算资源有限。特征图的冗余是成功的 CNN 的一个重要特征,但在神经网络架构设计中很少被研究。作者提出了一种新颖的 Ghost 模块,用于通过廉价操作生成更多的特征图。基于一组内在特征图…

【C++算法】8.双指针_三数之和

文章目录 题目链接:题目描述:解法C 算法代码:图解 题目链接: 15.三数之和 题目描述: 解法 解法一:排序暴力枚举利用set去重O(n3) 例如nums[-1,0,1,2,-1&…

DolphinScheduler 资源中心无法上传大文件

服务:dolphinscheduler 版本:v3.16 问题描述:资源中心-文件管理中使用文件上传是出现中断或上传失败 排除思路: 测试小文件或其他类型文件时是否正常;F12查看接口调用成功以及失败时的对比,发现接口调用…

智慧应急指挥平台1+6+N体系建设方案

1. 智慧应急指挥平台概述 智慧应急指挥平台是一个综合性的应急响应体系,旨在通过高效的信息整合和通信技术,提升应急管理的智能化水平。该平台采用“16N”的体系结构,集成了智慧城市、智慧园区、智慧矿山等多个智慧应用,并依托三…

位运算(3)_判定字符是否唯一_面试题

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 位运算(3)_判定字符是否唯一_面试题 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论💌 目…

[Bandzip] 文件解压工具的下载及详细安装使用过程(附有下载文件)

文件解压工具,避免解压出错,双击即可解压文件 下载链接在文末 下载压缩包后解压 !!安装路径不要有中文 解压得到文件 双击exe文件 同意并安装 安装完成后,点击关闭, 右键点击需要解压的压缩包&#xff0…

Postman另存的curl脚本调试运行

文章目录 背景1、修改header 标识2、修改post请求方式3、修改单引号为双引号4、整体修改去掉多余字符curl 一行显示 5、执行结果 背景 在日常项目中调用外部服务接口,经常使用到Postman、ApiPost等工具调用,在没有工具的时候,可以使用 curl …

TI DSP TMS320F280025 Note14:模数转换器ADC原理分析与应用

TMS320F280025 模数转换器ADC原理分析与应用 ` 文章目录 TMS320F280025 模数转换器ADC原理分析与应用逐次比较型ADC和双积分型ADC工作原理逐次比较型 ADC双积分型 ADC280025ADCADC原理分析ADC时钟SOCSOC内部原理ADC触发方式ADC采集(采样和保持)窗口通道寄生电容基准电压发生器模…

心理咨询预约管理系统(含源码+sql+视频导入教程)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 心理咨询预约管理系统2拥有三个角色: 管理员端 首页 系统近况(咨询师和注册来访者数量,预约数量) 显示最新的消息、留言和公告&#xff0…

回归预测 | Matlab基于POA-SVR鹈鹕算法优化支持向量机的数据多输入单输出回归预测

回归预测 | Matlab基于POA-SVR鹈鹕算法优化支持向量机的数据多输入单输出回归预测 目录 回归预测 | Matlab基于POA-SVR鹈鹕算法优化支持向量机的数据多输入单输出回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab基于POA-SVR鹈鹕算法优化支持向量机的数据…

rk3399开发环境的介绍

零. 前言 由于Bluez的介绍文档有限,以及对Linux 系统/驱动概念、D-Bus 通信和蓝牙协议都有要求,加上网络上其实没有一个完整的介绍Bluez系列的文档,所以不管是蓝牙初学者还是蓝牙从业人员,都有不小的难度,学习曲线也相…

中信银行西安分行:“极地来信”沉浸展西安站正式启幕

9月7日,中信银行“极地来信”跨界整合品牌线下巡展西安站在MOMOPARK艺术购物中心正式启幕。本次活动聚焦中国极地考察的冰路征程,以沉浸式展览与艺术创意传递中国极地考察“向南而行”的无畏精神,并将极地考察的探索之路与金融创新的实践之路…

智慧平台 PersonalDayInOutSchoolData SQL注入漏洞

漏洞描述 EDU 某智慧平台 PersonalDayInOutSchoolData 接口存在SQL注入漏洞,未经身份验证的远程攻击者除了可以利用 SQL 注入漏洞获取数据库中的信息(例如,管理员后台密码、站点的用户个人信息)之外,甚至在高权限的情…

OpenCL 学习(1)---- OpenCL 基本概念

目录 Overview异构并行计算OpenCL 架构平台模型执行模型OpenCL 上下文OpenCL 命令队列内核执行编程模型存储器模型存储器对象共享虚拟存储器 Overview OpenCL(Open Computing Language,开放计算语言) 最早由苹果公司提交草案,并于 AMD, IBM ,intel 和 n…