• 【Linux】Linux工具——yum,vim


    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源了

    如果对这个rzsz的使用非常感兴趣的话,可以去我的另一篇文章看看

    http://t.csdnimg.cn/hvgf7 

    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」键。

    移动光标

    1. 按[gg]:进入到文本开始
    2. 按[G]:进入文本末端
    3. [n+shift+g]:定位到任意行
    4. vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、 「l」,分别控制光标左、下、上、右移一格
    5. 按「G」:移动到文章的最后
    6. 按「$」:移动到光标所在行的“行尾”
    7. 按「^」:移动到光标所在行的“行首”
    8. 按「w」:光标跳到下个字的开头
    9. 按「e」:光标跳到下个字的字尾
    10. 按「b」:光标回到上个字的开头
    11. 按「#l」:光标移到该行的第#个位置,如:5l,56l
    12. 按「ctrl」+「b」:屏幕往“后”移动一页
    13. 按「ctrl」+「f」:屏幕往“前”移动一页
    14. 按「ctrl」+「u」:屏幕往“后”移动半页
    15. 按「ctrl」+「d」:屏幕往“前”移动半页

    删除文字

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

    复制

    1. 「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
    2. 「#yw」:复制#个字到缓冲区
    3. 「yy」:复制光标所在行到缓冲区。
    4. 「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
    5. 「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完 成复制与粘贴功能。

    替换

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

    撤销上一次操作

    1. 「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
    2. 「ctrl + r」: 撤销的恢复 更改
    3. 「cw」:更改光标所在处的字到字尾处
    4. 「c#w」:例如,「c3w」表示更改3个字

    跳至指定的行

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

    2.5. vim末行模式命令集

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

    列出行号

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

    我们还可以去掉行号

    跳到文件中的某一行

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

    查找字符

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

    保存文件

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

    3. 简单vim配置

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

    配置文件的位置

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

    我的没有,没关系

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

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

    保存,退出

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

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

    下面这些是常用的一些

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

    我们再配置一个

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

    也可以自己去配置

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

    是不是很nice!!!!

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

     这个自己去了解即可

     4.使用vim更改信用名单——sudo

    我们这里来补充sudo的相关知识——添加信任白名单用户

    使用sudo就必须将使用sudo的那个账号添加到信用名单里,而且啊,只有超级管理员才可以添加

    信用名单在/etc/sudoers里

    我们发现它的权限只是可读啊,所以我们怎么修改它呢?

    我们可以使用vim

     注意此时不要滚动鼠标的滑轮

    我们按hjkl来移动

    找到下面这一行的

     我们这个时候还是处于命令模式,我们移动到这一行,

     yy+p

    我们点击i切换到插入模式,将%wheel改成我们想添加的用户名

    好了之后,我们先按Esc回到命令模式,然后我们输入:切换到底行模式,输入wq!强制保存退出

  • 相关阅读:
    nuxt3踩坑
    幂级数求和难吗?细节很重要
    C++智能指针(三)——unique_ptr初探
    基于 Transformation-Equivariant 的自动驾驶 3D 目标检测
    typescript开发环境搭建
    SpringMVC-SSM整合/分页插件PageHelper案例
    FinClip 助力商家全副武装迎战
    想当领导,有哪些能力是需要培训的?
    Navicat如何连接远程服务器的MySQL
    数学建模-点评笔记 9月3日
  • 原文地址:https://blog.csdn.net/2301_80224556/article/details/139365087