初识Linux:第六篇

news2024/11/14 14:30:02

在这里插入图片描述

初识Linux:第六篇

  • 初识Linux:第六篇
    • 1.Linux 软件包管理器 yum
    • 2.Linux下的软件生态
    • 3.Linux中编辑器vim的使用
      • 3.1命令模式
        • 3.11控制光标移动
        • 3.12复制,粘贴,剪切,删除
        • 3.13替换,大小写转换
        • 3.14撤销与反撤销
        • 3.15查找字符串
      • 3.2插入模式
      • 3.3底行模式
        • 3.31保存与退出
        • 3.32分屏
        • 3.33shell命令
        • 3.34替换
        • 3.35行号
        • 3.36补充
  • 总结

初识Linux:第六篇

👉本篇的主要目的:让大家能够使用vim在Linux上写代码和学会在yum上下载软件;👈

在这里插入图片描述


1.Linux 软件包管理器 yum

在Linux上安装软件有三种方式:

  1. 源代码安装
    软件的源代码是软件的原始数据,任何人都可以通过源代码查看该软件的设计架构和实现方法,但是源代码不能在计算机中直接运行安装。需要通过编译将源代码转换为计算机可以识别的机器语言,之后才可以进行安装;
  2. rpm安装
    rpm是一种包管理器,但是所安装的软件有和复杂的依赖关系,安装时要考虑软件版本,软件源等问题,不易于我们安装
  3. yum安装:需要连网!!!
    yum安装就可以帮助我们找到安装源,安装版本,依赖关系等,方便,简单;

👉如何测试自己是否连网?

