【Linux】Linux重要工具

Linux中一切皆文件💓💓💓

目录

  ✨说在前面

🍋知识点一:Linux软件包管理器yum

•🌰1. 什么是软件包

•🌰2. 查看软件包

•🌰3. 如何安装、卸载软件

🍋知识点二:Linux编辑器vim

•🌰1. vim的概念及模式

•🌰2. vim正常模式命令集

•🌰3. vim底行模式命令集

•🌰4. vim简单配置

 • ✨SumUp结语


  ✨说在前面

亲爱的读者们大家好!💖💖💖,我们又见面了,上篇文章我们讲解了linux中文件和目录的rwx权限等,大家可以回顾一下,加深印象~

我们今天给大家讲解一下Linux中的重要工具yum和vim。在Linux系统中,yum和vim是两个非常重要的工具。yum用于软件包管理,提供了便捷的软件包安装、更新和删除等操作;而vim则是一款功能强大的文本编辑器,支持多种编辑模式和插件,是Linux系统中进行文本编辑的首选工具之一。大家看完这篇文章就会清楚明白了。

   👇👇👇
💘💘💘相关链接如下(直接点击即可)

【Linux】Linux权限理解

 🎉🎉🎉xshell + 云服务器🎉🎉🎉

 博主主页传送门:愿天垂怜的博客

 

🍋知识点一:Linux软件包管理器yum

•🌰1. 什么是软件包

在Linux中,我们想要安装一个软件,有以下三种办法:源码安装、软件包安装、包管理器安装。源码安装需要用户自行下载、解压、编译和安装,过程相对复杂,需要一定的技术知识和时间。而软件包安装需要用户手动解决软件之间的依赖关系,这可能会增加安装的难度和复杂度。因此,包管理器安装通常被认为是最优的安装方案,可以自动解决软件之间的依赖问题。

包管理器安装(yum(CentOS) apt/apt-get(Ubuntu))可以分为两步:a、网络下载 b、安装(就是拷贝),而拷贝到指定目录系需要root权限。安装到系统里面,只需要安装一次,任何用户都可以使用

注意:关于yum的所有操作必须保证主机(虚拟机)网络畅通,可以ping指令验证:

ping -c3 www.baidu.com

补充:操作系统的生态 

操作系统的生态是评估一款操作系统好坏的关键因素。操作系统的生态包括它的内核版本、相关文档、使用人群、社区、所存在过的问题以及有没有被解决等诸多内容,而一也都属于款软件背后的配套文件生态的一环。

如何理解这个过程?

如上图所示,在社区中存在着软件的开发者,他们会对软件进行开发,将做好的源码编译完成后再社区上发布。这些软件的版本可能不同,但会他们的安装链接会被一个或多个软件包云服务器聚集,我们使用yum/apt安装软件,就是在软件包云服务器中区找到对应的链接从而进行下载进而拷贝。(由于目前操作系统的所有软件都是老外发明的,下载链接都在国外,所以那些国外维护社区的中国人就给中国做了一个分社区,我们的镜像源都是通过这个分社区获得的)。

我们可以在/etc/yum.repos.d中查看yum的源配置文件:

在CentOS-Base.repo这样的文件中,我们可以看到对应的yum源:

如果我们需要更改yum源,可以按下列步骤进行操作:
 

阿里云镜像YUM源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

163镜像YUM源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

腾讯云镜像YUM源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo

清华镜像源

sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.tuna.tsinghua.edu.cn/repo/centos/CentOS-7.repo​

 

•🌰2. 查看软件包

通过yum list命令可以罗列出当前一共有哪些软件包. 由于包的数目可能非常之多, 这里我们需要使用grep命令只筛选出我们关注的包。

 注意,虽然这些软件都被上传到了社区、云服务器,但他们还有一些区别。如上图,base的软件是属于稳定软件,而epel的软件属于扩展软件,类似于公测阶段,需要用户测试,还有updates等等一些分类。

注意事项:

1. 软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.

