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

【Hello Linux】Linux工具介绍 (yum vim)

作者:@小萌新
专栏:@Linux
作者简介:大二学生 希望能和大家一起进步!
本篇博客简介:介绍Linux的常用工具 yum和vim

Linux工具介绍

  • Linux中的软件管理工具 -- yum
    • 在windows下安装软件的方式
    • 在Linux下安装软件的方式
    • 认识yum
    • 查找软件包
    • 安装软件包
    • 番外 : 如何实现云服务器和本地计算机的文件互传
    • 卸载软件
  • Linux中的编辑器 -- vim
    • vim的基本概念
    • vim各模式切换
    • vim命令模式命令
    • vim底行模式命令
    • vim配置

Linux中的软件管理工具 – yum

在windows下安装软件的方式

在大概15年左右的时候 我们的电脑想要下载软件需要去网站上找到该软件的安装包下载到本地之后进行安装 但是这种方式十分的不安全 一不小心电脑就有可能被病毒入侵

之后各个品牌的电脑乃至个人手机都推出了自己的应用商店 从而让我们下载软件变得更加方便快捷了

在Linux下安装软件的方式

在Linux系统下安装软件的方式有以下三种

  1. 下载程序的源代码 自己进行编译 得到可执行程序
  2. 通过rpm获取安装包 通过rpm命令进行安装 (未解决依赖问题)
  3. 通过yum进行安装

通过yum进行安装也是我们最常用的一种方式

那么什么是yum呢?

认识yum

yum是一个在Fedora、RedHat以及CentOS中的前端软件包管理器 能够从指定的服务器自动下载RPM包并且安装 可以自动处理依赖性关系 并且一次安装所有依赖的软件包 无须繁琐地一次次下载、安装

在这里插入图片描述
它就可以类比我们的windows上的软件商店

不过这里要注意的是 windows上的软件商店可能支持几个软件同时下载 但是一个服务器同一时刻只允许一个yum进行安装

此外因为yum下载的时候是从包服务器中寻找数据下载我们还必须要确认自己的主机连接了网络

我们可以使用ping命令来确认自己是否连接网络

在这里插入图片描述

查找软件包

我们可以通过下面的命令来查找软件包

yum list

我们使用这个指令 可以罗列出可以下载的所有软件

在这里插入图片描述
这里对于我们list出来的各种软件解释下

  • 第一列的结构一般是这样子 软件名字.系统架构 比如说zvbi.x86_64 它的软件名就是zvbi 可以在x86_64的系统架构下运行
  • 第二列的结构一般是这样子 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台 其中需要解释的是后面的 el7 它代表可以在 centos7/redhat7的平台下运行
  • 第三列代表的是源 就好像你在应用市场下载了一个王者荣耀后面@腾讯一样

下面我们使用前面学到的管道和查找指令 来查找 lrzsz 软件

我们在linux系统中敲出以下代码

在这里插入图片描述

安装软件包

我们还可以使用 yum install指令来下载软件

还是拿前面的 lrzsz软件为例

在这里插入图片描述
于是我们就需要使用sudo指令了

在这里插入图片描述
我们这里使用了 -y指令 这是因为安装软件的时候有可能会出现很多的选项让我们选择是否启动 (相当于windows安全软件的next) 而使用了- y指令之后这些选项就是默认开启的了

我们总结下

  • 安装软件的时候由于需要像系统写入东西 所以需要root权限
  • 如果我们不想回答问题我们可以直接只用 -y指令
  • yum安装只能一次安装一个软件 如果一次安装多个会报错

番外 : 如何实现云服务器和本地计算机的文件互传

我们可以使用 rz -E指令

通过该指令 我们可以选择从本地服务器选择文件上传到云服务器

在这里插入图片描述
此外我们还可以使用 sz + 文件名来讲云服务器的内容上传到本地
在这里插入图片描述

卸载软件

我们可以使用以下指令来卸载软件

yum remove + 软件名

在这里插入图片描述

我们总结下

  • 卸载软件的时候也需要root权限
  • 如果我们不想回答问题我们可以直接只用 -y指令

Linux中的编辑器 – vim

