【Linux】详解Linux下的工具(内含yum指令和vim指令)

文章目录

  • 前言
  • 1. Linux下软件安装的方式
  • 2. yum
    • 2.1 软件下载的小知识
    • 2.2 在自己的Linux系统下验证yum源的存在
    • 2.3 利用yum指令下载软件
    • 2.4 拓展yum源(针对于虚拟机用户)
  • 3. vim编辑器
    • 3.1 vim是什么?
    • 3.2 如何打开vim
    • 3.2 vim各模式下的讲解
      • 3.2.1 命令模式
      • 3.2.2 底行模式


前言

在我们学习完Linux的基本指令与权限之后,我们就得正式进军Linux的工具篇章。一款强大的操作系统如果没有良好的软件生态,那他就不配称为最强。那么在本文中,带着大家学会如何在Linux(Centos)下下载软件,以及跟大家聊一聊软件下载背后的原理。最后还会介绍一款强大但需要时间成本训练的文本编辑器 —— vim。

实现跟各位读者说一点,本文是在站在Centos 7版本下进行讲解的,但是底层原理对于Linux各版本都是通用的。

话不多说,让我们在Linux软件天空中欢快的翱翔吧!💖💖💖

哈哈哈

1. Linux下软件安装的方式

想必大家都在Windows上下载过诸多的软件,过程十分的简单。只需要我们点击下载,更改一下安装路径,然后一路Next即可。可是在Linux系统下就没有辣么简单了!

Linux安装软件的方式:

  1. 源代码安装(不推荐)
  2. rpm安装(不推荐)
  3. yum安装(十分推荐)

接下来,我就给大家讲讲这些是个什么东西。

首先,对于源代码安装来说,顾名思义,就是假设我给你QQ的源代码,你自己拿去编译就能够安装了。但是作为编程人员的我们显然知道这是没有那么简单的。可能涉及到编译器的版本,跨平台的问题甚至还有一些附加的配置文件。对于普通人来说,他们只会打心底里说"这是个啥啊?"。这个方法安装的成本非常高,且不适合普通的群众,能尽量避开这个方法安装就尽量避开!

其次,对于rpm安装来说,就是安装包下载的方式。但是Linux的安装包比较挫,因为它默认了你的Linux系统拥有下载这个软件的先决条件,换句话说,安装包方式的下载需要你自己去验证你的Linux的版本,以及下载的这个软件附带的软件有没有提前安装好,还有一个问题我们要到哪里去找这个软件安装包。这些问题的重重叠加使得rpm安装变得十分的不容易。

最后,对于yum安装来说,其能完美的解决rpm安装的缺点,使得安装变得简单快捷。本质上yum安装就是在解决安装源、安装版本以及安装依赖的问题。

那yum是个什么东西呢?我们接下来聊一聊。
哈哈

2. yum

2.1 软件下载的小知识

再讲yum之前,我想用一个我们生活中的例子,来帮助大家更好的理解yum以及拓展一下大家的知识面。

大家平时在自己的手机/ipad/笔记本电脑上下载软件,应该都有个应用商城或者是软件管家,这个就是一个APP。大家只需要进入APP,就能看到琳琅满目的软件,我们只需要点击下载并且等待安装即可。但是在这个过程中,我就要向大家提出几个问题了:

  • 客户端(手机、ipad、笔记本电脑)怎么知道该去哪里下载?
  • 提供软件下载的服务器的公司和个人组织是出于什么目的或动机给我们提供软件服务的?

其实第一个问题的答案,就在第二个问题的题目中。客户端是通过网络向服务器发出下载此软件的请求,服务器收到请求后,就会检索此软件将数据通过网络传到你的本地,就营造了你手机能够下载软件的现象。其这个应用商城/软件管家里面就内置该服务器,所以手机能够下找到服务器并下载软件。到这里第一个问题就解决了,但是可能有的读者会问,我们在应用商城看到的软件是不是一个真的软件?答案肯定不是的,它其实是一个从服务器上传到本地的一个软件列表,只是空有其表而已,或者你理解为你下载这个软件的一个链接。

图

接下来我们解决第二个问题,其实这个问题的答案对于各位来说应该简单,因为大家都是互联网的土著民。不论公司还是个人组织,他们之所以做那么多事,就是为了盈利。就拿手机为例,你是选择一个软件俱全的手机还是一台下载个软件都处处受限的手机呢?我想答案一目了然,肯定是一台软件俱全的手机。这个就引发出了一个领域"软件生态"。一个好的软件生态能给电子产品提高其附加价值。

