当前位置: 首页 > news >正文

【Linux】软件管理器yum和编辑器vim

在这里插入图片描述
🔥博客主页 小羊失眠啦.
🎥系列专栏《C语言》 《数据结构》 《C++》 《Linux》 《Cpolar》
❤️感谢大家点赞👍收藏⭐评论✍️


在这里插入图片描述

文章目录

一、Linux下安装软件的方案

1.1 源代码安装

源代码安装是我们找到软件的源代码,对源代码进行编译,得到软件包,然后进行安装。优点是可以自定软件包,缺点是源代码安装的操作复杂成本非常高,对用户有着较高的要求。在安装一些组件、动静态库等,可能需要我们通过源代码进行安装。

1.2 rpm安装

rpm安装就是在软件官网下载rpm包,类似于windows中的安装包,下载下来之后直接安装。缺点是不能自己解决依赖,在安装软件的时候,需要做很多的前期准备工作,才能把软件安装好。

1.3 yum安装

yum安装,就是通过yum命令下载指定的远程互联网主机上的rpm包,然后自动进行安装,解决了相互间的依赖关系。yum安装基于rpm安装,也就是在rpm上增加了自动解决依赖的功能。


二、Linux软件包管理器yum

Linux中我们进行工具、指令、程序的安装,卸载等,都需要yum的软件,yumLinux中预装的指令,它相当于手机上的应用商店。

2.1 什么是软件包

在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序,但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成**软件包(可以理解成windows上的安装程序)**放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装。软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系。yum(Yellow dog Updater Modified)是Linux下非常常用的一种包管理器,主要应用在Fedora, RedHat, Centos等发行版上。

2.2 关于rzsz

这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件。 安装完毕之后可以通过拖拽的方式将文件上传过去。

  • rz 是将本地Windows中的文件上传到远端的Linux机器上
  • sz 是将远端Linux机器上的文件拿到本地Windows电脑中

2.3 查看软件包

**指令 **:

  • yum list
    

实例

  • yum list | grep lrzsz
    

    通过 yum list 命令可以罗列出当前一共有哪些软件包。 由于包的数目可能非常之多, 这里我们需要使用行文本过滤器 grep 命令配合管道 | 只筛选出我们想要的软件包。 例如:

在这里插入图片描述

各字段含义

  • lrzsz:软件名
  • .x86_64 :表示64位系统的安装包,i686后缀表示32位系统的安装包。选择包时要和系统匹配。
  • 0.12.20-36:表示软件版本
  • el7:表示操作系统发行版的版本,也就是centos7
  • @base:表示的是 “软件源” 的名称, 类似于 “小米应用商店”, “华为应用商店” 这样的概念

2.4 软件安装

指令

  • yum install
    

实例

  • #安装前询问
    yum install lrzsz 
    
  • #安装前不询问
    yum install -y lrzsz   
    

当把软件下载下来,要将对应软件的可执行程序、配置文件等信息拷贝到系统特定的目录下。当我们使用普通用户,没有权限时,是无法完成拷贝的,安装就会失败,所以普通用户在指令前加上sudo,root用户直接使用即可。

2.5 软件卸载

指令

  • yum remove
    

示例

  • yum remove -y lrzsz
    

2.6 yum源问题

当我们要下载软件时,这个软件在哪里,yum是如何得知目标服务器的地址和下载链接的呢?

就好比我们手机的应用商店,它是被安装到手机上的,会有各种配置文件,配置文件中会存有想要下载软件的地址,同样yum内部中也存在有下载链接的路径。

/etc/yum.repos.d/ 路径下,就可以看到当前设备的yum仓库源,如下图:

在这里插入图片描述

其中 centos-Base.repo 是官方认可的yum源,里面就存放的有下载链接,可以通过指令 vim /etc/yum. repos.d/Centos-Base.repo 去查看

  • 首先把此文件重命名(mv)(我们进行配置的时候,不要进行删除文件,而是进行先备份)

    mv CentOS-Base.repo CentOS-Base.repo-bak
    
  • 百度搜索yum国内版本,然后进行操作【这个是阿里云yum源】

    wget http://mirrors.aliyun.com/repo/Centos-7.repo
    
  • 最后依次进行一下操作即可

    mv Centos-7.repo CentOS-Base.repo
    yum clean all
    yum makecache
    yum update
    