vim的基本概念

vim的本质上是一个多模式的文本编辑器

它主要有三种模式 我们这里会逐一介绍

1. 命令模式 (Normal mode)

在命令模式下 我们可以控制光标的移动以及字符 字或行的删除 复制粘贴 剪贴等操作

2. 插入模式(Insert mode)

只有在插入模式下才能进行文字输入 该模式是我们使用最频繁的编辑模式

3. 底行模式(Command mode)

我们的保存 退出等指令都要在底行模式中进行

vim各模式切换

首先我们使用一张图来理解vim中三种模式之间的联系

在这里插入图片描述

看上面的图我们就能知道 这三种模式怎么切换了

  • 普通模式通过 按一次 i键 切换到插入模式
  • 普通模式通过 按住shitf + ;键切换到底行模式
  • 其他两种模式通过 esc 切换到普通模式
  • 底行模式和插入模式不能互通

由于vim中的插入模式并没有什么特殊的命令 使用起来和我们的文本编辑器其实差不了多少 所以我们在这里就不过多介绍了

我们这里主要着重介绍下 vim的普通模式(命令模式)和底行模式的命令

下面的字符 n 表示一个具体的数字 比如说 8 12 123等

vim命令模式命令

移动光标相关

  • 按「k」:光标上移
  • 按「j」:光标下移
  • 按「h」:光标左移
  • 按「l」:光标右移
  • 按「$」:移动到光标所在行的行尾
  • 按「^」:移动到光标所在行的行首
  • 按「gg」:移动到文本开始
  • 按「Shift+g」:移动到文本末尾
  • 按「n+Shift+g」:移动到第n行行首
  • 按「n+Enter」:当前光标向下移动n行
  • 按「w」:光标从左到右,从上到下的跳到下一个字的开头
  • 按「e」:光标从左到右,从上到下的跳到下一个字的结尾
  • 按「b」:光标从右到左,从下到上的跳到上一个字的开头

删除相关

  • 按「x」:删除光标所在位置的字符
  • 按「nx」:删除光标所在位置开始往后的n个字符
  • 按「X」:删除光标所在位置的前一个字符
  • 按「nX」:删除光标所在位置的前n个字符
  • 按「dd」:删除光标所在行
  • 按「ndd」:删除光标所在行开始往下的n行

复制粘贴相关

  • 按「yy」:复制光标所在行到缓冲区
  • 按「nyy」:复制光标所在行开始往下的n行到缓冲区
  • 按「yw」:将光标所在位置开始到字尾的字符复制到缓冲区
  • 按「nyw」:将光标所在位置开始往后的n个字复制到缓冲区
  • 按「p」:将已复制的内容在光标的下一行粘贴上
  • 按「np」:将已复制的内容在光标的下一行粘贴n次

剪切

  • 按「dd」:剪切光标所在行
  • 按「ndd」:剪切光标所在行开始往下的n行
  • 按「p」:将已剪切的内容在光标的下一行粘贴上
  • 按「np」:将已剪切的内容在光标的下一行粘贴n次

撤销

  • 按「u」:撤销
  • 按「Ctrl+r」:恢复刚刚的撤销

大小写切换

  • 按「~」:完成光标所在位置字符的大小写切换
  • 按「n~」:完成光标所在位置开始往后的n个字符的大小写切换

替换

  • 按「r」:替换光标所在位置的字符
  • 按「R」:替换光标所到位置的字符,直到按下「Esc」键为止

更改

  • 按「cw」:将光标所在位置开始到字尾的字符删除,并进入插入模式
  • 按「cnw」:将光标所在位置开始往后的n个字删除,并进入插入模式

翻页

  • 按「Ctrl+b」:上翻一页
  • 按「Ctrl+f」:下翻一页
  • 按「Ctrl+u」:上翻半页
  • 按「Ctrl+d」:下翻半页

vim底行模式命令

行号设置

  • 「set nu」:显示行号
  • 「set nonu」:取消行号

保存退出

  • 「w」:保存文件
  • 「q」:退出vim,如果无法离开vim,可在「q」后面跟一个「!」表示强制退出
  • 「wq」:保存退出