ping (Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序。
指令:ping 网址
连网成功:
在这里插入图片描述

连网失败:
在这里插入图片描述

🤔什么是yum?

yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat,Centos等商业发行版上;

🤔🤔什么是软件包?什么又是包管理器?

  • 软件包本质上是一个存档文件,包含二进制可执行文件、配置文件和一些必要的依赖信息。(软件包一般是 :已经被编译过的机器码 + 描述信息、版本信息、依赖信息等构成的元数据);

  • 软件包管理器是一种工具:它可以根据软件包提供的元数据 ,准许用户在操作系统上 安装、删除、升级、配置和管理软件包

  • 可以理解为软件包和软件包管理器的简单关系: “App” 和 “应用商店” 这样的关系;

这是Linux下详细的包管理器(RPM,yum)介绍:👉RPM,yum介绍;


🤔🤔🤔yum如何使用?

注意在安装前一定要看一下自己是不是root或者sudo,因为 安装的本质就是拷贝 ,在Linux下安装,由于需要拷贝到特定目录,往往需要权限,所以要root或者sudo;

  1. 如何查看软件?
    指令:yum list
    但是直接输入这个指令会跳出很多很多软件,所以我们一般用:yum list | grep 软件名
    在这里插入图片描述

  2. 如何下载软件?
    指令:yum install [选项] 软件
    常见选项:-y:自动确认的意思,安装软件是系统会问你是否安装或卸载;

  3. 如何删除软件?
    指令:yum remove [选项] 软件
    常见选项:-y:自动确认的意思,安装软件是系统会问你是否安装或卸载;

我们可以先下载一个实用工具:lrzsz,这个工具用于 windows机器和远端的Linux机器通过XShell 传输文件;

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

lrzsz的用法

  1. 从windows上上传文件到Linux上
    一种用法就是直接输入rz,然后会跳出一个弹窗,选择你要上传的文件,另一种方法就是从windows上拖拽上传文件
    例如:
    在这里插入图片描述
    在这里插入图片描述
  2. 将Linux文件传输到window中
    输入sz 文件名,即可传输到windows上;
    例如:
    在这里插入图片描述

扩展
rz和sz都是使用Zmodem文件传输协议,使用 man rz 可以看到(注意man手册也是一款软件)
rz全称: Receive Zmodem
sz全称: Send Zmodem


2.Linux下的软件生态

在这里插入图片描述
上图是池塘的生态,有生产者,消费者,分解者等;

🤔手机或电脑上的软件生态是什么?

由手机/电脑——网络——服务器可形成一套完整的商业生态;
在这里插入图片描述

  1. 安装包存放在哪?
    安装包肯定不存放在你的电脑或手机上,而是在别人的电脑上(远端服务器、云服务器);
  2. 谁提供了安装包?谁放在服务器上?
    企业、个人为了某种利益提供了软件包,并放在了服务器上,提供后通常会放在官网或者应用商城中;
  3. 我怎么知道我的软件在哪个服务器上?
    通过网络搜索,在官网中下载或者应用商城中下载;

🤔🤔那么Linux的软件生态是什么?

Linux软件系统:由电脑——网络——服务器可形成一套完整的商业生态

在这里插入图片描述
一般yum源都是配置国外的yum源;
但是外网访问较慢,所以我们访问本土的服务器居多;
注释:当然如果你是虚拟机用户,你也可以自己配置国内yum源:配置清华大学yum源教程,如果你是云服务器的一般厂商已经配置过了;

  1. yum怎么知道去哪找软件?
    在自己的Linux中,内置了对应应用和服务器的下载链接(不同的Linux社区,提供的下载链接不一定相同);

  2. 谁在开源Linux中提供的软件?放在哪里?
    os的提供者和推动者,放在Linux的服务器中;

注意:开源不一定免费,或者说开源有时候也挺贵,因为一旦使用这个操作系统的人多了,这些使用者就会对这个操作系统产生依赖性,那么如果这个OS的提供者做不下去了(没钱了),但我们又不想让OS消失,于是就会为这个OS出资或捐助;

🤔🤔🤔yum的内置下载链接在哪?

Linux中有一个关于yum源的配置(云服务器已经自动配置好了),yum源会包含Linux对应镜像服务器,也就是软件集成平台的网络链接,使用户可以通过链接到指定地址下载软件;

yum 源配置文件位于 /etc/yum.repos.d/ 目录下,文件扩展名为 “*.repo”(只要扩展名为 “*.repo” 的文件都是 yum 源的配置文件);
在这里插入图片描述在这里插入图片描述
大概介绍一下
[base]:容器名称,一定要放在[]中;
name:容器说明,可以自己随便写;
baseurl:我们的 yum 源服务器的地址,默认是 CentOS 官方的 yum 源服务器;
enabled:此容器是否生效,写成 enabled=1 则表示此容器生效,写成 enable=0 则表示此容器不生效;
gpgcheck:如果为 1 则表示 RPM 的数字证书生效,如果为 0 则表示 RPM 的数字证书不生效;
gpgkey:数字证书的公钥文件保存位置;


在这里插入图片描述

但是CentOS-Base.repo是官方认证的软件源,有的时候官方中的软件源没有我们想要的软件去哪下?

官方软件通常是成熟、安全、稳定的,非官方软件通常需要经过时间检验证明是成熟、安全、稳定的,才能被纳入到官方软件中。非官方软件集合可以理解为官方软件的储备池(准官方或者叫扩展yum源)

指令: yum install -y epel-release
在这里插入图片描述

比如我们之前下载的小火车就是扩展yum源中的:sl
小火车

在这里插入图片描述
还有一个好玩的软件:cmatrix(字符滚动)
效果图:
在这里插入图片描述

3.Linux中编辑器vim的使用

在这里插入图片描述

🤔什么是vim?

vim是一个多模式的编辑器,它是vi的升级版本,可应用于windows,linux,macos等多个操作系统,此外vim具有代码补全、编译及错误跳转等功能,通常,在LInux中用到的vi实际上是vim,即使输入命令时输入的是vi,但是使用的仍然是vim;
在这里插入图片描述

🤔🤔如何下载vim?

在Linux中输入vim命令,若提示command not found,则表示还未安装vim编辑器,需要输入yum install -y vim指令进行安装vim;
输入vim 文件名,打开后默认是下图(说明安装成功!):
在这里插入图片描述

🤔🤔🤔vim既然是多模式编辑器,那么它有哪些模式呢?

vi/vim 有很多模式,但最重要的模式有三种,分别是命令模式(Command mode),插入模式(Insert mode)和底行模式(Last line mode);

🤔🤔🤔🤔三种模式的主要作用?

  • 命令/普通/初始模式:控制光标移动,对内容进行复制,粘贴,删除,替换等动作,此模式下不可编辑,因为用户所有的输入都被当成命令
  • 插入/编辑模式:一般用于输入文字,代码等,用于编辑,后面我们写代码经常用;
  • 底行/末行模式:一般用于文件保存或退出vim,也可以进行文件替换,找字符串,列出行号等操作;

🤔🤔🤔🤔🤔三种模式怎么切换?(重要)

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

补充一点
如果想学vim的使用,可以输入指令 vimtutor,这里有官方教程;
在这里插入图片描述


3.1命令模式

我们用vim打开文件进入的就是默认的命令模式,可以控制光标移动,对内容进行复制,粘贴,删除,替换等动作,此模式下不可编辑,因为用户所有的输入都被当成命令

😁那么我们就学习学习常见的命令吧!

在这里插入图片描述
如果你想要显示行号,先切换到底行模式下,然后输入set nu即可!

3.11控制光标移动

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

3.12复制,粘贴,剪切,删除

在这里插入图片描述

3.13替换,大小写转换

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

3.14撤销与反撤销

在这里插入图片描述

3.15查找字符串

在这里插入图片描述
如何取消高亮呢?
在命令模式下输入 :nohi


3.2插入模式

  • 插入模式就是编辑模式,就是开始对文件进行编辑,通过上下左右键可以移动光标,底部会有插入两个字提示当前在插入模式。但是,默认情况下编辑文件还是非常不方便的,比如不像集成开发环境那样可以自动补全括号,函数提示等,但是我们可以对vim进行配置,这些在后面讲解。

不过这里有佬配好的链接复制黏贴一下到xshell中就可以了
这是链接

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

安装完后,记得输入source ~/.bashrc或重启终端;
效果:
在这里插入图片描述


3.3底行模式

注意

  • 一定要在正常命令模式下按冒号进入底行模式
  • vim不会创建一个文件,就是说如果你用vim打开一个没有创建的文件并且没有保存的话数据就消失了;

3.31保存与退出

在这里插入图片描述

3.32分屏

在这里插入图片描述

3.33shell命令

在这里插入图片描述
甚至可以执行!./a.out执行代码;

3.34替换

在这里插入图片描述

  • 前两个指令,一定要在命令模式下,把光标放到src处,否则执行会报错,因为vim不知道你要替换的字符串是哪一行的;
  • 后两个指令是对整个文件操作的所以不需要指定光标,如果多文件的话就需要指定是在那个和文件内;

3.35行号

列出行号set nu
取消行号set nonu
跳至第n行数字n
例如
在这里插入图片描述

3.36补充

查找功能与在命令模式下的查中功能类似;
在这里插入图片描述

总结

本篇主要介绍了yum和vim的使用,下去多多实操,你会有更多收获的!😁如果喜欢本篇不妨留下一颗❤️,同时感谢大家支持,下期间!!!
在这里插入图片描述

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

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

相关文章

深度学习笔记之循环神经网络(六)长短期记忆神经网络(LSTM)

深度学习笔记之循环神经网络——长短期记忆神经网络[LSTM] 引言回顾: RNN \text{RNN} RNN的反向传播过程 RNN \text{RNN} RNN反向传播的梯度消失问题 长短期记忆神经网络遗忘门结构输入门结构遗忘门与输入门的特征融合操作输出门结构 个人感悟 引言 上一节介绍了循…

【C++】哈希——unordered系列容器哈希概念哈希冲突

文章目录 1. unordered系列的关联式容器1.1 引言1.2 unordered_map的使用说明1.3 unordered_set的使用说明1.4 unordered_set和unordered_map的应用1.5 性能比较 2. 哈希概念3. 哈希函数4. 哈希冲突5. 哈希冲突的解决——开散列和闭散列5.1 闭散列5.2 开散列 1. unordered系列的…

C++:征服C指针:关于指针

关于指针 1.看一个简单的程序,来接触下指针二级目录三级目录 本章节,我们重点分析C指针,首先我们从指针的概念谈起 💚💚💚 指针是一种保存变量地址的变量,并在C中频繁使用在C语言标准中&#xf…

数据结构与算法01:时间复杂度

目录 【复杂度分析】 【降低时间复杂度】 降低时间复杂度的必要性 【每日一练】 不管是使用什么编程语言或者哪种数据库,不管是解决项目中的什么问题,都离不开数据结构与算法。所谓数据结构就是指某一种数据的存储结构,所谓算法就是操作这…

【ClickHouse】

文章目录 一、表引擎1、表引擎的作用2、TinyLog3、Memory4、MergeTree二、数据库引擎1、作用--跨种类交换数据2、示例 三、MergeTree引擎1、简单使用2、分区partition by3、主键primary key4、order by(必填) 一、表引擎 1、表引擎的作用 CK表引擎决定…

U盘无法格式化?试试这几种快速有效的方法!

我们在通过Windows文件资源管理器、磁盘管理或Diskpart命令格式化U盘过程中,会遇到Windows无法格式化U盘。导致出现该问题的原因可能有以下几种: U盘被病毒和恶意软件感染; U盘有坏道; U盘已经物理损坏; 1.消除可能…

数据类型的陷进,从表象看本质!

哪些值转为布尔值为false 1、undefined(未定义,找不到值时出现) 2、null(代表空值) 3、false(布尔值的false,字符串"false"布尔值为true) 4、0(数字0&…

LeetCode每日一题之209长度最小的子数组

文章目录 问题描述方法一:暴力求解方法二:滑动窗口 问题描述 方法一:暴力求解 暴力求解法:时间复杂度O(n^2),空间复杂度O(1)。 暴力求解法的思想:每一次遍历数组,然后更新result的值&#xff0…

【Linux基本指令(3)】几十条指令快速入手Linux/到底什么是日志?/指令的运行原理到底是什么?

本文思维导图: 文章目录 13.head指令14.tail指令15.时间相关指令到底什么是日志?时间戳 16.cal指令17.find指令(非常重要)18.grep指令19.zip/unzip指令20.tar指令(非常重要)21.bc指令22.uname指令23.几个重…

香橙派4和树莓派4B构建K8S集群实践之六:虚拟主机

1. 说明 根据之前设置好的基础,我打算设置两种不同的虚拟主机运行在这个K8s集群上面,一个是LNMP体系的WebApp,一个是Java SpringBoot体系的WebApp。 1.1 设置表格 - wwwroot 是之前做pvc定义的文件目录,形如:/data0…

外包没有前途的,已经被替换了....

我25岁的时候,外包测试,薪资13.5k,人在深圳。 内卷什么的就不说了,而且人在外包那些高级精英年薪大几十的咱也接触不到,就说说外包吧。假设以我为界限,25岁一线城市13.5k,那22-24大部分情况下是…

花指令问题

前言 想起之前打题的时候经常会遇到一些关乎花指令的问题,但是没有系统地总结归纳花指令去除的姿势,浅浅开一个坑慢慢来写 题1:简单jmp 可以骗过dbg,但是放在ida中就很容易看出来,无效跳转 题目来源:[HD…

七牛云图床设置

文章目录 七牛云图床设置下面是用picgo配置图床SSL证书申请https网站显示http图片解决方案 原文链接图床设置,免费SSL证书申请,https网站显示http链接的图片 七牛云图床设置 登录七牛云官网并进行个人注册,然后找到对象存储 点击空间管理&a…

一种适用于大量租户大量角色权限系统设计

前言 权限管理是每个系统不可缺少的一部分,大部分开发者应该都设计过权限管理系统,很多开发者学习的第一个项目可能就是权限管理系统。但是常见的权限设计在租户量非常大、角色数量非常多时会存在角色权限表数据量指数增长的情况,本文介绍一…

c++代码手撕红黑树

企业里永远是技术驱动理论发展 比起理解红黑树的原理,更重要的是理解红黑树的应用场景,因为某些应用场景的需要,红黑树才会应运而生。 红黑树的特点: 插入,删除,查找都是O(logn)的复杂度。 红黑树的应用…

【lager】日志系统2:测试程序调试

design 官方设计文档 design cmakelist增加plog构建 cmake_minimum_required(VERSION 3.1.3 FATAL_ERROR) project(Lager)set(CMAKE_CXX_STANDARD 11) set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)find_package(

课时八——进程同步(二)

1、信号量 信号量机制是一种功能较强的机制,可用来解决互斥和同步问题,它只能被两个标准的原语wait(S)(P操作)和signal(S)(V操作 )访问。 注意:原语是一种特殊的程序段,其执行只能一…

EV 电动汽车远程监控系统

EV 电动汽车远程监控系统 远程监控系统简介 目录 EV 电动汽车远程监控系统 1、远程监控系统是什么? 2、远程监控系统包含什么? 2.1车载终端 2.2、数据服务器 ​​​​​​​ 2.3、监控页面 3、远程监控系统有什么用? 4、车载终端…

中性市场观下,贝壳驶入长期价值之海

(图片来源于网络,侵删) 文 | 螳螂观察 作者 | 易不二 2023年一季度,房地产市场实现了久违的回暖。 国家统计局公布的数据显示,2023年1-4月,全国商品房销售额39750亿元,增长8.8%,…

Atlassian数据迁移攻略:迁移前必备须知

到2024年2月,Atlassian将终止对Server产品及插件的所有支持。是时候制定您的迁移计划了——Atlassian为您提供两种迁移选择,一是本地部署的数据中心版本,中国用户25人以上即可使用,二是云版。作为Atlassian全球白金合作伙伴&#…