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

news2024/11/26 21:47:04

文章目录

  • 前言
  • 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.coloradmin.cn/o/2190110.html

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

相关文章

高级图片编辑器Photopea

什么是 Photopea ? Photopea 是一款免费的在线工具,用于编辑光栅和矢量图形,支持PSD、AI 和 Sketch文件。 功能上,Photopea 和 老苏之前介绍的 miniPaint 比较像 文章传送门:在线图片编辑器miniPaint 支持的格式 复杂…

创建django项目,编译类型选择Custom environment后,却没有manage.py文件,无法启动项目?

选择 Custom environment 创建后,启动项目却发现没有manage.py文件 解决办法: 1、 首先查看项目中是否安装了django,没有则安装 2 、创建项目(这里的myproject则表示项目名) django-admin startproject myproject …

C语言 | Leetcode C语言题解之第454题四数相加II

题目&#xff1a; 题解&#xff1a; struct hashTable {int key;int val;UT_hash_handle hh; };int fourSumCount(int* A, int ASize, int* B, int BSize, int* C, int CSize, int* D, int DSize) {struct hashTable* hashtable NULL;for (int i 0; i < ASize; i) {for (…

外包功能测试干了4年,技术退步太明显了。。。。。​

先说一下自己的情况&#xff0c;本科生&#xff0c;18年通过校招进入武汉某软件公司&#xff0c;干了差不多4年的功能测试&#xff0c;今年中秋&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测…

Day01-postgresql数据库基础入门培训

Day01-postgresql数据库基础入门培训 1、PostgresQL数据库简介2、PostgreSQL行业生态应用3、PostgreSQL版本发展与特性4、PostgreSQL体系结构介绍5、PostgreSQL与MySQL的区别6、PostgreSQL与Oracle、MySQL的对比 1、PostgresQL数据库简介 PostgreSQL【简称&#xff1a;PG】是加…

搭建shopify本地开发环境

虽然shopify提供了在线编辑器的功能&#xff0c;但是远不及本地编辑器方便高效&#xff0c;这篇文章主要介绍如何在本地搭建shopify开发环境&#xff1a; 1、安装nodejs 18.2 2、安装git 3、安装shopify cli ,使用指令: npm install -g shopify/clilatest 4、安装ruby 5、…

软件设计师——数据结构

本博文所有内容来自于B站up主zst_2001 目录 时间复杂度 常规数据结构 链表 栈与队列 ​编辑 串 数组 树 卡特兰数&#xff1a; 平衡二叉树 哈夫曼 图 AOV 排序 顺序 折半 哈希 时间复杂度 常规数据结构 链表 栈与队列 串 找i位置前面的字符串&#xff0c…

JS | JavaScript中document.write()有哪些用法?

document.write()是 JavaScript 中用于向文档中插入内容的方法。它可以在文档加载过程中或在脚本执行时动态地将任意内容写入到 HTML 文档中。 document.write() 是 JavaScript 中的一个方法&#xff0c;用于在 HTML 文档中动态生成内容。 这个方法可以在网页加载过程中动态地…

Python 工具库每日推荐 【Pandas】

文章目录 引言Python数据处理库的重要性今日推荐:Pandas工具库主要功能:使用场景:安装与配置快速上手示例代码代码解释实际应用案例案例:销售数据分析案例分析高级特性数据合并和连接时间序列处理数据透视表扩展阅读与资源优缺点分析优点:缺点:总结【 已更新完 TypeScrip…

重学SpringBoot3-集成Redis(一)

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 重学SpringBoot3-集成Redis&#xff08;一&#xff09; 1. 项目初始化2. 配置 Redis3. 配置 Redis 序列化4. 操作 Redis 工具类5. 编写 REST 控制器6. 测试 API7. 总结 随…

【复习】html最重要的表单和上传标签

文章目录 imgforminput img <img src"https://tse1-mm.cn.bing.net/th/id/OIP-C._XVJ53-pN6sDMXp8W19F4AAAAA?rs1&pidImgDetMain"alt"二次元"height"350px"width"200px"/>常用 没啥说的&#xff0c;一般操作css多一些 for…

Nacos理论知识+应用案例+高级特性剖析

一、理论知识 Nacos功能 Nacos常用于注册中心、配置中心 Nacos关键特性 1、服务发现和服务健康监测 nacos作为服务注册中心可用于服务发现,并支持传输层&#xff08;TCP&#xff09;和应用层(HTTP&#xff09;的健康检查&#xff0c;并提供了agent上报和nacos server端主动…

数据结构——List接口

文章目录 一、什么是List&#xff1f;二、常见接口介绍三、List的使用总结 一、什么是List&#xff1f; 在集合框架中&#xff0c;List是一个接口&#xff0c;通过其源码&#xff0c;我们可以清楚看到其继承了Collection。 Collection 也是一个接口&#xff0c;该接口中规范了后…

启动redis

1. 进入root的状态&#xff0c;sudo -i 2. 通过sudo find /etc/redis/ -name "redis.conf"找到redis.conf的路径 3. 切换到/etc/redis目录下&#xff0c;开启redis服务 4. ps aux | grep redis命令查看按当前redis进程&#xff0c;发现已经服务已经开启 5.关闭服务…

如何使用WPS软件里的AI工具?

在wps文档中随机位置&#xff0c;按两下键盘上的【CTRL】键&#xff0c;唤醒AI工具 然后&#xff0c;输入想要的问题后&#xff0c;按下【回车】&#xff0c;就会生成答案在文档中 如果答案是自己喜欢的&#xff0c; 则选择【保留】&#xff0c;即可保存在文档中 如果答案不是…

Arthas(阿尔萨斯)

Arthas Arthas可以为你做什么&#xff1f; 安装下载 //Linux环境下 wget https://alibaba.github.io/arthas/arthas-boot.jar //Windows环境下可以直接去官网下载压缩包 https://arthas.aliyun.com/doc/download.html//启动命令 java -jar arthas-boot.jar 启动阿尔萨斯&#…

使用Conda管理python环境的指南

1. 准备 .yml 文件 确保你有一个定义了 Conda 环境的 .yml 文件。这个文件通常包括环境的依赖和配置设置。文件内容可能如下所示&#xff1a; name: myenv channels:- defaults dependencies:- python3.8- numpy- pandas- scipy- pip- pip:- torch- torchvision- torchaudio2…

【我的 PWN 学习手札】tcache stash unlink

目录 前言 一、相关源码 二、过程图示 1. Unlink 过程 2. Tcache stash unlink 过程 三、测试与模板 1. 流程实操 2. 相关代码 前言 tcache stashing unlink atttack 主要利用的是 calloc 函数会绕过 tcache 从smallbin 里取出 chunk 的特性。并且 smallbin 分配后&…

IP 数据包分包组包

为什么要分包 由于数据链路层MTU的限制,对于较⼤的IP数据包要进⾏分包. 什么是MTU MTU相当于发快递时对包裹尺⼨的限制.这个限制是不同的数据链路对应的物理层,产⽣的限制. • 以太⽹帧中的数据⻓度规定最⼩46字节,最⼤1500字节,ARP数据包的⻓度不够46字节,要在后⾯补填 充…

【ONE·Web || HTML】

总言 主要内容&#xff1a;HTML基本知识入门&#xff0c;主要介绍了常见的一些标签使用&#xff0c;以及简单案例演示。       文章目录 总言0、前置说明1、认识HTML1.1、是什么1.2、初识 HTML 标签、HTML 文件基本结构1.2.1、相关说明1.2.2、vscode如何快速生成代码 2、HT…