yum的基本操作和vim指令

news2025/4/15 14:47:46

在我们的手机端或者Windows上下载软件,可以在相应的应用商店或者官网进行下载,这样对于用户来说十分的方便和便捷。而在Linux上,也有类似的安装方式,我们来一一了解一下。

Linux安装软件的3种方法

源代码安装

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

  1. 获取源代码
    • 通常可以从软件的官方网站或源代码仓库(如GitHub)下载源代码。
    • 使用wgetcurlgit等工具来下载源代码。
  2. 解压缩源代码包
    • 如果源代码是压缩文件,使用targzipzip等工具进行解压缩。
    • 例如:tar -xzvf source-code.tar.gz
  3. 配置构建环境
    • 进入源代码目录。
    • 运行./configure脚本,它可以检测系统环境并设置编译选项。
    • 可能需要指定参数来定制编译选项.
  4. 安装软件
    • 使用make install命令来安装编译后的程序到系统(通常需要管理员权限)。
    • 例如:sudo make install
      可以看到这种安装方式非常的麻烦,而且对于新手来说很不友好。

yum安装

上面的方法比较麻烦,所以有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装。软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系。

yum的三个指令

在讲指令之前,我们先来安装一个rzsz软件,这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件,安装完毕之后可以通过拖拽的方式将文件上传过去。关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!!!
请添加图片描述

yum list

我们来学习第一条指令。当我们在手机上想要下载一个软件的时候,常常会先搜索这个软件的名称,然后再进行下载。那么在Linux上也可以,当你想下载某个软件的时候,可以通过 yum list 命令罗列出当前一共有哪些软件包. 由于包的数目可能非常之多, 这里我们需要使用 grep 命令只筛选出我们关注的包. 例如:yum list | grep lrzsz。结果如下:
请添加图片描述

这样我们就找到了要下载的软件,.x86_64表示该软件在64位计算机系统上运行,i686表示32位系统安装包,选择包时要和系统匹配。0.12.20-36.el7是版本号,el7表示的是centos7/redhat7。最后,base表示的是“软件源”的名称,是哪个发行方提供的,类型于“xx应用商店”这样的概念。
一般而言,软件的提供方有两种,baseepel

  • Base源:通常指的是Linux发行版默认的软件仓库,它包含了该发行版官方支持和维护的基本软件包。例如,在CentOS和RHEL中,base源是baseos,它提供了系统运行所需的核心软件包。
  • EPEL源(Extra Packages for Enterprise Linux):是一个由Fedora社区维护的第三方仓库,为RHEL及其衍生版(如CentOS)提供额外的软件包。EPEL源的目的是提供那些不在默认仓库中的软件包,以增强系统的功能。
    其实epel源相当于第三方软件安装包,更新可能更频繁,而base源相当于官方在维护,更新频率可能较低,以确保系统的稳定性。

yum install

通过 yum, 我们可以通过很简单的一条命令完成 gcc 的安装,基本语法:yum install 软件名
yum 会自动找到都有哪些软件包需要下载, 这时候敲 “y” 确认安装。出现 “complete” 字样, 说明安装完成。
注意事项:

  • 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.
  • yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错.
  • 如果不想询问你的意见,想直接安装,那么可以加上-y指令。

yum remove

可以下载软件当然也可以卸载软件。基本语法:yum remove 软件名.

yum源

那么yum是如何知道要去哪里下载软件的呢?我们可以找到/etc/yum.repos.d/下面的文件:
请添加图片描述

repos表示仓库,d表示目录,在该目录下,会存储大量的网址,yum会到对应的网址内部查找软件。使用vim /etc/yum.repos.d/CentOS-base.repo指令就可以看到下图,这就是CentOS-base.repo的内部,可以看到内部有许多的链接,Linux就是到这些连接内部下载软件的。当然这些链接可以在浏览器上直接搜索到,由于我用的是华为云的服务器,所以软件就是在这里面下载的,当然还有其他的yum源,如阿里云腾讯源清华源等等
请添加图片描述

Linux编辑器——Vim

vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。

vim的基本概念

我们先来学习3种模式,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

  • 正常/普通/命令模式(Normal mode):控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。此模式下,不能自由进行文本编辑。
  • 插入模式(Insert mode):只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
  • 底行模式(last line mode):文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入。
    请添加图片描述

