【Linux】Linux环境基础工具的基本使用及配置(yum、vim)(上)

简介: 【Linux】Linux环境基础工具的基本使用及配置(yum、vim)(上)

Linux软件包管理器 - yum

Linux下安装软件的方式

在Linux下安装软件的方法大概有以下三种:

1)下载到程序的源代码,自行进行编译,得到可执行程序。

2)获取rpm安装包,通过rpm命令进行安装。(未解决软件的依赖关系)

3)通过yum进行安装软件。(常用)


认识yum

yum是一个在Fedora、RedHat以及CentOS中的前端软件包管理器,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。


注意:一个服务器同一时刻只允许一个yum进行安装,不能在同一时刻同时安装多个软件。


因为yum是从服务器上下载RPM包,所以在下载时必须联网,可以通过ping指令判断当前云服务器是否联网。

cabb2deaeb3e400b890f006e3230e0d9.png

查找软件包

b5a5a9337da7407298198c0107849537.png

使用yum list指令,可以罗列出可供下载的全部软件。

89b645a93c544e1c854c84ba21e8d470.png

说明一下:

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

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

3)"el7"表示操作系统发行版的版本,“el7"表示的是"centos7/redhat7”,“el6"表示"centos6/redhat6”。

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


这里我们以查找lrzsz为例。


lrzsz可以将Windows当中的文件上传到Linux当中,也可以将Linux当中的文件下载到Windows当中,实现云服务器和本地机器之间进行信息互传。


由于包的数量非常多,所以我们可以使用grep指令筛选出我们所关注的包,这里我们以lrzsz为例。

此时就只会显示与lrzsz相关的软件包。

11827dd6f3b04e7dbe83fe093bd78c9a.png

安装软件

指令: sudo yum install 软件名

d8f44231e9464c0a92242c362d736e75.png

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


注意:

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

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

48357b7d63084a8db09cab1ab04cb5d9.png

如何实现本地机器和云服务器之间的文件互传

既然已经安装了lrzsz,这里就顺便说一下lrzsz如何使用。

指令: rz -E


通过该指令可选择需要从本地机器上传到云服务器的文件。

1142de7895564f4c90e6e534c11f4aad.png


指令: sz 文件名


该指令可将云服务器上的文件下载到本地机器的指定文件夹。

dcc46a64f2c542c599b200f3d6835c23.png



卸载软件

指令: sudo yum remove 软件名

eaa420703a8a44c5ba6b0cd43948497b.png

yum会自动卸载该软件,这时候敲“y”确认卸载,当出现“complete”字样时,说明卸载完成。


如何更换yum源配置文件

1、yum源配置文件的路径

ls /etc/yum.repos.d/

为什么yum知道我想安装的软件在哪里下载?因为该路径下的CentOS-Base.repo是基础yum源,里面有软件的下载链接。Linux系统中只认这个文件名作为yum的配置文件。

d81b99482e4b45bc864113da672bb3a7.png

官方yum源:

c8739273619a4881a79ec8055acca63a.png

fedc04658a494f4d8fba766598c824d9.png


2、备份yum源

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

3、下载阿里yum源配置文件

wget https://mirrors.aliyun.com/repo/Centos-7.repo

将下载好的阿里yum源重命名为CentOS-Base.repo,后续可能会使用到。


4、更新yum缓存、查看yum源

yum makecache//更新yum缓存
yum clean all//清理老旧的缓存信息
yum repolist//查看yum源

yum工具在每次安装指定软件包的时候,都会检测源服务器上的软件包信息,为了便捷不用每次都去搜索软件包信息,因此使用 yum makecache将软件包信息缓存到本地,使用 yum clean all 清理老旧的缓存信息。


5、epel-release的安装(非官方扩展源)

yum install -y epel-release

131ecc3c8ca8417f9056a84c48213737.png


有了扩展源,就可以下载一些好玩的命令


行驶的小火车: 下载:yum install -y sl 执行:sl

1d97c37f009c4a8c95035caa50e9a792.gif



说话的牛:下载:yum install -y cowsay 执行:cowsay hello

2060e78e55064db5a25efb11d60b2565.png


Linux编辑器 - vim

vim基本概念

vim 是一个功能非常强大的全屏幕文本编辑器,在 Linux 中,vim 编辑器被广泛使用。


vim 也是一个类似于 vi 的著名的功能强大、高度可定制的 文本编辑器 ,在 vi 的基础上改进和增加了很多特性。


vim 和 vi 一样,是多模式编辑器,不同的是 vim 是 vi 的升级版本,它不仅兼容 vi 的所有指令,并且糅合了一些新的特性在 vim 中。例如语法高亮、可视化操作,这些不仅可以在终端运行,也可以也可以运行于 x window、 mac os、windows 。


区分编辑器和IDE(集成开发编译器) :


我们之前是在 vs2019 、Devc++ 上写代码,在这类IDE 中,一个软件就可以涵盖所有功能,包括编辑,编辑,调试等等;而我们的 vim 是编辑器,单纯是写代码的。如果要编译则需要用到 gcc,g++,调试需要用到 gdb 。工具之间互相独立,虽然 vim 可以对功能进行整合。但是还是要拎清概念:vim 是一款编辑器。


