【Linux】Linux工具——yum,vim

掘根 2024-06-11 16:37:03 阅读 79

1.Linux 软件包管理器——yum

Linux安装软件:

源代码安装(不建议) rpm安装(类似Linux安装包,版本可能不兼容,不推荐,容易报错) yum安装(解决了安装源,安装版本,安装依赖的问题,类似Linux应用商店,非常推荐)

Lniux的软件生态:

开源是一种商业战略开源有时候也挺贵的,例如 ,新人做操作系统的选型——生态好

 我们一般在应用商店进行下载,客户端怎么知道去哪里下载?

客户端里内置了服务器链接

yum就相当于lniux的应用商店

 那么问题来了,在yum进行下载,yum怎么知道去哪里下载?

谁提供软件?

因为linux是开源系统,大家共建的系统,软件自然是系统共建者写的

1.1.什么是软件包

在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.yum( Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat, Centos等发行版上.

安装软件需要确认是不是自己是不是处于联网状态

关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!!!

可以通过 ping 指令验证

ping www.baidu.com

有这些标识就代表处于联网状态

只有root才能安装软件,普通用户是不行的

好,我们开始进行安装软件

1.2.使用yum安装rzsz

我们安装的第一款软件叫rzsz

这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件. 安装完毕之后可以通过拖拽的方式将文件上传过去.

对于linux服务器来说,通常我们是通过一些ssh工具进行远程访问连接的,而对于经常使用它的人来说,少不了将文件上传下载到服务器。如何能够快速的同服务器进行文件的交互尤为重要。不然每次都打开单独的ssh客户端或者ftp很是浪费时间。今天,我们就来介绍一下linux系统下的rz、sz命令。

运行命令rz、sz要比FTP容易很多,而且服务器不需要另开FTP服务即可完成。

sz:将选定的文件发送(send)到本地机器rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive)

rz,sz是便是Linux/Unix同Windows进行ZModem文件传输的命令行工具,windows端需要支持ZModem的telnet/ssh客户端(比如SecureCRT)。

注意:该方法的传输速度比较慢,推荐使用中小文件的传输。

通过 yum list 命令可以罗列出我们当前linux环境一共有哪些软件包.

由于包的数目可能非常之多, 这里我们需要使用 grep 命令只筛选出我们关注的包.

注意事项:

软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构."x86_64" 后缀表示64位系统的安装包, "i686" 后缀表示32位系统安装包. 选择包时要和系统匹配. "el7" 表示操作系统发行版的版本."el8" 表示的是 centos8/redhat8. "el6" 表示 centos6/redhat6.最后一列, base 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念. 

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

yum install 软件包名称

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

 

注意事项:

安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外 一个软件, yum会报错.如果 yum 报错, 请自行百度.

我们试试rz命令

 

我们怎么卸载软件呢?

yum remove 软件包名称

 我们拿刚刚那个软件为例子

 yum去哪里找下载链接呢?

1.官方yum源

在一个系统内置的仓库里

/etc/yum.repos.d/

2.拓展yum源

一般linux操作系统,默认配置的yum源是国外的,有可能你的yum源访问会比较慢,可能需要更新yum源 (虚拟机可能需要)

我们把yum源更新为国内的

我们使用云服务器,一般厂商已经替换成国内的yum源了

2.Linux编辑器——vim使用

vs2022是集成开发环境——不仅能写代码,还能编译,还支持各种功能

vim可是编辑器——文本编写——单纯的写代码

vim是多模式的编辑器

2.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

我这里一共有12种模式:six BASIC modes和six ADDITIONAL modes.

我们先看看一个例子

我们现在所处的就是命令模式

我们输入hello world,发现啥也没有用

用户输入都会当作命令,一般不会给你当作文本输入

我们要写代码,就要点击i键,进入插入模式

我们输入代码

 我们怎么保存退出呢?

我们需要从插入模式转变为命令模式(即按Esc),再转变为底行模式(即在命令模式下输入:),输入wq即可保存退出 (w是保存,q是退出)

 

2.2.vim命令模式常用命令集——单文件

注意全要在命令模式下执行:

1.按[gg]:进入到文本开始

2.按[G]:进入文本末端

3.[n+G]:定位到任意行

4.「yy」:复制光标所在行到缓冲区。

5. [p]:粘贴光标所在行的下一行

我们先进入命令模式,4+G,yy,p

我们发现直接就在下一行复制了一份

6.(n+)yy(+m)+p:复制光标所在行开始的n行粘贴m次

我们接着试试yy+10+p

 我们接着看

在命令模式下执行2+yy+2+p

 

7.u:撤销

我们按个u,撤销了上一步

8.(n+)dd:剪切/删除光标所在行

dd+p

我们可以2+dd+p,这个不演示,自己去看

8.$:定位光标到当前行结尾

9.^:定位光标当前行的开头

这两个不展示了,太简单了

10.(n+)b:往左边跳过n个单词,默认n是1

11.(n+)w:往右边跳过n个单词,默认n是1

我们演示一波

输入2w

输入2b

又回来咯

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

这个和我们的上下左右的四个键的作用不是重复了吗?

这个是因为历史原因——开发vim的时候没有上下左右键

h在最左边,l在最右边,jk:下上,只要背下上即可

13.shift+~:让光标对应字母完成大小写转换

