Linux系统编程学习 NO.6 ——yum、Linux生态、vim的介绍

news2024/11/23 10:45:53

文章目录

  • 1.Linux的安装软件的方式
  • 2.Linux的软件生态
    • 2.1.软件生态的概念
    • 2.2.Linux的软件生态
  • 3.Linux生态
  • 4.yum安装软件
    • 4.1.验证网络
    • 4.2.使用yum安装lrzsz
      • 4.2.1.什么是lrzsz
      • 4.2.2.安装lrzsz
    • 4.3.yum是如何找到官方yum源安装的软件呢?
    • 4.4.简单介绍扩展yum源
    • 4.5.关于yum的一些问题
  • 5.vim的介绍
    • 5.1.什么是vim?
    • 5.2.简单介绍vim的三种模式
    • 5.3.简单用vim写一份c代码
  • 6.简单介绍vim的命令模式的常用命令
  • 7.简单介绍vim的底行模式的常用命令
  • 8.简单配置vim

1.Linux的安装软件的方式

在平时日常的操作使用使用中,pc端我们大部分的安装软件的方式是去官方的网站下载安装包。移动端我们通常是去操作系统提供的应用商店安装我们需要的软件。而在Linux下我们通常有一下三种安装软件的方式:
1、源代码安装(比较麻烦),源代码安装对于我们的要求较高,因为容易出现编译报错,处理起来比较麻烦。
2、rpm安装(麻烦),rpm安装通常需要解决软件间的依赖关系,如你下了a软件,但是你想安装它还需要下载b软件和c软件。但是,b软件和c软件的依赖关系你也要处理。
3、yum安装(推荐),yum安装不用管安装源、安装依赖、版本适配等等的问题。yum可以安装的软件可以直接用。

2.Linux的软件生态

2.1.软件生态的概念

在普通用户的日常生活中,软件的生态取决于厂商出厂时操作系统的自带的应用商店或者自行去官网网站下载。厂商也会根据提供软件安装服务来进行营收。厂商提供的软件通常可以直接安装使用,安全性、稳定性和便捷性都比较好。那么第一个问题。为什么应用商店知道去哪里下载呢?其实应用商店的本质就是将软件发布者或厂商的安装包提前部署在了远程服务端中。当我们需要下载应用时,软件商城就会通过网络向厂商的应用商城的服务端申请获取对应的软件安装包。
在这里插入图片描述

2.2.Linux的软件生态

yum其实就是类似于我们在平时普通用户所用的应用商店,yum是centos下的应用商店。apt-get是Ubuntu下的应用商店。由于面对的客户群体不同,Linux系统下的软件生态面向的是职业的it行业工作者。所以,你不会看到在Linux系统下可以玩诸如原神、王者荣耀等游戏的玩家。所以,软件生态很大一部分是和适用人群相关的。yum下载的软件是从官方yum源所提供的。

3.Linux生态

首先,我们都清楚的一点是大部分的Linux发行商是会提供开源的。下面我就简单聊一聊开源生态方面。前面我们说到Linux的用户群体是职业的it工作者。
假设有一天,我进入了一家一线的互联网厂商工作。有一天我的leader找到我说,小谢啊,最近我们部门正在做操作系统的选型,你有没有什么建议和看法?简单说一说。此时,如果我说我觉得centos好,因为我在大学时期都是用的这款Linux的系统。难免遭到leader的痛斥。但是,如果我以客观的角度上来说是这样的。centos 7是一款免费的Linux系统,有着优秀的社区生态,而且诸多的互联网厂商都会选择使用它。因为社区生态优秀,所以很多隐藏的问题都会被发现并且解决,使用上来说相对的比较稳定。也会有许许多多的有极客精神的开发者在系统上进行软件的开发,所以软件生态也比较优秀。这是以使用者的视角来看。
以提供者的视角看。将会持续的维护完善对应的生态。会大肆鼓励开发者和开发组织进行软件应用的开发进而完善软件生态。也会组织维护人员来解决系统层面上的问题和缺陷,使用户体验更棒。会租用更多的云服务器进行服务的提供。
但是有一句话说的很对,“免费的就是最贵的”。由于开源的系统发展得越来越好,对应的我们的提供者无法承受如此大的压力提供稳定的服务。这时就说,由于系统云服务端的服务用户过多,我们由于成本受限没法提供稳定的服务。使用该生态的企业已经对此系统产生了依赖,这时,就会有捐赠服务器或者直接捐款来支持系统生态的健康发展。进而逐步占据市场的份额。
在这里插入图片描述

4.yum安装软件

4.1.验证网络

可以通过ping命令来验证当前客户端是否联网

ping www.baidu.com

4.2.使用yum安装lrzsz

4.2.1.什么是lrzsz