想要通过vi/vim编辑器编辑文件,输入如下命令:vi 文件路径/vim 文件路径,vim兼容全部都vi功能

  • 如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
  • 如果文件路径表示的文件存在,那么此命令会用于编辑已有文件
    命令模式的常用操作有:
    模式之间的切换看上面的图片就可以了。这里直接讲如何退出vim模式
    退出vim及保存文件,在 [正常模式]下,按一下「:」冒号键进入「Last line mode」,例如:
  • : w (保存当前文件)
  • : wq (输入「wq」,存盘并退出vim)
  • : q! (输入q!,不存盘强制退出vim)

正常模式的指令集

  1. 插入模式
    • 按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
    • 按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
    • 按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
  2. 移动光标
    • vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格
    • gg:定位光标到最开始
    • G:定位光标到最结尾
    • nG:定位光标到底n行,如:3G,表示定位到第三行。
    • shift+$:定位光标到当前行的结尾
    • shift+^:定位光标到当前行开始
    • w,b:光标按照单词进行行内跨行移动。w即光标跳到下个单词的开头,b即光标回到上个单词的开头
  3. 复制
    • (n)yy:复制光标所在行。3yy表示复制三行
    • (n)p:粘贴(n行重复行)到光标所在行的下一行
    • shift+~:大小写转换
    • (n)r:对光标字符+之后的n个字符进行批量化替换
    • shift+R:替换模式。对内容进行整体替换
  4. 删除文字
    • (n)x:对光标字符之后的n个字符进行删除(包含自己在内)
    • (n)X:删除光标所在位置的“前面”(n)个字符(包含自己)
    • (n)dd:从光标所在行开始删除(n)行
  5. 撤销
    • u:撤销
    • Ctrl+r:撤销之前的撤销

底行模式指令集

在使用底行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式。

  1. 列出行号
    • 「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号
  2. 跳到文件中的某一行
    • 「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。
  3. 查找字符
    • 「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止
    • 「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。
  4. 保存文件
    • 「w」: 在冒号输入字母「w」就可以将文件保存起来
    • 「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。
    • 「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。
      底行模式中,vs 文件名表示创建一个新文件并打开一个文件编辑窗口,ctrl+ww:窗口光标切换。

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

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

相关文章

Qt触摸屏隐藏鼠标指针

Qt触摸屏隐藏鼠标指针 Chapter1 Qt触摸屏隐藏鼠标指针 Chapter1 Qt触摸屏隐藏鼠标指针 使用Qt开发的屏幕软件HMI不需要显示鼠标,qt设置,可以在只启动HMI的时候隐藏光标,退出时再显示。 1.如果只希望在某个 widget 中不显示鼠标指针&#xf…

LangGraph——Agent AI的持久化状态

LangGraph 内置了一个持久化层,通过检查点(checkpointer)机制实现。当你使用检查点器编译图时,它会在每个超级步骤(super-step)自动保存图状态的检查点。这些检查点被存储在一个线程(thread)中,可在图执行后随时访问。由于线程允许在执行后访…

【双指针】专题:LeetCode 1089题解——复写零

复写零 一、题目链接二、题目三、算法原理1、先找到最后一个要复写的数——双指针算法1.5、处理一下边界情况2、“从后向前”完成复写操作 四、编写代码五、时间复杂度和空间复杂度 一、题目链接 复写零 二、题目 三、算法原理 解法:双指针算法 先根据“异地”操…

【C++初学】C++核心编程(一):内存管理和引用

前言 在C的世界里,面向对象编程(OOP)是核心中的核心。它不仅是一种编程范式,更是一种思考问题的方式。本文将带你从C的内存分区模型出发,深入探讨引用、函数、类和对象、继承、多态以及文件操作等核心概念。通过丰富的…

(PC+WAP)大气滚屏网站模板 电气电力设备网站源码下载

源码介绍 (PCWAP)大气滚屏网站模板 电气电力设备网站源码下载。PbootCMS内核开发的网站模板,该模板适用于滚屏网站模板、电气电力设备网站源码等企业,当然其他行业也可以做,只需要把文字图片换成其他行业的即可;PCWAP&#xff0c…

笔试专题(九)

文章目录 十字爆破(暴力)题解代码 比那名居的桃子(滑动窗口/前缀和)题解代码 分组(暴力枚举 优化二分)题解代码 十字爆破(暴力) 题目链接 题解 1. 暴力 预处理 2. 如果单纯的暴…

3 VS Code 配置优化与实用插件推荐:settings.json 详解、CodeGeeX 智能编程助手及插件离线安装方法