最后完成出现complete即可,如果没有扩展yum源的话可以执行这条指令, yum install -y epel-release 进行安装。


三、Linux开发工具-编辑器vim使用

3.1 vim的基本概念

我们先介绍 vim 的三种模式,分别是命令模式(command mode)插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

命令模式
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式下,或者进入底行模式

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

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

注意:要查看你的所有模式:打开vim,底行模式直接输入help vim-modes

3.2 vim的基本操作

3.2.1 进入vim

  • vim code.c

    在系统提示符号输入vim加文件名称后,就进入vim全屏幕编辑画面。打开vim默认是命令模式,命令模式下所有的输入都被当成命名,所以我们敲击键盘,屏幕不会显示字符,想要显示字符,我们要切换为插入模式,接下来就让我们看看怎么切换模式。

注意:如果vim后的文件不存在,系统会生成一个新文件并进入编辑画面。

在这里插入图片描述

3.2.2 模式转换:

「命令模式」切换为「插入模式」

从命令模式切换为插入模式,可以输入 aoi ,它们三个的区别在于,进入插入模式后光标的位置不同。

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

在这里插入图片描述

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

    在这里插入图片描述

  • 输入 i :进入插入模式后,是从光标当前位置开始输入文件

在这里插入图片描述

**「插入模式」切换为「命令模式」 **

  • 点击键盘上的Esc键,就可以退回到命令模式。(所有模式退到命令模式都是按Esc)

「命令模式」切换为「底行模式」

  • 点击shift + ; ,其实就是输入
    在这里插入图片描述

在这里插入图片描述

插入模式无法直接进入底行模式, 因为插入模式下所有的输入都会被当成文本输入,没有被解释成命令。

3.2.3 退出vim:

要退出vim要在底行模式下进行,在命令模式下输入下:即可进入底行模式,输入q退出vim。

  • :w :保存当前文件
  • :wq:保存并退出vim
  • :q!:不保存,强制退出vim

3.3 vim正常模式命令集

3.3.1 移动光标

  • $ :移动到光标到所在行的行尾
  • ^ :移动到光标到所在行的行首
  • gg:移动到光标到文本开始
  • G :移动到光标到文本末尾
  • w :光标移动到下个字的开头(可以配合n,一次跳过n个单词)
  • b :光标移动到上个字的开头(可以配合n,一次跳过n个单词)
  • hjkl :以字符为单位,进行左、下、上、右移动

3.3.2 复制粘贴

  • yy:复制光标所在行到缓冲区
  • p :将缓冲区内的字符贴到光标所在行的下一行位置。
  • n+yy:n是任意数字,从光标所在行开始,复制n行
  • n+p:n是任意数字,将缓冲区的的字符粘贴n份

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

3.3.3 删除文字

  • dd:删除光标所在行
  • n+dd:从光标所在行开始删除n行
  • x :删除光标所在位置的一个字符
  • n+x:删除从光标位置开始的n个字符
  • X :删除光标所在位置的前一个字符
  • n+X:删除从光标位置开始的前n个字符

注意:dd完如果不p的话就是删除,如果p的话就是剪切。

3.3.4 撤销

  • u :回到上一个操作,按多次可以执行多次回复
  • ctrl+r:撤销的恢复

3.3.5 替换

  • shift + ~:快速更换大小写
  • r :替换光标所在字符,点击r后,再点输入待替换的字符
  • n+r:把从光标位置开始的n个字符全部替换成目标字符
  • R :替换光标所到之处的字符,直到按下Esc键停止

3.4 vim底行模式命令集

在使用底行模式之前,请记住先按ESC键确定已经处于命令模式,再按冒号即可进入底行模式。

3.4.1 调出行号

  • set nu:调出行号,在文件每一行前面列出行号
  • set nonu:取消行号

3.4.2 保存退出

  • w :保存
  • w!:强制保存
  • q :退出
  • q!:强制退出
  • wq:保存并退出
  • wq!:强制保存并退出

