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

文章目录

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

大家可能跟我有差别。

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。

可以看到的是,我这里已经配置好了!

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

3. vim编辑器

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

3.1 vim是什么?

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

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

3.2 如何打开vim

指令:vim filename(filename:代表你想要用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的操作,希望大家多来捧场!

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

相关推荐
南宫生15 分钟前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
sanguine__31 分钟前
Web APIs学习 (操作DOM BOM)
学习
LIKEYYLL2 小时前
GNU Octave:特性、使用案例、工具箱、环境与界面
服务器·gnu
云云3212 小时前
搭建云手机平台的技术要求?
服务器·线性代数·安全·智能手机·矩阵
云云3212 小时前
云手机有哪些用途?云手机选择推荐
服务器·线性代数·安全·智能手机·矩阵
数据的世界013 小时前
.NET开发人员学习书籍推荐
学习·.net
cominglately3 小时前
centos单机部署seata
linux·运维·centos
魏 无羡3 小时前
linux CentOS系统上卸载docker
linux·kubernetes·centos
CircleMouse3 小时前
Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
linux·运维·服务器·centos
四口鲸鱼爱吃盐3 小时前
CVPR2024 | 通过集成渐近正态分布学习实现强可迁移对抗攻击
学习