lrzsz是一组用于在Unix-like操作系统中进行文件的传输的工具,包括lrz和lsz两个命令,用于本地主机与远程主机之间进行文件的上传和下载。使用lrzsz工具,可以通过终端窗口在本地主机和远程主机间传输文件,而无需依赖于图形化界面。

4.2.2.安装lrzsz

查看yum客户端的软件列表可以输入下面指令,会输出当前系统下yum客户端的所有软件。

yum list

可以输入下面指令查看lrzsz工具信息

yum list | grep lrzsz

在这里插入图片描述
可以输入下方指令进行安装lrzsz

sudo yum -y install lrzsz

-y 选项表示不用询问我直接同意。
在这里插入图片描述
也可以输入下方指令进行卸载lrzsz

sudo yum -y remove lrzsz

下面简单看下rz和sz指令的使用
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.3.yum是如何找到官方yum源安装的软件呢?

官方的yum源可以通过云服务器上的配置文件进行访问。在大多数基于Linux的云服务器上,yum的配置文件位于/etc/yum.repos.d/目录中。在这个目录下,您可以找到与每个yum源相关的配置文件。里面会有镜像网站所对应的官方yum资源。

/etc/yum.repos.d/CentOS-Base.repo

在这里插入图片描述
在这里插入图片描述
通过yum的配置文件,云服务器可以直接访问官方yum源的mirror的URL并获取所需的安装包和更新。

4.4.简单介绍扩展yum源

虽然官方yum源给我们提供了很多的软件。但是,有一些好玩的,有意思的软件官方是不提供的。这是就需要我们用拓展yum元来进行下载。这就好比在手机上,应用商店是没有提供所有软件的。有些是因为风险问题,有些是因为特殊问题等。所以,就需要我们自己去测载一些软件,通常这些行为都是比较危险的。下面我就简单介绍一下扩展yum源。
该指令可以查看当前本地的扩展yum源的配置文件信息。

ll /etc/yum.repos.d/epel.repo

扩展yum源是需要我们自己安装的。指令如下。

sudo yum install -y epel-release

在这里插入图片描述
接下来就可以安装一些拓展yum源里的软件了。这里介绍一个有意思的工具,也就是sl小火车。这也是很多人学习yum安装扩展源的第一个安装的软件。类似于程序员的第一个程序都是在屏幕上打印hello world。

sudo yum install -y sl

在这里插入图片描述
下面我就让小火车跑起来!

sl

在这里插入图片描述
在介绍一个有意思的拓展yum源提供的软件,cowsay

sudo yum install -y cowsay

在这里插入图片描述

4.5.关于yum的一些问题

首先,一般Linux操作系统默认yum源都是国外的,所以可能会出现访问慢,甚至是访问不上。所以出现这类问题可以尝试在搜索引擎中搜索一下。可以找到国内yum源的配置文档。拷贝替换一下即可解决。
安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成。
yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错。
如果 yum 报错, 到搜索引擎搜索相关问题通常都会有对应的解决方案。

5.vim的介绍

5.1.什么是vim?

Vim是一种强大的文本编辑器,广泛用于编写和编辑各种类型的文本文件。它是Vi编辑器的改进版本,具有许多额外的功能和扩展。Vim支持多种操作模式,包括命令模式、插入模式和底行模式,使用户能够高效地编辑文本。Vim非常受程序员和系统管理员的喜爱,因为它可以通过快捷键和自定义配置进行高度定制。

5.2.简单介绍vim的三种模式

首先,我们打开vim,默认进入的是命令模式。控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。在默认模式中我们所有输入都会被当做命令,一般不会让我们进行文本输入。按i即可进入插入模式,插入模式下可以进行文本编辑的操作,也就是写写代码啥的。如果此时我们需要保存我们的代码就要先回退到命令模式,在通过shift+;(即:)进入到底行模式,输入wq,即可完成保存并退出vim的操作。
在这里插入图片描述

5.3.简单用vim写一份c代码

首先,输入指令打开vim编辑器

vim XXX.c

第二部,输入i进入插入模式。然后开始写代码。写完后,按esc回退到命令模式。按shift+;进入底行模式,输入wq即 写入并退出。完成第一份c代码。
在这里插入图片描述

6.简单介绍vim的命令模式的常用命令

gg:定位光标到文本的开头行
在这里插入图片描述

shift+g:定位光标到文本的末行
在这里插入图片描述
shift+n+g:定位光标到文本的第n行
在这里插入图片描述
shift+$:将光标定位到当前行的行尾
在这里插入图片描述
shift+^:将光标定位到当前行行首
在这里插入图片描述

b,w:光标在行内进行跨单词的左,右移动
h,j,k,l:对应的是左,下,上,右方向键
为什么hjkl对应的是左下上右方向键呢?这是因为早期的键盘其实是没有上下左右方向键的。当时的的操作系统也是命令行操作系统。所以,hjkl就是早期的方向键。