vim 拥有的模式一共有12 种模式,但我们 真正常用的只有三种 :命令模式(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


vim 基本操作

1、模式切换

vim 默认打开为 命令模式 ,命令模式下,是无法进行输入操作的。在命令模式下,可以实现对各种模式的切换,比如:


命令模式 切换至 插入模式 :按 i / a / o= 进入插入模式,三种方法都具有不同的效果。

命令模式 切换至 底行模式 : shift: 两个键同时按住进入模式。进入模式后,在 vim 左下角出现了 : ,q 直接退出 ; wq :w 保存,q 退出,保存退出。

任意模式 切换至 命令模式 :按 ESC ,直接切换至命令模式。


基于这些,我们尝试在 vim 下写一段代码:

62617552ea47425d8711c7c99e9d71fa.png

2、命令模式

命令模式的目的就是让 vim 编辑更加高效


在命令模式下,我们可以使用 h 、j 、k 、l 进行 左、下、上、右 的光标移动。这种规定可以使得操作更加高效,集中。


下面,我们对常用命令做出一些整理(下面出现的 n 均代表数字) :


1.复制粘贴剪切 :


yy / nyy :复制光标所在行或者复制包含当前行在内的 n 行

p / np :粘贴一行或多行相同内容到当前光标所在行之下

dd / ndd :对当前行或者当前行在内的 n 行的内容进行剪切,移动光标到目标行进行 p 粘贴(只剪切,不粘贴相当于就是删除)


2.撤销 :


u :撤销上一步操作

ctrl + r :对撤销进行撤销

撤销只能对于本次操作内,退出保存再次操作时,是无法撤销的。


3.光标定位:

3.1对全局文档:


shift g :将光标定位到文档结尾

gg :将光标定位到文档开头

n shift g : 将光标定位到文档指定行


3.2对局部长文本行(例如若干行100字符长度,行内快速定位):

shift $ :将光标定位到当前文档行的结尾

shift ^ :将光标定位到当前文档行的开头

w / b :按照单词为单位,进行后 / 前移动(单词定义:对于长串字符组成的非单词也认为是单词)

nw / nb :默认单词数从 0 开始,进行后 / 前移动 n 个单词间距


4.文本编辑 :


shift ~ :对文本行进行快速大小写切换,小写转大写,大写转小写。按住不动默认一直切换,直到文本行末尾

r 字符 / nr 字符 :替换光标所在的字符或者对于 n 个字符文本行进行批量化替换;如果 n 超过文本行长度,则不会进行替换

shift r :进入替换模式,该模式输入什么则对光标位置完成对等的替换,按退格键删除就是复原

x / nx :对文本行内进行向后删除或者对光标开始 n 个字符进行向后删除,按住不动默认一直删除,简单概括:行内删除,左侧–>右侧

shift x / shift nx :行内删除,右侧–>左侧


由于命令行模式指令较多,且单独演示起来效果不太好,所以就完整演示一下光标定位组 ,看一下效果即可:

a47ad3c7e1994843b9177436eef995f5.gif

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
9月前
|
安全 Linux Shell
四、Linux核心工具:Vim, 文件链接与SSH
要想在Linux世界里游刃有余,光会“走路”还不够,还得配上几样“高级装备”。首先是Vim编辑器,它像一把瑞士军刀,让你能在命令行里高效地修改文件。然后要懂“软硬链接”,软链接像个快捷方式,硬链接则是给文件起了个别名。最后,SSH是你的“传送门”,不仅能让你安全地远程登录服务器,还能用scp轻松传输文件,设置好密钥更能实现免-密登录,极大提升效率。
576 5
|
8月前
|
存储 Linux 开发工具
Linux环境下使用Buildroot配置软件包
使用Buildroot可以大大简化嵌入式Linux系统的开发和维护工作,但它需要对Linux系统和交叉编译有深入的理解。通过上述步骤,可以有效地配置和定制软件包,为特定的嵌入式应用构建高效、稳定的系统。
932 11
|
9月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
755 16
|
9月前
|
安全 Linux iOS开发
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
373 0
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
|
10月前
|
数据采集 编解码 运维
一文讲完说懂 WowKey -- WowKey 是一款 Linux 类设备的命令行(CLT)运维工具
WowKey 是一款面向 Linux 类设备的命令行运维工具,支持自动登录、批量执行及标准化维护,适用于企业、团队或个人管理多台设备,显著提升运维效率与质量。
|
9月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
2238 16
|
8月前
|
存储 关系型数据库 MySQL
MySQL介绍和MySQL包安装 -- RHEL系列(Yum资源库安装MySQL)
MySQL是一款开源关系型数据库,高性能、易用、跨平台,支持多种存储引擎,广泛应用于Web开发、企业级应用等领域。本教程介绍其特点、架构及在主流Linux系统中的安装配置方法。
1398 0
MySQL介绍和MySQL包安装 -- RHEL系列(Yum资源库安装MySQL)
|
缓存 Ubuntu 前端开发
yum的安装和使用(包含安装过程中遇到的问题及解决方法)
yum的安装和使用(包含安装过程中遇到的问题及解决方法)
1901 1
yum的安装和使用(包含安装过程中遇到的问题及解决方法)
|
监控 Linux
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
762 13
yum install -y net-snmp-devel 安装不成功 zabbix项目安装,Errors during downloading metadata for repository ‘extras-common’:问题解决方案-优雅草卓伊凡
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
1760 25