我们看看

 

按住~就会移动

14.更换一堆字符(n+)rm:将光标所在位置后面n个字符全换成字符m,n是默认为1

在命令模式下输入4rx

 

15:shift+r:进入替换模式

 

这样子就能直接替换了

16:(n)x:对光标之后的n个字符进行删除

我们按了一个u

 

17.ctrl+r:对撤销后悔了

掌握上面那些暂时够用了,我们不讲太多 

2.3.vim命令模式命令集——多文件

1.底行里输入

vs 文件名

便可实现多屏,不论文件是不是存在 

我们先打开一个.c文件

我们在命令模式下输入冒号进入底行模式,输入vs code1.c

 

就实现了分屏操作

光标在哪一个窗口,就对哪一个窗口进行操作

我们怎么切屏呢?我们只讲一种——ctrl+w+w

 太简单了

 这个方法适用于多文件操作,无论打开了多少文件

2.4. vim命令模式命令集——总结

插入模式

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

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

按「ESC」键。

移动光标

按[gg]:进入到文本开始按[G]:进入文本末端[n+shift+g]:定位到任意行vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、 「l」,分别控制光标左、下、上、右移一格按「G」:移动到文章的最后按「$」:移动到光标所在行的“行尾”按「^」:移动到光标所在行的“行首”按「w」:光标跳到下个字的开头按「e」:光标跳到下个字的字尾按「b」:光标回到上个字的开头按「#l」:光标移到该行的第#个位置,如:5l,56l按「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」: 撤销的恢复 更改「cw」:更改光标所在处的字到字尾处「c#w」:例如,「c3w」表示更改3个字

跳至指定的行

「ctrl」+「g」列出光标所在行的行号。「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

 

2.5. vim末行模式命令集

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

列出行号

「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。「set nonu」: 输入「set nonu」后,删除行号。

我们还可以去掉行号

跳到文件中的某一行

「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15, 再回车,就会跳到文章的第15行。

查找字符

「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 「n」会往后寻找到您要的关键字为止。「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直 按「n」会往前寻找到您要的关键字为止。问题:/ 和 ?查找有和区别?操作实验一下

保存文件

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

3. 简单vim配置

我们上面用的vim是一个裸的vim,体验非常不好,如果想要好的体验,我们就得自己配置vim 

配置文件的位置

在目录 /etc/ 下面,有个名为vimrc的隐藏文件,这是系统中公共的vim配置文件,对所有用户都有效。

我的没有,没关系

在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下, 通常已经存在一个.vimrc文件,如果不存在,则创建之。

这个vimrc文件就是配置文件,我们打开它

保存,退出

我们从此往后,我们使用vim就默认带行号了

那我们怎么知道有哪些配置呢?很简单,百度

下面这些是常用的一些

" 编辑设置set nu " 显示行号 同 numberset tabstop=4 " 设置制表符宽度为4set softtabstop=4 " 设置软制表符宽度为4set shiftwidth=4 " 设置缩进的宽度为4set expandtab " 制表符扩展为空格set showmatch " 输入括号时,自动高亮对应的另一个括号, 各种括号set ruler " 在状态栏显示光标的当前位置(位于哪一行哪一列)set autoindent " 设置自动缩进set cindent " 以C语言的方式缩进"set cursorline " 突出显示当前行 " 字体和主题"set guifont=Consolas:h15 " 设置字体和字体大小, 得系统有"colorscheme neodark " 设置主题为neodark, 前提得有" 备份还原设置"set nobackup " 取消备份文件"setlocal noswapfile " 不创建交换文件.swp, 奔溃用, 正常退出会删除set undofile " 生成un~文件, un~文件用来保存撤销历史set undodir=~/.vim/undodir " 统一管理undo文件路径 mkdir ~/.vim/undodir -p"set backup " 开启备份文件 filename~"set backupext=.bak " 设置备份文件后缀为.bak " 工具环境设置set showmode " 在底部显示,当前处于命令模式还是插入模式set showcmd " 命令模式下,显示当前键入的指令, 包括快捷键set hlsearch " 高亮显示搜索的字符串"set t_Co=256 " 启用256色, 不用主题就关了set noerrorbells " 出错时不发出响声set vb t_vb= " 光标边界响铃关闭set laststatus=2 " 显示状态栏set statusline=%F%m%r%h%w\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%Y\ -\ %H:%M\")} "状态栏信息模板set backspace=2" 语法高亮显示syntax onsyntax enable" 文件编码配置set enc=utf-8 " vim内部编码模式,即内存中的编码 同 encodingset fenc=utf-8 " 保存文件的默认编码, 不会覆盖原编码set fencs=ucs-bom,utf-8,cp936,gb18030,gb2312,gbk,big5,euc-jp,euc-kr,shift-jis,latin1 "打开文件时的编码猜测列表,按前后优先级顺序 同fileencodingsset termencoding=utf-8 " 屏幕显示最终编码

我们再配置一个

我们也可以直接把上面那个直接粘贴到我们的vim里面去

也可以自己去配置

一个用户一个vim配置,大家完全可以按照自己的喜爱去配置vim,配置直接去网上搜

是不是很nice!!!!

注意:不要在root账号里面配置vim ,去普通用户配置

 这个自己去了解即可



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。