yum的基本操作和vim指令

在我们的手机端或者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.mzph.cn/news/901259.shtml

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

相关文章

C++ CUDA开发入门

CUDA开发笔记 文章目录 CUDA开发笔记[toc]1 概述2 环境3 命令行编译4 CMAKE引入CUDA5 vscode开发CUDA6 Qt中使用CUDA-CMake7 QMake配置CUDA8 核函数9 核函数调用9.1 核函数调用语法9.2 执行配置参数详解9.3 关键调用步骤9.4 重要注意事项9.5 调用示例分析9.6 最佳实践建议 10 线…

llm开发框架新秀

原文链接:https://i68.ltd/notes/posts/20250404-llm-framework3/ google开源ADK-Agent Development Kit 开源的、代码优先的 Python 工具包,用于构建、评估和部署具有灵活性和控制力的复杂智能体项目仓库:https://github.com/google/adk-python 2.6k项目文档:Age…

VM——相机拍照失败

1、问题:相机频闪触发,在MVS中正常出图,在VM中出现拍照失败 2、解决: 1、首先排查网络设置(巨帧是否设置) 2、电脑的所有防火墙是否关闭 3、在MVS中恢复相机的设置参数为默认参数,删除VM中的全…

【时频谱分析】小波分析

算法配置页面,也可以一键导出结果数据 报表自定义绘制 获取和下载【PHM学习软件PHM源码】的方式 获取方式:Docshttps://jcn362s9p4t8.feishu.cn/wiki/A0NXwPxY3ie1cGkOy08cru6vnvc

怎么免费下载GLTF/GLB格式模型文件,还可以在线编辑修改

​ 现在非常流行glb格式模型,和gltf格式文件,可是之类模型网站非常非常少 1,咱们先直接打开http://glbxz.com 官方glb下载网站 glbxz.com 2 可以搜索,自己想要的模型关键词 3,到自己想下载素材页面 4,…

【6】深入学习http模块(万字)-Nodejs开发入门

深入学习http模块 前言http一个Web服务器项目创建代码运行代码解析 Server属性:keepAlive属性:keepAliveTimeout属性:maxHeaderSize属性:requestTimeout属性:maxRequestsPerSocket方法:close()方法&#xf…

buuctf sql注入类练习

BUU SQL COURSE 1 1 实例无法访问 / Instance cant be reached at that time | BUUCTF但是这个地方很迷惑就是这个 一个 # 我们不抓包就不知道这个是sql注入类的判断是 get 类型的sql注入直接使用sqlmap我们放入到1.txt中 目的是 优先检测 ?id1>python3 sqlmap.py -r 1.t…

(即插即用模块-特征处理部分) 三十二、(TGRS 2024) MDAF 多尺度双表示对齐过滤器

文章目录 1、Multiscale Dual-Representation Alignment Filter2、代码实现 paper:SFFNet: A Wavelet-Based Spatial and Frequency Domain Fusion Network for Remote Sensing Segmentation Code:https://github.com/yysdck/SFFNet 1、Multiscale Dual-…

Python 中为什么 hash(-1) == hash(-2)?

推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 让我们从哪里开始?获取源代码!让我们浏览一下这是正确/完整的答案吗?结论前几天在浏览 Reddit 时,我在 r/Python 上看到了这样一个…

基于PySide6与pycatia的CATIA绘图比例智能调节工具开发全解析

引言:工程图纸自动化处理的技术革新 在机械设计领域,CATIA图纸的比例调整是高频且重复性极强的操作。传统手动调整方式效率低下且易出错。本文基于PySide6pycatia技术栈,提出一种支持智能比例匹配、实时视图控制、异常自处理的图纸批处理方案…

macos下 ragflow二次开发环境搭建

参考官网链接 https://ragflow.io/docs/dev/launch_ragflow_from_source虚拟环境 git clone https://github.com/infiniflow/ragflow.git cd ragflow/ # if not pipx, please install it at first pip3 install pipxpipx install uv uv sync --python 3.10 --all-extras 安装 …

libva之ffavdemo分析

ffavdemo 代码库实现了一个基于FFmpeg和VAAPI的硬件加速视频解码与渲染框架,主要用于演示视频解码与渲染的完整硬件加速流程。支持多种渲染后端(X11、DRM、EGL),适应不同显示环境。包含视频处理过滤器,可进行格式转换和…

JavaWeb 课堂笔记 —— 09 MySQL 概述 + DDL

本系列为笔者学习JavaWeb的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员JavaWeb开发教程,实现javaweb企业开发全流程(涵盖SpringMyBatisSpringMVCSpringBoot等)》,章节分布参考视频教程,为同样学习…

精品推荐 | 湖仓一体电商数据分析平台实践教程合集(视频教程+设计文档+完整项目代码)

精品推荐,湖仓一体电商数据分析平台实践教程合集,包含视频教程、设计文档及完整项目代码等资料,供大家学习。 1、项目背景介绍及项目架构 2、项目使用技术版本及组件搭建 3、项目数据种类与采集 4、实时业务统计指标分析一——ODS分层设计与数…

【人工智能】大语言模型多义词解析技术揭秘——以“项目“歧义消解为例

今天田辛老师和小伙伴探讨了一个有趣的多义词问题, 在人工智能技术日新月异的今天,大语言模型(LLM)对自然语言的理解能力已经达到令人惊叹的水平。大模型到底是如何去区分多义词的? 比如:当用户提到"…

【maxENT】最大熵模型(Maximum Entropy Model)R语言实现

文章目录 一、相关package介绍1.1 dismo 包1.2 raster包1.3 常见问题与解决 二、代码示例 🟢🟠先看:【maxENT】最大熵模型(Maximum Entropy Model)介绍与使用(maxENT软件) ASCII文件太大&#…

哈希表-算法小结

哈希表 map set 数组 在C中,set 和 map 分别提供以下三种数据结构,其底层实现以及优劣如下表所示: 集合底层实现是否有序数值是否可以重复能否更改数值查询效率增删效率std::set红黑树有序否否O(log n)O(log n)std::multiset红黑树有序是否…

OpenCompass模型评估

OpenCompass面向大模型的开源方和使用者, 提供开源、高效、全面的大模型评测开放平台。 一、OpenCompass文档 1.基础安装 使用Conda准备 OpenCompass 运行环境: conda create --name opencompass python3.10 -y conda activate opencompass2. 安装 Op…

博途 TIA Portal之1200做主站与有意思的板子做MODBUS_RTU通讯

做为博途的硬件,1200和1500本体都不具有串口通讯功能,只能使用扩展板或是通讯模块完成。 其中1200使用CB1241或CM1241进行串口通讯,本文将使用CM1241进行演示。 1、硬件介绍 1200的PLC一台,有意思的板子(以下简单4D板)一台。 其中1200带扩展模块CM1241 RS232;4D板使…

【深度学习与实战】3.1 逻辑回归模型

‌1. 定义与核心思想‌ 逻辑回归(Logistic Regression)是一种用于‌二分类问题‌的统计学习方法,通过‌sigmoid函数‌将线性回归的输出映射到[0,1]区间,表示样本属于某一类别的概率‌。 ‌本质‌:广义线性模型&#x…