(n)yy:拷贝n行内容,默认为当前行
(n)p:粘贴n份拷贝内容,默认为一份
在这里插入图片描述
(n)dd:剪切、删除n行内容,默认为当前行
在这里插入图片描述

u:撤销,类似于windows下的CTRL+z
CTRL+r:撤销之前的撤销

shift+~:转换光标标记字母的大小写
在这里插入图片描述
(n)r:将光标的位置的内容后n个位置进行替换
在这里插入图片描述
shift+r:进入替换模式,可以对文本内容进行替换。按esc即可退出,回到命令模式。
在这里插入图片描述
(n)x:删除光标后n个字符
在这里插入图片描述
可以看到vim进入一个.c文件可以直接创建它但是,我们没有保存就退出。此时可以看到code.c文件并没有被写入到磁盘中。
在这里插入图片描述
有了这一概念,下面我就简单介绍一下vim打开多个文件的编辑窗口。首先我们进入底行模式,输入vs + 文件名称即可。
在这里插入图片描述

7.简单介绍vim的底行模式的常用命令

!:表示强制操作,一般可以配合w或wq使用,表示强制写入和强制写入并退出。
在这里插入图片描述
也可以在底行命令行中编译、执行代码。

! gcc xxx.c
! ./a.out
!ls

在这里插入图片描述

设置编辑器显示行号

set nu

取消编辑器显示行号

set nonu

在这里插入图片描述

8.简单配置vim

前面我们介绍了很多使用vim的方法,但是上手一用发现十分难受,这是因为vim还没有做一下相应的配置,比如一些语法提醒、代码缩进的优化等等。所以,下面我就简单介绍一下vim的傻瓜式的配置。补充最后一点,不建议新手用root配置,最好用普通用户配置。
步骤
点击链接: vim配置文件(仅支持centos7,千万别用root)
输入下面的指令就可以安装大神配置的vim的配置文件。

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

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

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

相关文章

Mysql进阶【2】论述锁机制,SQL加锁情况

1.MySQL 的锁机制 1.1按粒度分有三种: 全局锁:核心服务层实现,锁住数据库,full table with read lock;表级锁:核心服务层实现,锁住数据库中的某张表 加表级读锁:本事务不能读取其他未加锁的表…

大数据存储与处理技术探索:Hadoop HDFS与Amazon S3的无尽可能性【上进小菜猪大数据】

上进小菜猪,沈工大软件工程专业,爱好敲代码,持续输出干货。 大数据时代带来了数据规模的爆炸性增长,对于高效存储和处理海量数据的需求也日益迫切。本文将探索两种重要的大数据存储与处理技术:Hadoop HDFS和Amazon S3…

Sqoop ---- Sqoop一些常用命令及参数

Sqoop ---- Sqoop一些常用命令及参数 1. 常用命令列举2. 命令&参数详解1. 公用参数:数据库连接2. 公用参数:import3. 公用参数:export4. 公用参数:hive5. 命令&参数:import6. 命令&参数:export…

设计模式(行为型模式)之:Template Method(模板方法)

文章目录 简介动机定义 早绑定代码晚绑定 模板设计模式对比分析总结 简介 该篇文章内容及思想出自 张建忠《设计模式》、GOF: 《设计模式》 定义一个操作中算法的骨架,而将一些操作延迟到子类中。TemplateMethod使得子类可以不改变一个算法的结构,即可重…

智能监控和汽车领域中的网络边缘嵌入式视觉最佳选择——低功耗ECP5 FPGA LFE5U-25F-8BG256I 莱迪思深力科

莱迪思深力科LFE5U-25F-8BG256I,属于ECP5系列。它拥有24,300个LUT(Look-Up Table),可编程逻辑块,是一款高性能的可编程逻辑器件,具有高性能、灵活性和可编程性的FPGA芯片,适用于多个领域的高性能…

公众号开发小程序,为品牌拓展更广阔的市场!

公众号开发小程序是指在微信公众号平台上开发出一种类似于手机App的轻量级应用,能够给用户提供更加便捷、快速、个性化的服务和体验。 相比于传统的应用,公众号开发小程序有如下优势: 1、提升用户体验:相比于网页应用&#xff0c…

边缘云风口正酣,边缘一体化服务是竞争关键

连接世界从边缘开始, 重新定义公有云的未来 【全球云观察 | 热点关注】公有云已经进入白热化竞争阶段,从当初的云资源竞争,到当下更细分的云服务竞争,随着云计算服务市场继续蓬勃发展,正在催生出多样化的非…

【Spring Boot学习】今天是我的生日,舍友催我去吃饭,我还是坚持写完了Spring Boot配置文件,祝自己生日快乐哈