2. "x86_64" 后缀表示64位系统的安装包, "i686" 后缀表示32位系统安装包. 选择包时要和系统匹配.

3. "el7" 表示操作系统发行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6.

4. 最后一列, base 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念

 

•🌰3. 如何安装、卸载软件

安装

通过 yum,我们可以通过很简单的一条命令完成gcc的安装

sudo yum install lszrz

yum 会自动找到都有哪些软件包需要下载, 这时候敲 "y" 确认安装,出现 "complete" 字样, 说明安装完成。

注意事项:

1. 安装软件时由于需要向系统目录中写入内容, 一般需要sudo或者切到root账户下才能完成。

2. yum安装软件只能一个装完了再装另一个。正在yum安装一个软件的过程中,,如果再尝试用yum安装另外一个软件,yum会报错。

卸载

仍然是一条命令:

sudo yum remove lrzsz

举例1:安装sl

完成之后输入sl指令

 举例2:安装nsnake

 完成之后输入nsnake指令

 举例3:删除sl、nsake

 

🍋知识点二:Linux编辑器vim

•🌰1. vim的概念及模式

我们主要掌握vim的三种模式(其实有好多模式,目前掌握这3种即可),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

正常/普通/命令模式(Normal mode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode

插入模式(insert mode)

只有在Insert mode下,才可以做文字输入,按 [ ESC ] 键可回到命令模式。该模式是我们后面用的最频繁的编辑模式。

末行模式(last line mode)文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入help vim-modes

三种模式之间的转化如下图所示:

想要显示行号,就在底行模式输入set nu。

 

•🌰2. vim正常模式命令集

插入模式

i按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件。
a按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字。
o按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

从插入模式切换为命令模式

ESC按「ESC」键从插入模式切换为命令模式。

移动光标

vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。

 「G」移动到文章的最后
 「$」移动到光标所在行的“行尾”
 「^」移动到光标所在行的“行首”
 「w」光标跳到下个字的开头
 「e」光标跳到下个字的字尾
 「b」光标回到上个字的开头
[gg]进入到文本开始
[shift+g]进入文本末端
「ctrl」+「b」屏幕往“后”移动一页
「ctrl」+「f」屏幕往“前”移动一页
「ctrl」+「u」屏幕往“后”移动半页
「ctrl」+「d」屏幕往“前”移动半页

删除文字

「x」每按一次,删除光标所在位置的一个字符
「#x」例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
「X」大写的X,每按一次,删除光标所在位置的“前面”一个字符
「#X」例如,「20X」表示删除光标所在位置的“前面”20个字符
「dd」删除光标所在行
「#dd」从光标所在行开始删除#行

复制

「yw」将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」复制#个字到缓冲区
「yy」复制光标所在行到缓冲区。
「#yy」例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」

将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

替换

「r」替换光标所在处的字符。
「R」替换光标所到之处的字符,直到按下「ESC」键为止。

撤销上一次操作

「u」

如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。

「ctrl + r」撤销的恢复。

 

•🌰3. vim底行模式命令集

在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式。

「set nu」输入「set nu」后,会在文件中的每一行前面列出行号。
「#」表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15再回车,就会跳到文章的第15行。
「/关键字」先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
「?关键字」

先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

「w」在冒号输入字母「w」就可以将文件保存起来。
「q」按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。
「wq」一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

Q:/ 和 ?查找有和区别?

A:/ 用于正向查找,即从当前光标位置开始,向文件末尾方向搜索指定的字符串,而? 用于反向查找,即从当前光标位置开始,向文件开头方向搜索指定的字符串。

 

•🌰4. vim简单配置

🍇配置文件的位置

在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建之。

切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~打开自己目录下的.vimrc文件,执行 vim .vimrc,即可配置vim。

🍇vim配置常用选项

" 显示行号
set number
" 语法高亮 
set syntax=on
" Tab键的宽度为4
set tabstop=4
" 统一缩进为4
set softtabstop=4
" 自动缩进
set autoindent
" 代码补全
set completeopt=preview,menu" 去掉输入错误的提示声音
set noeb
" 不需要备份
set nobackup" 禁止生成临时文件
set noswapfile
" 搜索不区分大小写
set ignorecase
" 高亮当前行
set cursorline
" 高亮当前列(不好看)
set cursorcolumn
" 创建.sh时自动加前缀
autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()if expand("%:e") == 'sh'call setline(1,"#!/bin/bash")endif
endfunc
" 每次打开文件自动将光标定位到末尾
autocmd BufNewFile * normal G

🍇自动化一键配置 Vim --- (强烈推荐)

大家在gitee上搜索开源的vimforcpp,然后下载对应的链接到linux云服务器中即可

 

   

 • ✨SumUp结语

到这里本篇文章的内容就结束了,本节给大家讲解了yum和vim这两个重要工具。大家可以将我文章中写的命令自己写一遍。加深印象。希望大家能够认真学习,迎接接下来的挑战,期待大家继续捧场~💖💖💖

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

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

相关文章

K8S-Pod资源清单的编写,资源的增删改查,镜像的下载策略

1. Pod资源清单的编写 1.1 Pod运行单个容器的资源清单 ##创建工作目录 mkdir -p /root/manifests/pods && cd /root/manifests/pods vim 01-nginx.yaml ##指定api版本 apiVersion: v1 ##指定资源类型 kind: Pod ##指定元数据 metadata:##指定名称name: myweb ##用户…

【C++】在线五子棋对战项目网页版

目录 1.Websocket 1.1.Websocket的简单认识 1.2.什么是轮询呢? 1.3.websocket协议切换过程 1.4.websocketpp库常用接口认识 1.5.websocketpp库搭建服务器流程 1.6.websocketpp库搭建服务器 2.mysqlclient库-接口认识 3.项目模块的划分: 4.项目…

pytest+playwright落地实战大纲

前言 很久没有更新博客,是因为在梳理制作Playwright测试框架实战相关的课程内容。现在课程已经完结,开个帖子介绍下这门课程(硬广, o(〃^▽^〃)o) 课程放在CSDN学习频道, 欢迎关注~ PyTestPl…

数据结构-ArrayList和顺序表

1.线性表 线性表是n个具有相同类型的数据元素所组成的有限序列,当n0时,线性表为一个空表。 常见的线性表:顺序表,链表,栈和队列... 线性表在逻辑上是线性结构,可以说是连续的一条直线。但是在物理结构上…

红外热成像之无人机载荷

电力巡检 相较于传统的人工电力巡线方式,无人机巡检能够在高空对人工难以达到或无法检测的设备进行检测,实现了电子化、信息化、智能化巡检,可以提高巡检的工作效率和应急抢险水平。 森林防火 无人机搭载红外光电系统能在森林高空进行全天候监…

linux tty 终端

linux tty 终端 一、终端二、终端的类型1、虚拟终端2、伪终端 pty3、串口终端4、控制终端 三、内核中的终端1、open2、write3、read1. 读取数据2. 数据返回3. 常见的 termios 四、编程实验 作者: baron 个人博客: baron-z.cn 基于网站原因csdn上面的图片有压缩, 如果不是很清楚…

在 vscode + cmake + GNU 工具链的基础上配置 JLINK

安装 JLINK JLINK 官网链接 下载安装后找到安装路径下的可执行文件 将此路径添加到环境变量的 Path 中。 创建 JFlash 项目 打开 JFlash,选择新建项目 选择单片机型号 在弹出的窗口中搜索单片机 其他参数根据实际情况填写 新建完成: 接下来设置…

智能建筑时代的核心选择——基于SAIL-RK3576核心板的AI边缘计算网关方案

随着智能建筑技术的不断发展,建筑设备正日益向“智慧化”迈进。传统的建筑管理系统往往依赖中央服务器和云端平台进行数据处理和控制,但在实时监控、安防及能耗管理等关键环节,延迟和数据安全问题依然存在。此外,物联网设备数量激…

python列表如何不重复

python列表不重复的方法: python内置的set()方法可以去掉列表里面重复的元素,调用该方法就可以让python列表不重复了 a [23, 15, 15, 56, 89, 89, 56] a set(a) print(a) 运行结果如下:

【Redis】事务的概念及用法

事务的概念及用法 什么是事务事务的操作开启事务(MULTI)执行事务(EXEC)中止事务(DISCARD)为事务提供检查(WATCH)取消对key的监控(UNWATCH) 为什么Redis不支持…

两份PDF文档,如何比对差异,快速定位不同之处?

PDF文档比对是通过专门的工具或软件,自动检测两个PDF文件之间的差异,并以可视化的方式展示出来。这些差异可能包括文本内容的修改、图像的变化、表格数据的调整、格式的改变等。比对工具通常会标记出新增、删除或修改的部分,帮助用户快速定位…

Flutter:搜索页,搜索bar封装

view 使用内置的Chip简化布局 import package:chenyanzhenxuan/common/index.dart; import package:ducafe_ui_core/ducafe_ui_core.dart; import package:flutter/material.dart; import package:get/get.dart; import package:tdesign_flutter/tdesign_flutter.dart;import i…

深度学习基础知识

深度学习是人工智能(AI)和机器学习(ML)领域的一个重要分支,以下是对深度学习基础知识的归纳: 一、定义与原理 定义:深度学习是一种使计算机能够从经验中学习并以概念层次结构的方式理解世界的机…

【Elasticsearch】腾讯云安装Elasticsearch

Elasticsearch 认识Elasticsearch安装Elasticsearch安装Kibana安装IK分词器分词器的作用是什么?IK分词器有几种模式?IK分词器如何拓展词条?如何停用词条? 认识Elasticsearch Elasticsearch的官方网站如下 Elasticsearch官网 Ela…

Ubuntu 24.04 LTS 通过 docker 安装 nextcloud 搭建个人网盘

准备 Ubuntu 24.04 LTSUbuntu 空闲硬盘挂载Ubuntu 安装 Docker DesktopUbuntu 24.04 LTS 安装 tailscale [我的Ubuntu服务器折腾集](https://blog.csdn.net/jh1513/article/details/145222679。 安装 nextcloud 参考 Ubuntu24.04系统Docker安装NextcloudOnlyoffice _。 更…

ThinkPHP 8的多对多关联

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 使用VS Code开发ThinkPHP项目-CSDN博客 编程与应用开…

计算机网络 (53)互联网使用的安全协议

一、SSL/TLS协议 概述: SSL(Secure Sockets Layer)安全套接层和TLS(Transport Layer Security)传输层安全协议是工作在OSI模型应用层的安全协议。SSL由Netscape于1994年开发,广泛应用于基于万维网的各种网络…

React的应用级框架推荐——Next、Modern、Blitz等,快速搭建React项目

在 React 企业级应用开发中,Next.js、Modern.js 和 Blitz 是三个常见的框架,它们提供了不同的特性和功能,旨在简化开发流程并提高应用的性能和扩展性。以下是它们的详解与比较: Next、Modern、Blitz 1. Next.js Next.js 是由 Ve…

if_yellow_only_restart_upgrading_nodes_with_unassigned_replicas

目录标题 遇事不决,上githubif_yellow_only_restart_upgrading_nodes_with_unassigned_replicas问题分析如何解决并使集群恢复到正常状态1. **检查和分配未分配的副本分片**2. **查看节点日志**3. **检查资源配置**4. **手动升级节点**5. **修改 if_yellow_only_res…

第四十七章 Spring之假如让你来写MVC——闪存管理器篇

Spring源码阅读目录 第一部分——IOC篇 第一章 Spring之最熟悉的陌生人——IOC 第二章 Spring之假如让你来写IOC容器——加载资源篇 第三章 Spring之假如让你来写IOC容器——解析配置文件篇 第四章 Spring之假如让你来写IOC容器——XML配置文件篇 第五章 Spring之假如让你来写…