【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    

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

外贸常用的出口认证 | 全球外贸数据服务平台 | 箱讯科技

出口认证是一种贸易信任背书,对许多外贸从业者而言,产品的出口认证和当前的国际贸易环境一样复杂多变,不同的目标市场、不同的产品类别,所需要的认证及标准也不同。 国际认证 01 IECEE-CB IECEE-CB体系的中文含义是“关于电工产品测试证书的相互认可体…

记一次简单的获取虚拟机|伪终端shell权限

场景描述 某个系统是ova文件,导入虚拟机启动,但是启动后只有一个伪终端权限,即权限很小,如何拿到这个虚拟机的shell权限呢? 实际操作 这次运气比较好,所遇到的系统磁盘并没有被加密,所以直接…

吴恩达深度学习笔记:神经网络的编程基础2.1-2.3

目录 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)第二周:神经网络的编程基础 (Basics of Neural Network programming)2.1 二分类(Binary Classification)2.2 逻辑回归(Logistic Regression) 第一门课:神经网络和深度学…

c++ 11 新特性 不同数据类型之间转换函数之reinterpret_cast

一.不同数据类型之间转换函数reinterpret_cast介绍 reinterpret_cast是C中的一种类型转换操作符,用于执行低级别的位模式转换。具体来说,reinterpret_cast可以实现以下功能: 指针和整数之间的转换:这种转换通常用于在指针中存储额…

如何学习、上手点云算法(三):用VsCode、Visual Studio来debug基于PCL、Open3D的代码

写在前面 本文内容 以PCL 1.14.0,Open3D0.14.1为例,对基于PCL、Open3D开发的代码进行源码debug; 如何学习、上手点云算法系列: 如何学习、上手点云算法(一):点云基础 如何学习、上手点云算法(二):点云处理相…

【数据结构】二、线性表:6.顺序表和链表的对比不同(从数据结构三要素讨论:逻辑结构、物理结构(存储结构)、数据运算(基本操作))

文章目录 6.对比:顺序表&链表6.1逻辑结构6.2物理结构(存储结构)6.2.1顺序表6.2.2链表 6.3数据运算(基本操作)6.3.1初始化6.3.2销毁表6.3.3插入、删除6.3.4查找 6.对比:顺序表&链表 6.1逻辑结构 顺…

基于pytest的证券清算系统功能测试工具开发

需求 1.造测试数据:根据测试需要,自动化构造各业务场景的中登清算数据与清算所需起来数据 2.测试清算系统功能: 自动化测试方案 工具设计 工具框架图 工具流程图 实现技术 python, pytest, allure, 多进程,mysql, 前端 效果 测…

Web开发介绍,制作小网站流程和需要的技术【详解】

1.什么是web开发 Web:全球广域网,也称为万维网(www World Wide Web),能够通过浏览器访问的网站。 所以Web开发说白了,就是开发网站的,例如网站:淘宝,京东等等 2. 网站的工作流程 1.首先我们需…

【Godot4自学手册】第二十一节掉落金币和收集

这一节我们主要学习敌人死亡后随机掉落金币,主人公可以进行拾取功能。 一、新建金币场景 新建场景,节点选择CharacterBody2D,命名为Coins,将场景保存到Scenes目录下。 1.新建节点 为根节点依次添加CollisionShape2D节点&#…

阿里云服务器使用教程_2024建站教程_10分钟网站搭建流程

使用阿里云服务器快速搭建网站教程,先为云服务器安装宝塔面板,然后在宝塔面板上新建站点,阿里云服务器网aliyunfuwuqi.com以搭建WordPress网站博客为例,来详细说下从阿里云服务器CPU内存配置选择、Web环境、域名解析到网站上线全流…

Dubbo基础入门二

8、Dubbo协议 服务调用 8.1 服务端 启动过程深入分析 我们查看一下服务启动的过程 ProtocolFilterWrapper.export 好我们进入DubboProtocol.export 创建服务 分析我们的Handler 我们接着返回刚才位置 下面的super方法里面会创建服务,ChannelHandlers.wrap会对hand…

2024年3月8日蚂蚁新村今日答案:以下哪一项传统武术项目入选了人类非物质文化遗产代表作名录?太极拳还是咏春拳

蚂蚁新村是一个虚拟社区。在这个虚拟社区中,用户可以参与各种活动,比如生产能量豆、做慈善捐赠等。同时,蚂蚁新村也提供了一些知识问答环节,用户在参与的过程中可以增进知识。这些问答内容往往涉及广泛的主题,如文化、…

idea Gradle 控制台中文乱码

如下图所示,idea 中的 Gradle 控制台中文乱码: 解决方法,如下图所示: 注意:如果你的 idea 使用 crack 等方式破解了,那么你可能需要在文件 crack-2023\jetbra\vmoptions\idea.vmoptions 中进行配置&#xf…

git分布式管理-头歌实验标签

一、创建标签 任务描述 现在你已经成了项目负责人,由你负责发布版本,你需要在发布一个版本之前,给该版本对应的代码打上标签,以便于管理和标识。 本关任务:为最近一次提交打上标签。 相关知识 在开发过程中&#xff0c…

Android14之禁止vbmeta.img签名校验(一百九十)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

七彩虹八渐变 外贸建站公司wordpress模板

进出口水果wordpress外贸模板 漂亮水果wordpress外贸模板,做水果进出品生意的外贸公司自建站官网模板。 https://www.jianzhanpress.com/?p3516 玩具wordpress外贸模板 简洁玩具wordpress外贸模板,适合做跨境电商外贸公司使用的wordpres外贸s网站主题…

追寻工作与生活的和谐之道

在现代社会,人们往往被快节奏的工作和生活所困扰,如何在这两者之间找到平衡点,成为许多人关注的焦点。本文将为您介绍一些实用的方法和建议,帮助您实现工作与生活的和谐共处。 一、合理规划时间,提高工作效率 时间是实…

day37 贪心算法part6

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

CorelDRAW2024中文版正式发布!老户升级可享大额折扣!CDR2024下载安装 CorelDRAW2024更新内容有哪些

CorelDRAW 全称“CorelDRAW Graphics Suite“&#xff0c;也就是众所周知的”CDR“&#xff0c;是一款智能高效的平面设计软件&#xff0c;广泛应用于排版印刷、矢量图形编辑及网页设计等领域&#xff0c;30多年来无数优秀的设计师通过CorelDRAW大胆展现真我&#xff0c;交付了…

学习408之数据结构--链表-单链表的增删查改的实现-如何解决顺序表增容后空间浪费问题?

顺序表的问题及思考问题&#xff1a; 中间/头部的插入删除&#xff0c;时间复杂度为O(N)增容需要申请新空间&#xff0c;拷贝数据&#xff0c;释放旧空间。会有不小的消耗。增容一般是呈2倍的增长&#xff0c;势必会有一定的空间浪费。例如当前容量为100&#xff0c;满了以后增…