此时,可能有的读者又提问了,你说的手机这个例子我能理解,因为他是为了盈利。但是Linux作为一款开源的操作系统,它不是无偿的吗?
其实开源也是一种商业政策,并且开源有的时候也很贵!

怎么理解上述的点呢?举个简单的例子:

你现在是一个互联网公司的员工,你们的老板现在派你去为公司做一个技术选型,选一个适合公司的Linux操作系统。好了折腾了几天,你选出了一个比较好的Linux操作系统,你拿这个操作系统去给你的boss看,你的老板问你,为什么选这款操作系统?你总不能说这款操作系统是我平时练习Linux用的,效果还不错,如果是这样说那么离死亡就不远了!你应该这么说,这款Linux操作系统配备了一个完整的社区,在这个社区里面有很多人在为Linux不断完善出着一份力,这也就是得这款操作系统的bug十分少,即使有bug也会很快被查到并修复。另外这款软件系统有很强大的软件生态,使得我们的办公效率提升一大截。最后你再说一句,这款操作系统大公司也在用。此时你的老板说干得不错小伙子!其中的韵味你自己来体会吧😊

等过了一段时间后,你的公司已经依赖上这个操作系统了。突然有一天,关于这个操作系统的社区突然要关闭了,这就意味着公司就得换操作系统了,所以公司就会给这些社区进行捐助。所以我们说开源有时候也很贵!

所以在Linux下,yum(Centos)/ apt-get(Ubuntu)就充当手机上应用商城的角色,它的本质就是一个可执行程序!

2.2 在自己的Linux系统下验证yum源的存在

我说了那么多,就是为了让大家了解yum的背景,以及知道yum背后的原理。那么接下来,我们就来看看yum是否真的存在于Linux系统下。

yum一般存在这条路径下/etc/yum.repos.d/,大家在访问这个目录时,必须得用root身份!
yum
大家可能跟我有差别。

2.3 利用yum指令下载软件

语法:yum install [参数] 软件名称
参数:-y:安装时默认确认。(大家在练习时,可以尝试加-y和不加之间的区别)
举例:
yum install -y tree

yum install sl

2.4 拓展yum源(针对于虚拟机用户)

虚拟机用户可能在执行yum install sl这条命令时会出现错误,不过不用担心,因为你的yum源中只有官方yum源,没有拓展yum源,大家可以执行这条指令,去下载拓展yum源。
yum install -y epel-release(作用:下载并安装拓展yum源)

下面是原理部分,如果不感兴趣,可以略过这部分。

我们在上面提到了一个官方yum源和拓展yum源,这是个什么东西?

这个其实不难理解。有些软件写出来可能有病毒甚至是存在各种广告,这些软件在官方的眼里都是不安全的。以官方的视角来看,官方期望的是一款安全绿色的软件,为此不安全的软件是不会上架到官方的软件商城中的。但是这并不意味着你不能下载这些不安全的软件,因为有的时候它就是好用,为此我们就需要拓展yum源了。你可以理解为是官方yum源的一个补充。

下面是重点了!!!
一般操作系统,默认配置的yum源是国外的(针对的是虚拟机用户),有可能你的yum源访问会比较慢,这个时候可能就得更新yum源了。

大家不要把这件事给神话了,其实很简单,就是替换一下yum源文件!

大家可以使用nano(这个得自己下载)或者是vim,这里我使用的是vim。
vim
yum源
可以看到的是,我这里已经配置好了!

如果是云服务器那就不需要配置了,因为一般厂家就已经提前帮你配置好了。

3. vim编辑器

想必大家早就现在Linux下写代码了,那么现在我就给大家介绍一个vim编辑器。

3.1 vim是什么?

vim是一款功能强大、多模式的文本编辑器。

这里有说到一个多模式,其实就包括了:
命令模式、插入模式、底行模式、替换模式、视图模式

3.2 如何打开vim

指令:vim filename(filename:代表你想要用vim打开的文件名)
演示
vim打开之后的样子
大家打开vim之后是这个样子的,然后按你的键盘发现没有任何反应。这个是正常。

补充:如果用vim打开一个不存在的文件,系统会自动创建该文件!

3.2 vim各模式下的讲解

图

3.2.1 命令模式

在此模式下,用户的任何输入都会被当作命令。为此在这个模式下,我们是不能在上面写代码的。

