• 【Linux】软件包管理器yum和编辑器vim(内附动图)


    大家好我是沐曦希💕

    1.Linux 软件包管理器 yum

    1.1 什么是软件包

    安装软件,需要先把软件包下载下来(联网)。软件包并不在你的本地(你的电脑),软件包只能在别人的电脑上(远程服务器上,云服务器)。

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

    下载之后,一定要安装,安装的本质其实就是拷贝,拷贝一定会拷贝的特定目录的,目录是有权限的。

    在Linux中,yum 源配置文件是存在于 /etc/yum.repos.d/ 目录下的 CentOS-Base.repo 文件:
    在这里插入图片描述

    其中yum list指令能罗列出当前一共有哪些软件包,我们也可以通过一般使用 grep 命令来筛选出我们关注的软件包;如:
    在这里插入图片描述
    如何安装软件包
    通过 yum, 我们可以通过很简单的一条命令完成简单安装. (关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!! 对于云服务器来说,没网络登录都登录不了,就不需要考虑了)
    出现 “complete” 字样, 说明安装完成

    root用户下安装命令:

    yum install 要安装的软件包//每次安装都会询问是否安装
    yum install -y 要安装的软件包//每次安装都不会询问
    
    • 1
    • 2

    普通用户(没有权限去安装任何软件包,要提权)下安装命令:

    sudo yum install
    sudo yum install -y
    
    • 1
    • 2

    例如:
    在普通用户下演示:

    sudo yum install sl
    
    • 1

    在这里插入图片描述

    sudo yum install -y sl
    
    • 1

    在这里插入图片描述
    sl命令演示:

    sl
    
    • 1

    在这里插入图片描述
    如何卸载软件
    root用户卸载软件命令:

    yum remove 要卸载软件包//推荐这个,不要用加-y的命令
    
    • 1

    当然普通用户是没有权限去卸载软件包,只有root有权安装和卸载软件包
    在这里插入图片描述

    1.2 第一个软件rzsz

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

    先验证是否联网:

    ping www.baidu.com
    
    • 1

    查看软件包:

    yum list | grep rzsz
    
    • 1

    在这里插入图片描述
    进行下载:

    sudo yum install -y lrzsz.x86_64
    
    • 1

    从Windows上传软件到Linux下

    rz
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    rz -E//支持拖拽从Windows上传软件到Linux下
    
    • 1

    把Linux的文件下载Windows下:sz
    在这里插入图片描述

    有些软件,没有被纳入centos,Ubuntu,kail等相关生态平台的官方集合中,在非官方的软件集合列表,yum源一般称为epel epel-release的安装(非官方扩展源)

    yum install -y epel-release
    
    • 1

    如果在安装软件的时候,没有在CentOS-Base.repo(官方)中找到官方的下载链接,那么yum会自动去epel-release指向的链接处去查找,相当于epel-release(非官方)给yum提供了更多的下载渠道.

    2.Linux编辑器-vim使用

    在这里插入图片描述
    vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、
    windows。

    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

    对于这些模式的关系之间的理解,用一张图便能清楚的理解了:
    在这里插入图片描述
    当然vim还有其他的模式。

    2.2 vim的基本操作

    • 进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面:
      (这里值得说的是,进入之后是处于[命令模式],你要切换到[插入模式]才能够输入文字)
     vim test.c
    
    • 1

    在这里插入图片描述

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

    在这里插入图片描述

    • [插入模式]切换至[正常模式]

    目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。

    • [正常模式]切换至[末行模式]
      「shift + ;」, 其实就是输入「:」
      在这里插入图片描述
    • 退出vim及保存文件,在[正常模式]下,按一下「:」冒号键进入「Last line mode」,例如:
      : w (保存当前文件)
      :w!(输入w!,强制保存当前文件)
      : wq (输入「wq」,存盘并退出vim)
      : q! (输入q!,不存盘强制退出vim)

    在这里插入图片描述
    总结:无论哪种模式,无脑ESC即可退回命令模式

    2.3 命令模式

    命令模式模式:各种命令,能够提高编辑效率。
    vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。

    以下动图演示

    2.3.1 光标定位

    shift+4($):定位到当前行的末尾
    在这里插入图片描述
    shift+6(^):定位到当前行的开头
    在这里插入图片描述
    shift+g / G:定位到当前文件的底部
    在这里插入图片描述
    gg:定位到当前文件的顶部
    在这里插入图片描述
    n+shift+g跳转到指定行,n代表的是行号

    对于h:左 j:下(假想为jump) k:上(假想为king) l:右

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

    2.3.2 文本复制

    光标所在行:

    yy:复制(nyy)支持对光标所在行,进行多行复制
    p:粘贴(n p)支持多行粘贴
    dd:删除光标所在行(ndd)支持多行删除
    dd+p:剪切操作
    u:撤销
    ctrl+r:取消u操作

    • yy+p
      在这里插入图片描述

    • yy+5+p
      在这里插入图片描述

    • dd
      在这里插入图片描述

    • 5+dd
      在这里插入图片描述

    • dd+p
      在这里插入图片描述
      当然dd+p也支持n+dd+p 和 dd+n+p 就不演示了(各位看官可以尝试一下)

    • 补充

    w:向后按单词移动
    b:先前按单词移动

    2.4 插入模式

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

    2.5 底行模式

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

    2.5.1 调用和取消行号

    set nu/nonu调出和取消行号
    在这里插入图片描述
    在这里插入图片描述

    • 分屏
      无论分多少屏,光标都只有一个。光标的意义在于选中的行或者屏幕。

    在这里插入图片描述
    光标跨屏:ctrl+ww(注意后面光标的闪动)
    在这里插入图片描述
    保持退出后,我们仍然可以看到test1.c:
    在这里插入图片描述

    2.5.2 底行!

    在底行模式中,不需要退出vim,只需要加上!强制执行即可执行shell指令
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    2.5.3 底行替换命令

    我们只需要:%s/需要替换/替换后的/g
    在这里插入图片描述

    2.6 vim操作总结

    • 三种模式

      • 命令模式
      • 插入模式
      • 底行模式
    • 一共有12种总模式

    • vim操作

    打开,关闭,查看,查询,插入,删除,替换,撤销,复制等等操作。

    3.简单vim配置

    没有配置的vim用起来其实和记事本并没有多大的区别,都不能自动补齐缩进,那么我们就要对vim进行配置。
    vim的配置是一人一份的,一个用户配置的是自己的并不影响别人。每个人虽然用的是同一个vim程序,但是大家用的是vim不同的配置(每个用户在自己的家目录下都有属于自己的配置文件)

    我们需要创建.vimrc文件,并在自己的.vimrc文件中添加一系列的命令,充当于vim的配置文件。所谓的vim的基本配置,就是修改自己的vimrc!

    但是接下来的问题是配置vim比较麻烦,配置的东西比较多,我们并不知道需要配置哪些,所以我们直接在家目录下执行一键配置的命令即可:

    curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
    
    • 1

    在这里插入图片描述
    至此,配置完成。
    默认缩进是两个空格,想改变的话可以打开.vimrc对其进行修改:
    在这里插入图片描述
    就完成了vim的基本配置

    4.sudo权限问题

    在学习 文件权限 的时候我们提到可以用 sudo 指令来对普通用户进行提权,从而使得普通用户可以以root用户的身份去执行指令,但是前提是该用户必须是受信任的用户,即该用户必须处于 sudoers 文件中。
    在这里插入图片描述
    那么可以通过vim指令,在sudoers上添加普通用户,开通普通用户提权收限制的问题。

    第一、切换成root用户。输入命令

    ls /etc/sudoers
    
    • 1

    一定存在这个文件
    **第二、通过vim打开sudoers

    vim /etc/sudoers
    
    • 1

    在这里插入图片描述
    添加自己的用户名到这个地方
    在这里插入图片描述
    然后就是退出环节,如果直接wq会报错,所以我们直接强制w!回车,q!回车进行配置。至此,将自己的用户名添加到了可以提权sudo的名单里。

    在这里插入图片描述

    5.写在最后

    那么yum和vim就到这里了,当然了yum和vim的命令和知识点还有很多,这里就不一一讲解了,感兴趣的同学可以看一下大佬的文章: Vim 从入门到精通 | 简明 VIM 练级攻略
    由于root的权限过大,为了防止不小心删掉根目录等成本巨大操作,也为了适应以后工作的环境(毕竟以后在公司工作不可能给你一个root用户,而是一个普通用户),我们也应该摒弃root用户的使用,开始我们自己创建的普通用户之旅。开一个普通用户的操作在 Linux环境搭建与登陆 中有详细讲解。
    那么下一期见了。

  • 相关阅读:
    [算法刷题笔记]二叉树练习(2):对称二叉树有关的练习
    红蓝对抗闭环操作流程简单梳理和介绍
    flutter web 中嵌入一个html
    2022-09-05 C++并发编程(十九)
    如何快速掌握Vuex
    上海IB国际学校介绍
    Python之魔幻切片——万物可切(只要是序列对象)。负整数步长一出,序列瞬间倒置,可以玩儿更多花样。
    【慕课C#学习笔记】第一章: 走进C#
    etcd cli选举流程
    C++中指针的概念和声明
  • 原文地址:https://blog.csdn.net/m0_68931081/article/details/127409955