前言: 大家好,我是良辰丫,上一篇文章中我们已经学习了Spring Boot项目的的创建,今天我们会学习Spring Boot的配置文件,在今天的学习中我们会遇到许多我们不认识的注解,这些注解是Spring MVC中的,我们后续会介绍,大家先不用管这些注解是什么意思.那么,为什么不先学习MVC呢?我想…

5.9 使用Vue CLI创建VUE项目

使用Vue CLI创建VUE项目 目录一、 开发前准备1. 搭建NodeJS环境2. 环境确认3.开发工具 二、创建一个新的VUE项目1. 命令创建新的vue项目2. 选择项目模板3. 选择项目配置4. 选择项目版本5. 选择配置文件存放位置6. 是否将当前的项目配置保存为预设7. 完成构建 三、启动项目 目录…

Yolov3 模型构建和深入掌握快速搭建网络的搭积木方法

(一)设计Conv2dBatchLeaky 1、了解LeakyReLU激活函数 LeakyReLU 激活层,创建一个可调用对象以计算输入 x 的 LeakReLU 。其中,x为输入的 Tensor 感觉和飞桨的api有点相同,可以对照参考理解: LeakyReLU激活…

【JavaEE】HTTP应用层协议

HTTP应用层协议 文章目录 JavaEE & HTTP应用层协议1. HTTP的报文协议格式1.1 fiddler介绍1.2 HTTP请求1.3 HTTP响应 2. HTTP请求与响应2.1 首行2.1.1 http方法2.1.2 URL2.1.3 版本号 2.2 header与空行2.2.1 Host2.2.2 Content-Type 与 Content-Length2.2.3 User-Agent&…

chatgpt赋能python:Python编程中如何取消上一步操作

Python编程中如何取消上一步操作 Python是一种强大的编程语言,被广泛应用于数据科学、机器学习、Web开发等众多领域。在Python编程过程中,有时会发生一些错误或者需求发生变化,但我们又不想完全重写代码来解决这些问题。这时,我们…

OpenStack部署(一)

OpenStack部署 1. 流程介绍1.1 模块关联1.2 虚拟机创建流程 2. 部署2.1 服务器规划2.2 环境整备1. 配置控制节点域名/计算节点解析2. 关闭控制节点/计算节点selinux和防火墙3. 安装与配置控制节点/计算节点的时间同步服务4. 在控制节点/计算节点执行命令验证时间同步服务5. 在控…

AI文本生成视频,根据文字就能一键生成视频的模型

const name "AI生成视频";console.log(name); 可以从给定的文字内容就能生成短视频,基于文本到图像生成技术,该技术旨在实现文本到视频的生成,可以通过文本生成独一无二的视频,将无限的想象力带入生活。 我们来看看文…

XShell 7 中文版一键安装激活教程

Xshell 7是一款功能强大的终端模拟器,支持SSh2,SSh3,SFTP,TELNET,RLOGIN和SERIAL。通过提供业界先进的性能,Xshell包含了其他SSH客户端无法发现的功能和优势。 Xshell是一款功能强大且安全的终端模拟器&…

12 【nextTick 过渡与动画】

1.nextTick 这是一个生命周期钩子 语法:this.$nextTick(回调函数)作用:在下一次 DOM 更新结束后执行其指定的回调。什么时候用:当改变数据后,要基于更新后的新DOM进行某些操作时,要在nextTick所指定的回调函数中执行…

工厂智慧能源-AcrelCloud-5000智慧能源综合解决方案

功能: AcrelCloud-5000能耗管理云平台采用泛在物联、云计算、大数据、移动通讯、智能传感等技术手段可为用户提供能源数据、统计分析、能效分析、用能预警、设备管理等服务,平台可以广泛应用于多种领域。 ​ 应用场所: 云平台结构&#xf…

xshell是什么软件,xshells7使用教程安装及连接linux的使用方法

Xshell是一款功能强大的终端模拟器,用户可以通过Xshell来查看编辑各种服务器上的文件和执行各类脚本,其基于SSH协议进行登录,安全性非常高,被广泛应用于企业的日常开发运维工作中。它支持SSH1, SSH2, 以及Microsoft Windows 平台的…

阿里java一面凉经

目录 1.Java中int跟integer的区别2.integer在Java中有个缓存的概念,有了解吗3.跟equals的区别,equals的重写怎么进行比较4.在实际开发中为什么不能用浮点类型来存金钱的数据,浮点类不精确的本质是什么5.构造器能被重写吗6.反射相关&#xff1…

Excel VBA代码密码破解

1.查看VBA代码,有密码 2.破解密码: 2.1:修改文件名后缀,修改为压缩包格式 2.2:打开压缩包文件,找到文件:vbaProject.bin 2.3:把这个文件从压缩包中拖出来 2.4:打开.bi…