3.4.3 多文件操作

  • vs 文件名:实现多文件分屏
  • ctrl+w+w:实现光标在分屏多文件之间的切换

注意:光标在哪个界面,我们就在编辑哪一个界面,底行也是一样。

3.4.4 命令执行

  • !command:在底行模式下执行命令

在!后直接跟shell命令就可以执行 。

3.4.5 查找字符

  • / 关键字:先输入 / ,在输入你先更要查找的字符,如果第一次找的不是你想要的,可以一直按n,会继续往后寻找你想要的。
  • ?关键字:先输入 ? ,在输入你先更要查找的字符,如果第一次找的不是你想要的,可以一直按n,会继续往后寻找你想要的。

3.5 vim配置

没有配置的vim,在插入模式下写代码的时候,没有任何语法提醒,也没有自动补全功能,使用起来比较笨重。要实现在写代码的时候给出提示,需要我们自行对vim进行配置。

3.5.1 配置文件的位置

  • 在目录 /etc/ 下面,有个名为 vimrc 的文件,这是系统中公共的 vim 配置文件,对所有用户都有效。
  • 而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为: “.vimrc” 。例如, /root 目录下,通常已经存在一个.vimrc 文件 , 如果不存在,则创建之。
  • 切换用户成为自己执行 su ,进入自己的主工作目录 , 执行 cd ~
  • 打开自己目录下的 .vimrc 文件,执行 vim .vimrc

3.5.2 vim常用配置选项

#设置行号
set nu  
#语法高亮
syntax on
#底部显示当前处于什么模式
set showmode
#显示行号下划线
set cursorline
#设置缩进的空格数为4
set shiftwidth=4    

在这里插入图片描述

相关文章:

【Linux】软件管理器yum和编辑器vim

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 一、Linux下安装软件的方案1.1 源代码安装1.2 rpm安装1.3 yum安装 二、Linux软件…...

怎么才能确定螺栓是拧紧了——SunTorque智能扭矩系统

螺栓拧紧的标准并非仅仅依赖于螺栓的外观,而是依赖于几个关键因素,包括扭矩、预紧力和材料疲劳等。下面SunTorque智能扭矩系统和大家将详细讨论这些因素,并给出如何判断螺栓是否已经拧紧的方法。 SunTorque智能扭矩系统 首先,让我…...

西门子S120故障报警F30003的解决办法总结

西门子S120故障报警F30003的解决办法总结 如下图所示,压机在回程时突然出现报警,故障代码为:30003, 如下图所示,查找手册可以看到F30003的报警分析为:直流母线欠压 如下图所示,本来想测量输入端…...

探索vue框架的世界: 内部、外部样式和内联样式动态绑定的方法

在实际项目中,经常会遇到这样的场景,可以通过逻辑层中设定的变量,在视图层中来呈现不同的样式,那么这种动态绑定样式的方式如何实现呢? 本篇文章,博主将和大家分享动态绑定内联样式style 和 动态绑定内部和…...

代码随想录算法训练营第三十八天|动态规划|理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯

理论基础 文章 说实话,没做过题连理论基础都看不懂 1 确定dp数组(dp table)以及下标的含义 2 确定递推公式 3 dp数组如何初始化 4 确定遍历顺序 5 举例推导dp数组 这道题目我举例推导状态转移公式了么? 我打印dp数组的日志了么&…...

运维知识点-JBoss

JBoss 介绍介绍 JBoss是一个基于J2EE的开放源代码的应用服务器,也是一个运行EJB(Enterprise JavaBean)的容器和服务器。它支持EJB 1.1、EJB 2.0和EJB3的规范,体现了J2EE规范中最新的技术。JBoss遵循LGPL许可,可以在任何商业应用中免费使用,并且由开源社区开发,这使得JB…...

HarmonyOS—配置编译构建信息

在进行应用/服务的编译构建前,需要对工程和编译构建的Module进行设置。API Version 9、API Version 8与API Version 4~7的构建体系不同,因此在设置编译构建信息时也存在差异: API Version 9:需要对构建配置文件、构建脚本、应用依…...

Chrome浏览器好用的几个扩展程序