相关操作(切换到英文输入法):

  • gg:定位光标到最开始行
  • shift + G:定位光标到最结尾行
  • n + shift + g:定位光标到第n行(定位光标到任意位置)
  • shift + $:定位光标到当前行的结尾
  • shift + ^:定位光标到当前行的开头
  • w:将光标以单词为单位进行行内或跨行向后移动
  • b:将光标以单词为单位进行行内或跨行向前移动
  • h,j,k,l:将光标按照左、下、上、右的方式进行移动
  • (n)yy:复制光标到所在行
  • (n)dd:剪切、删除
  • (n)p:粘贴(n重行)到光标所在的下一行
  • u:撤销

先讲这么多,后期我会专门出一篇关于vim的操作。

3.2.2 底行模式

我们在实际开发中,难免会遇到多文件编写的情况。此时我们就是切换到底行模式(shift + : ),然后输入vs filename
ctrl + ww:窗口光标之间的切换(光标在哪个窗口,就对哪一个窗口进行操作)
底行模式

好了,本文就讲这么多,关于vim肯定不止这一点知识。后面,我会专门出一篇关于vim的操作,希望大家多来捧场!

如果觉得本文对你有帮助的话,麻烦给偶点个赞吧!!!

哈哈

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

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

相关文章

Oracle中ADD_MONTHS()函数详解

文章目录 前言一、ADD_MONTHS()的语法二、主要用途三、测试用例总结 前言 在Oracle数据库中,ADD_MONTHS()函数用于在日期中添加指定的月数。 一、ADD_MONTHS()的语法 ADD_MONTHS(date, n) 其中,date是一个日期值,n是一个整数值&#xff0c…

基于vue框架的大学生学业预警系统设计与实现53ify(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:学生,公告信息,成绩信息,科目,学分信息,考勤信息,教师 开题报告内容 基于Vue框架的大学生学业预警系统设计与实现开题报告 一、研究背景与意义 随着高等教育的普及与深入,大学生群体规模日益扩大,其学业管理成…

百元头戴式耳机哪款口碑爆棚+质价比高?2024耳机最强推荐攻略!

在2024年的耳机市场中,百元头戴式耳机凭借其亲民的价格和出色的性能,成为了众多消费者的首选。随着技术的不断进步,这一价位段的耳机不仅在音质上有了显著提升,还在舒适度、降噪能力以及续航时间等方面表现出色。那百元头戴式耳机…

CAN XL协议标准在CANoe中的应用

众所周知,CAN通信技术在汽车领域中,有着非常广泛的应用。从1991年,第一代经典CAN在奔驰S级轿车中首次应用;到2011年,开始第二代CAN总线(即CAN FD)的开发;如今,ISO 11898-…

MyBatis 操作数据库入门

目录 前言 1.创建springboot⼯程 2.数据准备 3.配置Mybatis数据库连接信息 4.编写SQL语句,进行测试 前言 什么是MyBatis? MyBatis是⼀款优秀的 持久层 框架,⽤于简化JDBC的开发 Mybatis操作数据库的入门步骤: 1.创建springboot⼯程 2.数…

kwin- 插件加载绘制流程

1. 配置文件的作用具体是做什么的? 相当于用户强制设置了特效的开关,对于没有写在配置文件里的特效,会检测默认加载值,确定是否加载。写在了文件里的会根据返回的值,来加载特效。 2. 为什么配置文件没有写&#xff0c…

【自用】王道文件管理强化笔记

文章目录 操作系统引导:磁盘初始化文件打开过程角度1文件的打开过程角度2 内存映射的文件访问 操作系统引导: ①CPU从一个特定主存地址开始,取指令,执行ROM中的引导程序(先进行硬件自检,再开机) ②)将磁盘的第一块–主引导记录读入内存&…

【Ubuntu】git

文章目录 1.配置SSH key2. 基础知识操作命令1分支branch 如果对git命令使用不熟悉,推荐一个非常棒的git在线练习工具 Learn Git Branching。 https://m.runoob.com/git/git-basic-operations.html 1.配置SSH key ssh-keygen -t rsa -C "YOUR EMAIL"完成…

markdown 中启用音频支持

markdown 中启用音频支持 markdown 默认不支持音频文件&#xff0c;我们通过 html 标签渲染 flask项目 其中音频文件放在 /static/audios/vad_example.wav markdown 内容如下&#xff1a; ## 音频播放器示例 <audio controls ><source src"vad_example.wav…

