【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 ,去普通用户配置
这个自己去了解即可
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。