Chrome好用的扩展程序 背景目的介绍JsonHandle例子未完待续。。。。。。 背景 偶然在往上看到Chrome有很多好用的扩展程序,比较好用,因此记录下比较实用的扩展程序。 目的 记录Chrome浏览器好用的插件。 介绍 JsonHandle下载以及无法扩展插件的解决…...

Enzo Life Sciences Cortisol(皮质醇) ELISA kit

皮质醇又称为氢化可的松,是一种由胆固醇合成的类固醇激素。它是肾上腺皮质产生和分泌的主要糖皮质激素。皮质醇在血液中以游离皮质醇的形式存在,或与皮质类固醇结合球蛋白(CBG)结合。皮质醇水平在早上7点左右最高,晚上最低。皮质醇可以调节新…...

面试经典150题 -- 二分查找 (总结)

总的链接 : 面试经典 150 题 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台 二分算法模板 : 详见 : 基础二分学习笔记-CSDN博客 35 . 搜索插入位置 链接 : . - 力扣(LeetCode) 思路 : 用二分查找第一个>t…...

蓝牙耳机怎么选择比较好?2024年热门机型推荐大揭秘!

​蓝牙耳机已经成为了我们日常生活中不可或缺的一部分,随着技术的发展,人们对蓝牙耳机的要求也在不断提升,不仅希望音质出色,还希望能够在不同的场景下使用。然而,如何挑选一款适合自己的蓝牙耳机却是一门学问。今天&a…...

强制Unity崩溃的两个方法

在Unity中,这两种方法都可以用于强制使应用程序崩溃,但它们的作用略有不同: Application.ForceCrash(0); 这个方法会强制应用程序崩溃,并且参数传入的是一个整数值。当参数为0时,它会导致应用程序崩溃并显示一个“Acce…...

中间件 | Redis - [big-key hot-key]

INDEX 1 big-keyhot-key 1 big-key 分类 字符串型 big-key:字符串最大可以到 512M集合型 big-key:集合个数可以到 2^23 问题 内存空间不均匀指令耗时增加:redis 是单线程的,部分操作的时间复杂度是 O(n) 的,big-ke…...

STM32基础--自己构建库函数

什么是 STM32 函数库 固件库是指“STM32 标准函数库”,它是由 ST 公司针对 STM32 提供的函数接口,即API (Application Program Interface),开发者可调用这些函数接口来配置 STM32 的寄存器,使开发人员得以脱离最底层的寄存器操作…...

网站被插入虚假恶意链接怎么办?

在当前的电信和网络环境中,诈骗案件频发,许多受害者不幸上当,主要原因是他们点击了诈骗者发送的假链接。这些诈骗网站经常模仿真实网站的外观,使人难以分辨真伪。那么,我们应如何鉴别这些诈骗链接呢? 下面…...

ThreeJs限制模型拖动的范围

之前有讲过ThreeJs中对模型的拖动功能,使用DragControl组件,将模型放到组件的集合中,就可以拖动点击的模型了,这节细化下怎么控制拖动,比如之拖动z轴,或者限制拖动x轴的范围在某个区间: 首先还是…...

关于JVM的小总结(待补充)

JVM组成及他们之间的关系 装载类子系统字节码执行引擎运行时数据区 装载类子系统 类加载器字节码调节器类加载运行时数据区 字节码执行引擎 运行时数据区 线程私有 虚拟机栈本地方法栈程序计数器 线程共享 堆方法区(元空间)...

day37 贪心算法part6

738. 单调递增的数字 中等 提示 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递增 。 不知道怎么讲思路……以9287举例&#xff0c;…...

38女神节:剧情热梗小游戏新品!预售1折秒杀,手慢无

抖音热剧情热梗小游戏《逆袭大冒险》登录 Cocos Store 预售开启&#xff01;游戏包含 20剧情 40 关卡&#xff0c;先来看下视频吧&#xff01; 游戏内嵌多种小游戏玩法&#xff0c;是不是很有亲切感呢&#xff1f;抽针、流体、重力 3.8女神节特价预售 欢迎加入迷萌游戏《逆袭大…...

岩土工程监测仪器振弦采集仪的发展历程与国内外研究现状