Flink源码剖析

写在前面 最近一段时间都没有更新博客了&#xff0c;原因有点离谱&#xff0c;在实现flink的两阶段提交的时候&#xff0c;每次执行自定义的notifyCheckpointComplete时候&#xff0c;好像就会停止消费数据&#xff0c;完成notifyComplete后再消费数据&#xff1b;基于上述原因…

力扣16~20题

题16&#xff08;中等&#xff09;&#xff1a; 思路&#xff1a; 双指针法&#xff0c;和15题差不多&#xff0c;就是要排除了&#xff0c;如果total<target则排除了更小的&#xff08;left右移&#xff09;&#xff0c;如果total>target则排除了更大的&#xff08;rig…

kafka的成神秘籍(java)

kafka的成神秘籍 kafka的简介 ​ Kafka 最初是由Linkedin 即领英公司基于Scala和 Java语言开发的分布式消息发布-订阅系统&#xff0c;现已捐献给Apache软件基金会。Kafka 最被广为人知的是作为一个 消息队列(mq)系统存在&#xff0c;而事实上kafka已然成为一个流行的分布式流…

【mmengine】配置器(config)(进阶)继承与导出,命令行修改配置

一、配置文件的继承 1.1 继承机制概述 新建optimizer_cfg.py: optimizer dict(typeSGD, lr0.02, momentum0.9, weight_decay0.0001)新建runtime_cfg.py: device "cuda" gpu_ids [0, 1] batch_size 64 epochs 100 num_workers 8新建resnet50.py: _base_ […

Vue 路由设置

为了防止遗忘&#xff0c;记录一下用Vue写前端配置路由时的过程&#xff0c;方便后续再需要用到时回忆。 一、举个例子 假如需要实现这样的界面逻辑&#xff1a; 在HomePage中有一组选项卡按钮用于导航到子页面&#xff0c;而子页面Page1中有一个按钮&#xff0c;其响应事件是…

笔记-stm32移植ucos

文章目录 一、UCOS的基础知识1.1 前后台系统:1.2 RTOS系统可剥夺型内核:前后台系统和RTOS系统 1.3 UCOS系统简介学习方法 二、ucossii移植Step1&#xff1a;在工程中建立存放UCOSS代码的文件夹UCOSIIStep2:向CORE文件夹添加文件Step3:向Config文件夹添加文件Step4:向port文件夹…

LLM4Rec最新工作: 字节发布用于序列推荐的分层大模型HLLM

前几个月 Meta HSTU 点燃各大厂商对 LLM4Rec 的热情&#xff0c;一时间&#xff0c;探索推荐领域的 Scaling Law、实现推荐的 ChatGPT 时刻、取代传统推荐模型等一系列话题让人兴奋&#xff0c;然而理想有多丰满&#xff0c;现实就有多骨感&#xff0c;尚未有业界公开真正复刻 …

vscode中配置python虚拟环境

python虚拟环境作用 Python虚拟环境允许你为每个独立的项目创建一个隔离的环境&#xff0c;这样每个项目都可以拥有自己的一套Python安装包和依赖&#xff0c;不会互相影响。实际使用中&#xff0c;可以在vscode或pycharm中使用虚拟环境。 1.创建虚拟环境的方法&#xff1a; …

【NLP自然语言处理】01-基础学习路径简介

目的&#xff1a;让大家能够在 AI-NLP 领域由基础到入门具体安排&#xff1a; NLP介绍 文本预处理RNN 及其变体&#xff08;涉及案例&#xff09;Transformer 原理详解迁移学习 和 Bert 模型详解 &#xff08;涉及案例&#xff09;特点&#xff1a; 原理 实践每个文章会有练习…

04-SpringBootWeb案例(中)

3. 员工管理 完成了部门管理的功能开发之后&#xff0c;我们进入到下一环节员工管理功能的开发。 基于以上原型&#xff0c;我们可以把员工管理功能分为&#xff1a; 分页查询&#xff08;今天完成&#xff09;带条件的分页查询&#xff08;今天完成&#xff09;删除员工&am…

算法题总结(十)——二叉树上

#二叉树的递归遍历 // 前序遍历递归LC144_二叉树的前序遍历 class Solution {public List<Integer> preorderTraversal(TreeNode root) {List<Integer> result new ArrayList<Integer>(); //也可以把result 作为全局变量&#xff0c;只需要一个函数即可。…