分屏指令

  • 「vs 文件名」:实现多文件的编辑
  • 「Ctrl+w+w」:光标在多屏幕下进行切换

执行指令

  • !+指令」:在不退出vim的情况下 可以在指令前面加上「!」就可以执行Linux的指令 例如查看目录 编译当前代码等

vim配置

vim的手动配置比较复杂也很容易出错 这里不做过多的讨论

那么vim怎么自动配置呢?

大家可以访问这个网站

VimForCpp

上面有对于vim配置后的功能介绍和配置代码

之后在 shell 中执行指令(想在哪个用户下让vim配置生效, 就在哪个用户下执行这个指令. 强烈 “不推荐” 直接在 root 下执行):

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

需要按照提示输入 root 密码就可以了

配置后的vim此时就能变成一个小型集成ide 具有自动换行 语法高亮等特性了

相关文章:

【Hello Linux】Linux工具介绍 (yum vim)

作者:小萌新 专栏:Linux 作者简介:大二学生 希望能和大家一起进步! 本篇博客简介:介绍Linux的常用工具 yum和vim Linux工具介绍Linux中的软件管理工具 -- yum在windows下安装软件的方式在Linux下安装软件的方式认识yum…...

多种充电模式_手持无线充气泵方案

一、手持无线充气泵手持无线充气泵是一个通过锂电池供电达到无需插电就能使用的便携式充气泵,它的适用场景大部分是为身处户外没有办法接通电源的人而设计的,方便人们的出行也可解燃眉之急。不仅如此,为预防手持无线充气泵的锂电池电量用完而…...

【网络基础】DNS是什么

本文不会直接引入复杂枯燥概念,用形象例子通俗讲解,旨在入门理解。 DNS作用 DNS是用来做域名解析的。 相当于把网址翻译成实际ip地址,供其他设备访问。 一个例子 有一个网站的服务器IP地址为1.1.1.1,用电脑访问该网站的话只需…...

二叉树的性质与推导及常见习题整理