岩土工程监测仪器振弦采集仪的发展历程与国内外研究现状 岩土工程监测仪器河北稳控科技振弦采集仪是用于测量土体或岩石地层的力学性质、地层结构、地下水位等参数的一种仪器设备。它通过振动在地下传播的声波信号的传播速度和特性&#xff0c;来推断地层的物理性质。以下是对…...

Git 掌握

目录 一、前言 二、centos安装Git 三、Git基本操作 (1) 创建Git本地仓库 (2) 配置Git (3) 认识工作区&#xff0c;暂存区&#xff0c;版本库 四、添加文件 五、查看.git文件 六、修改文件 七、版本回退 八、撤销修改 (1) 场景一 对于还没有add的代码 (2) 场景二 已…...

面试题之——事务失效的八大情况

事务失效的八大情况 一、非public修饰的方法 Transactional注解只能在在public修饰的方法下使用。 /*** 私有方法上的注解&#xff0c;不生效&#xff08;因私有方法Spring扫描不到该方法&#xff0c;所以无法生成代理&#xff09;*/ Transactional private boolean test() …...

一些硬件知识(六)

防反接设计&#xff1a; 同步电路和异步电路的区别: 同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源&#xff0c;因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。 异步电路:电路没有统一的时钟&#xff0c;有些触发器的时钟输入端与时钟脉冲源相连…...

前端React篇之哪些方法会触发 React 重新渲染?重新渲染 render 会做些什么?

目录 哪些方法会触发 React 重新渲染&#xff1f;重新渲染 render 会做些什么&#xff1f;setState()案例需求总结 forceUpdate()案例需求总结 props改变案例需求总结 context改变案例需求总结 哪些方法会触发 React 重新渲染&#xff1f;重新渲染 render 会做些什么&#xff1…...

PHP伪协议是什么?

PHP伪协议是一种特殊的URL协议&#xff0c;它允许PHP直接从PHP内部生成数据或者访问PHP自身处理的数据流&#xff0c;而不需要外部资源。这些协议是由PHP解释器内部定义和处理的&#xff0c;不同于HTTP、FTP、HTTPS等标准网络协议。下面是PHP伪协议的说明&#xff1a; 1. file…...

npm使用

要查看当前 npm 使用的镜像源地址&#xff0c;你可以使用以下命令&#xff1a; npm get registry这个命令会输出当前 npm 配置的镜像源地址。如果你想查看所有可用的镜像源列表&#xff0c;可以使用 nrm 这个工具&#xff0c;它是一个 npm 源管理器&#xff0c;可以帮助你查看…...

美国国家安全局(NSA)和美国政府将Delphi/Object Pascal列为推荐政府机构和企业使用的内存安全编程语言

上周&#xff0c;美国政府发布了《回到构建块&#xff1a;通往安全和可衡量软件的道路》的报告。本报告是美国网络安全战略的一部分&#xff0c;重点关注多个领域&#xff0c;包括内存安全漏洞和质量指标。 许多在线杂志都对这份报告发表了评论&#xff0c;这些杂志强调了对 C…...

C++中的内部类

一、内部类的概念 如果一个类定义在另一个类的内部&#xff0c;那么这个类就叫做内部类。&#xff08;内部类其实和一个独立的类没有区别&#xff0c;只是它会受到外部类访问限定符以及类域的限制&#xff0c;且是外部类的友元&#xff09; 如果B类是A类的内部类&#xff0c;…...

华为“仓颉”不是中文编程:中文编程早有所属,势如破竹

“何时能见证中国自主研发的编程语言崛起&#xff1f;”这是我们这些对IT生态心怀关切的人常常深思的问题。 语言&#xff0c;作为文化的灵魂&#xff0c;总是与特定的环境和人群紧密相连。无论是中文还是英语&#xff0c;它们都不仅仅是交流的工具&#xff0c;更是各自文化背…...

Python的基本数据类型

上一篇博客&#xff0c;我们介绍了Python的基础语法&#xff08;Python基础语法&#xff1a;从入门到精通的必备指南&#xff09;&#xff0c;相信大家看过后&#xff0c;对python的整个语法逻辑有了一些了解&#xff0c;不了解也没有关系。接下来&#xff0c;我们将正式开始&a…...