1 优化 settings.json 文件 1.1 settings.json 简介 settings.json 是 VS Code 的核心配置文件,用于存储用户的个性化设置和偏好。通过该文件,用户可以自定义和覆盖 VS Code 的默认行为,包括但不限于以下方面: 编辑器外观&#…

TA学习之路——1.6 PC手机图形API介绍

1前言 电脑的工作原理:电脑是由各种不同的硬件组成,由驱动软件驱使硬件进行工作。所有的软件工程师都会直接或者间接的使用到驱动。 定义:是一个图形库,用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序接口(API)。…

Matlab 调制信号和fft变换

1、内容简介 Matlab 194-调制信号和fft变换 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略

100M/1000M 以太网静电浪涌防护方案

方案简介 以太网是一种生产较早且广泛应用的局域网通讯方式,同时也是一种协议,其核 心在于实现区域内(如办公室、学校等)的网络互联。根据数据传输速度的不同,以 太网大致可以划分为几个等级:标准以太网…

C语言中while的相关题目

一、题目引入 以下程序中,while循环的循环次数是多少次? 二、代码分析 首先要明确的一点 while循环是当循环条件为真 就会一直循环 不会停止 while中i是小于10的 说明i可以取到0 1 2 3 4 5 6 7 8 9 进入第一个if判断i小于1为真时执行continue i0是为真的 执行continue 后…

「Unity3D」图片导入选项取消Read/Write,就无法正确显示导入大小,以及Addressable打包无法正确显示的问题

如果在Edit -> Project Settings -> Editor中的“Load texture data on demand”勾选,就会让图片导入设置中,不勾选Read/Write,就无法正确显示纹理的大小数字。 更进一步的问题是,使用Addressable打包的时候, 如…

Xcode为不同环境配置不同的环境变量

一般有三种方式: 一、通过多Target 二、通过scheme,也就是多configurations 三、通过.xcconfig文件 先来看第二种方式:通过scheme,也就是多configurations,包括自定义User-settings 第一步:增加configurations,Xcode默认为我们生成了…

阿里通义实验室发布图片数字人项目LAM,实现高保真重建

简介 LAM项目结合了3D Gaussian Splatting(高斯点云渲染)和大规模预训练模型的优势,解决了传统头部重建方法效率低、依赖多数据的痛点。其背景源于AI生成内容(AIGC)领域对实时、高保真3D头像生成的需求,尤其…

镜像端口及观察端口的配置

配好路由器的各个接口的IP PC1ping PC3的IP,在路由器中抓2/0/0端口的包,可观察到无结果 输入observe-port interface g 2/0/0 命令配置观察端口 输入mirror to observe-port both命令 (其中both表示接收来去的数据包,inboun…

STM32——I2C通讯(软件模拟)

I2C概念 I2C:Inter-Integrated Circuit(内部集成电路) Philps公司80年代初期开发的,引脚少,硬件实现简单,可扩展性广泛地使用在系统内多个集成电路(IC)间的低速通讯 简单的双向两线制总线协议…

JetBrains Terminal 又发布新架构,Android Studio 将再次迎来新终端

不到一年的时间,JetBrains 又要对 Terminal 「大刀阔斧」,本次发布的新终端是重构后的全新的架构,而上一次终端大调整还是去年 8 月的 v2024.2 版本,并且在「Android Studio Ladybug | 2024.2.1」也被引入。 不知道你们用不用内置…

论文:Generalized Category Discovery with Large Language Models in the Loop

论文下载地址:Generalized Category Discovery with Large Language Models in the Loop - ACL Anthology 1、研究背景 尽管现代机器学习系统在许多任务上取得了优异的性能,绝大多数都遵循封闭世界的设置,假设训练和测试数据来自同一组预定义…

第十六届蓝桥杯 省赛C/C++ 大学B组

编程题目现在在洛谷上都可以提交了。 未完待续,写不动了。 C11 编译命令 g A.cpp -o A -Wall -lm -stdc11A. 移动距离 本题总分:5 分 问题描述 小明初始在二维平面的原点,他想前往坐标 ( 233 , 666 ) (233, 666) (233,666)。在移动过程…

【计网】网络交换技术之分组交换(复习自用,重要1)

复习自用的,处理得比较草率,复习的同学或者想看基础的同学可以看看,大佬的话可以不用浪费时间在我的水文上了 另外两种交换技术可以直接点击链接访问相关笔记: 电路交换 报文交换 一、分组交换的定义 1.定义 分组交换&#x…