当前位置: 首页 > 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 提取器库​ ​ ​…...

字母板上的路径[提取公共代码,提高复用率]

提取公共代码前言一、字母版上的路径二、贪心1、idea2、go3、代码不断拆分复用的过程总结参考文献前言 写代码,在提高效率的同时,要方便人看,这个人包括自己。大函数要拆分成一些小函数,让每个函数的宏观目的和步骤都显得清晰&am…...

c# winform错误大全

c# winform 错误大全为了实现安装包安装完成后,启动程序。System.BadImageFormatException: 未能加载文件或程序集“file:///C:\xxxxxxxxx\xxxxxxx.exe”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程The version of the …...

AI_News周刊:第一期

2023.02.06—2023.02.12 关于ChatGPT的前言: 在去年年末,OpenAI的ChatGPT在技术圈已经火了一次,随着上周它的二次出圈,ChatGPT算得上是人工智能领域的一颗明星,它在聊天机器人领域有着不可忽视的影响力。其准确、快速…...

搭建mysql主从复制

前言: 👏 作者简介:我是笑霸final,一名热爱技术的在校学生。 📝 个人主页:个人主页1 || 笑霸final的主页2 📕 系列专栏:数据库 📧 如果文章知识点有错误的地方&#xff0…...

内存溢出、内存泄露的概述及常见情形

内存溢出(OutofMemoryError) 简述 java doc 中对 Out Of Memory Error 的解释是,没有空闲内存,并且垃圾收集器也无法提供更多内存。 JVM 提供的内存管理机制和自动垃圾回收极大的解放了用户对于内存的管理,由于 GC&…...

Linux 中断实验

目录 一、Linux 中断简介 上半部与下半部 二、添加设备树 三、编写驱动 1、定义宏 2、编写一个key结构体 3、imx6uirq设备添加成员 ​编辑4、按键中断处理函数 5、按键初始化 6、在驱动入口添加初始化 7、 驱动出口函数 代码如下 四、利用定时器进行消抖处理 1、添…...

【c++】指针

文章目录指针的定义和使用指针所占的内存空间空指针野指针const修饰指针指针和数组指针和函数指针、数组、函数案例:冒泡排序指针的定义和使用 指针定义的语法:数据类型 * 指针变量名 使用指针: 可以通过解引用的方式来找到指针指向的内存&…...

别具一格的婚礼,VR全景+婚礼的优势展现在哪里?

随着90后、95后逐渐步入结婚的主力军中,如何策划一场别具一格的婚礼是许多年轻人所头疼的,那么今年我们就可以玩点新潮的,VR婚礼或许是个不错的选择。 VR全景婚礼就是通过全景摄像机对婚礼进行记录,不但可以帮助新人捕捉婚礼的精彩…...

【GD32F427开发板试用】5. SPI驱动TFTLCD屏幕

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站。作者:hehung 之前发帖 【GD32F427开发板试用】1. 串口实现scanf输入控制LED 【GD32F427开发板试用】2. RT-Thread标准版移植 【GD32F427开发板试用…...

测试2年还拿实习生的薪资打发我,你后悔去吧····

20年7月大学毕业,学的计算机科学专业。因为考研之后,秋招结束了。没什么更多的岗位选择,就想找个工作先干着,然后亲戚在一家大厂公司上班说要招测试,所以就来做测试了。 虽然都是属于计算机大类,但自己专业…...

设计网页需要学什么/seo优化步骤

实测 框架:tp3 环境:mamp搭建本地环境 mackbook pro 时间:8秒 public function excel(){//让程序一直运行set_time_limit(0);//设置程序运行内存 // ini_set(memory_limit, 128M);ini_set("memory_limit", "-1")…...

美容整形网站模板/百度视频

编程语言之间的对比: Java: 由于Java主要面向上层应用,运行在Java虚拟机上,所以无法对系统底层进行很强的操作。因此,底层系统开发,如操作系统,51单片机等,一般是不能运用Java技术的。 C: C语言…...

网站建设销售年终总结/电商网站设计方案

// 1. 不需要参数,返回值为 5() -> 5// 2. 接收一个参数(数字类型),返回其2倍的值x -> 2 * x// 3. 接受2个参数(数字),并返回他们的差值(x, y) -> x – y// 4. 接收2个int型整数,返回他们的和(int x, int y) -> x y// 5. 接受一个 string 对象,并在控制台打印,不返…...

设计网站过程/站长之家域名查询官网

单例模式是为了让类在整个进程全局只有一个实例对象,在多线程时有几个点需要注意: 单例中成员方法在多线程访问时是线程安全的单例中如果有成员变量,成员方法对改成员变量是只读访问,那也是线程安全的单例中如果有成员变量&#…...

信息课做动漫网站/seo分析师招聘

一、案例一:自定义Session扫描器1、案例说明当一个Web应用创建的Session很多时,为了避免Session占用太多的内存,我们可以选择手动将这些内存中的session销毁,那么此时也可以借助监听器技术来实现。对于拿到 每个session 对象, 判断…...

宁波企业网站排名方法/最近三天发生的重要新闻

第二十二章、 其它应用 1) Web服务 ##代码 s 000063.SZ ##开盘 o 26.60 ##最高 h 27.05 ##最低 g 26.52 ##最新 l1 26.66 ##涨跌 c1 -0.04 ##涨幅 p2 -0.15% ##总手 v 9190865 ##日期 d1 6/15/2011 ##时间 t…...