目录 一、性质推导 二、常见的二叉树性质习题 1. 某二叉树共有 399 个结点,其中有 199 个度为 2 的结点,则该二叉树中的叶子结点数为()。 2.在具有 2n 个结点的完全二叉树中,叶子结点个数为(&#xff…...

亚马逊卖家测评补单的重要性和缺点

对于亚马逊、沃尔玛、ebay、wish、newegg、速卖通、阿里国际站、shopee、lazada、temu、乐天、toktok、joom、ozon等卖家来说,测评补单是一个比较常见的话题,因为测评可以给自己产品留下优质的评价,让国外真实买家更加明确,便捷的…...

Java类和对象超详细整理,适合新手入门

目录 一、驼峰命名法 二、Java注释 三、转义符 四、Java程序它的基本结构是什么? 五、Java中的类 六、创建类 七、定义main方法 八、执行代码输出语句 九、Java中的对象 十、创建对象 十一、类与对象的关系 一、驼峰命名法 包名:多单词组成所…...

MySQL:连explain的type类型都没搞清楚,怎敢说精通SQL优化?

我们在使用SQL语句查询表数据时,提前用explain进行语句分析是一个非常好的习惯。通过explain输出sql的详细执行信息,就可以针对性的进行sql优化。 今天我们来分析一下,在explain中11种不同type代表的含义以及其应用场景。 1,sys…...

6.11 极分解

文章目录计算方法代码实现计算方法 一个复数可以写成极坐标形式:zreiθzre^{i\theta}zreiθ.这种分解,左边代表长度,右边代表角度。由此为灵感来源,前人对矩阵也有类似的分解。就是猜想一个线性变换对矩阵的作用,是不是可以分解为…...

Spring、SpringMVC、Shiro、Maven

一、SpringSpring是一个为了解决企业应用程序开发复杂性而创建的开源框架,其核心是IOC–控制反转、AOP–面向切面编程。框架的主要优势之一就是其分层架构(WEB层(springMvc)、业务层(Ioc)、持久层&#xff…...

element-plus 使用笔记

npm install element-plus --save自动导入 npm install -D unplugin-vue-components unplugin-auto-import// vite.config.jsimport AutoImport from unplugin-auto-import/vite import Components from unplugin-vue-components/vite import { ElementPlusResolver } from …...

《蓝桥杯每日一题》 前缀和·Acwing 3956. 截断数组

1.题目https://www.acwing.com/problem/content/3959/给定一个长度为 n 的数组a1,a2,…,an。现在,要将该数组从中间截断,得到三个非空子数组。要求,三个子数组内各元素之和都相等。请问,共有多少种不同的截断方法?输入…...

促进关键软件高层次人才培养:平凯星辰与华东师范大学签订联合博士培养合作协议

2022 年年初,平凯星辰入选首批工信部教育部支持联合培养国家关键软件高层次人才计划。该计划旨在探索关键软件产教融合育人模式,超常规加快培养一批急需高层次人才,以及探索关键软件联合技术攻关新模式。2022 年年底,在该计划下 平…...

Java程序员的日常——经验贴

关于文件的解压和压缩 如果你的系统不支持tar -z命令 前往讨论 如果是古老的Unix系统,可能并不认识tar -z命令,因此如果你想要压缩或者解压tar.gz的文件,就需要使用gzip或者gunzip以及tar命令了。 关于tar.gz可以这么理解,tar结…...

电商API社区,商品数据,关键词搜索等

1. 需要做的事情 l 商品详情页实现 1、商品查询服务事项 2、商品详情展示 3、添加缓存 2. 实现商品详情页功能 2.1. 功能分析 1、Taotao-portal接收页面请求,接收到商品id。 2、调用taotao-rest提供的商品详情的服务,把商品id作为参数传递给服务。接…...

LEADTOOLS 22.0.6 UPDATE-Crack

OCR SDK 库 许多 OCR 增强功能 LEAD 行业领先的人工智能 OCR SDK 在以下方面获得了显着的识别优化:斜体、大写和小写字母、文本行组装和单词构建、列检测、基线检测和文本行分割。 LEADTOOLS为.NET 6、. NET Framework、Xamarin、UWP、C#、VB、C/C、Java、Objective…...

什么是OJ? 东方博宜题库部分题解

什么是OJ ? Online Judge 比如这样的:Home - 一本通OJ Q:这个在线裁判系统使用什么样的编译器和编译选项? A:系统运行于Debian/Ubuntu Linux. 使用GNU GCC/G++ 作为C/C++编译器, C: gcc Main.c -o Main -fno-asm -O2 -Wall -lm --static -std=c99 -DONLINE_JUDGE C++: g++ …...

企业工程项目管理系统源码的各模块及其功能点清单

工程项目各模块及其功能点清单 一、系统管理 1、数据字典:实现对数据字典标签的增删改查操作 2、编码管理:实现对系统编码的增删改查操作 3、用户管理:管理和查看用户角色 4、菜单管理:实现对系统菜单的增删改查操…...

【电商开发手册】订单-下单

下单需求 所谓下单,本质上就是买卖双方通过确认一系列信息并且签订电子合同的过程 在电商平台的下单过程中,也需要确定买卖双方的一系列信息: 买方:用户确认收货地址、支付方式、配送方式等等 卖方:卖方需要进行供…...

数据结构 - 优先级队列(堆)

文章目录前言1.介绍优先级队列2. 认识堆3. 实现优先级队列3.1 了解优先级队列的构造方法:3.2 使用优先级队列解决问题:总结前言 本篇PriorityQueue优先级队列的介绍其底层是堆,关于堆的认识,使用优先级队列能解决的一些问题&…...

PDF内容提取器:ByteScout PDF Extractor SDK Crack

ByteScout PDF Extractor SDK – 用于 PDF 到 JSON、PDF 到 Excel、CSV、XML、从 .NET 和 ASP.NET 从 PDF 中提取文本的 PDF 提取器库 ByteScout PDF Extractor SDK – 用于 PDF 到 JSON、PDF 到 Excel、CSV、XML、从 .NET 和 ASP.NET 从 PDF 中提取文本的 PDF 提取器库​ ​ ​…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...

LangFlow技术架构分析

🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...