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

大家好我是沐曦希

文章目录

  • 1.Linux 软件包管理器 yum
    • 1.1 什么是软件包
    • 1.2 第一个软件rzsz
  • 2.Linux编辑器-vim使用
    • 2.1 vim的基本概念
    • 2.2 vim的基本操作
    • 2.3 命令模式
      • 2.3.1 光标定位
      • 2.3.2 文本复制
    • 2.4 插入模式
    • 2.5 底行模式
      • 2.5.1 调用和取消行号
      • 2.5.2 底行!
      • 2.5.3 底行替换命令
    • 2.6 vim操作总结
  • 3.简单vim配置
  • 4.sudo权限问题
  • 5.写在最后

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 命令来筛选出我们关注的软件包;如:
【Linux】软件包管理器yum和编辑器vim(内附动图)_第1张图片
如何安装软件包
通过 yum, 我们可以通过很简单的一条命令完成简单安装. (关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!! 对于云服务器来说,没网络登录都登录不了,就不需要考虑了)
出现 “complete” 字样, 说明安装完成

root用户下安装命令:

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

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

sudo yum install
sudo yum install -y

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

sudo yum install sl

【Linux】软件包管理器yum和编辑器vim(内附动图)_第2张图片

sudo yum install -y sl

【Linux】软件包管理器yum和编辑器vim(内附动图)_第3张图片
sl命令演示:

sl

【Linux】软件包管理器yum和编辑器vim(内附动图)_第4张图片
如何卸载软件
root用户卸载软件命令:

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

当然普通用户是没有权限去卸载软件包,只有root有权安装和卸载软件包
【Linux】软件包管理器yum和编辑器vim(内附动图)_第5张图片

1.2 第一个软件rzsz

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

先验证是否联网:

ping www.baidu.com

查看软件包:

yum list | grep rzsz

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

sudo yum install -y lrzsz.x86_64

从Windows上传软件到Linux下

rz

在这里插入图片描述
【Linux】软件包管理器yum和编辑器vim(内附动图)_第6张图片
【Linux】软件包管理器yum和编辑器vim(内附动图)_第7张图片

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

把Linux的文件下载Windows下:sz
【Linux】软件包管理器yum和编辑器vim(内附动图)_第8张图片

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

yum install -y epel-release

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

2.Linux编辑器-vim使用

【Linux】软件包管理器yum和编辑器vim(内附动图)_第9张图片
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

对于这些模式的关系之间的理解,用一张图便能清楚的理解了:
【Linux】软件包管理器yum和编辑器vim(内附动图)_第10张图片
当然vim还有其他的模式。

2.2 vim的基本操作

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

【Linux】软件包管理器yum和编辑器vim(内附动图)_第11张图片

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

【Linux】软件包管理器yum和编辑器vim(内附动图)_第12张图片

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

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

  • [正常模式]切换至[末行模式]
    「shift + ;」, 其实就是输入「:」
    【Linux】软件包管理器yum和编辑器vim(内附动图)_第13张图片
  • 退出vim及保存文件,在[正常模式]下,按一下「:」冒号键进入「Last line mode」,例如:
    : w (保存当前文件)
    :w!(输入w!,强制保存当前文件)
    : wq (输入「wq」,存盘并退出vim)
    : q! (输入q!,不存盘强制退出vim)

【Linux】软件包管理器yum和编辑器vim(内附动图)_第14张图片
总结:无论哪种模式,无脑ESC即可退回命令模式

2.3 命令模式

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

以下动图演示

2.3.1 光标定位

shift+4($):定位到当前行的末尾
【Linux】软件包管理器yum和编辑器vim(内附动图)_第15张图片
shift+6(^):定位到当前行的开头
【Linux】软件包管理器yum和编辑器vim(内附动图)_第16张图片
shift+g / G:定位到当前文件的底部
【Linux】软件包管理器yum和编辑器vim(内附动图)_第17张图片
gg:定位到当前文件的顶部
【Linux】软件包管理器yum和编辑器vim(内附动图)_第18张图片
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
    【Linux】软件包管理器yum和编辑器vim(内附动图)_第19张图片

  • yy+5+p
    【Linux】软件包管理器yum和编辑器vim(内附动图)_第20张图片

  • dd
    【Linux】软件包管理器yum和编辑器vim(内附动图)_第21张图片

  • 5+dd
    【Linux】软件包管理器yum和编辑器vim(内附动图)_第22张图片

  • dd+p
    【Linux】软件包管理器yum和编辑器vim(内附动图)_第23张图片
    当然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调出和取消行号
【Linux】软件包管理器yum和编辑器vim(内附动图)_第24张图片
【Linux】软件包管理器yum和编辑器vim(内附动图)_第25张图片

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

【Linux】软件包管理器yum和编辑器vim(内附动图)_第26张图片
光标跨屏:ctrl+ww(注意后面光标的闪动)
【Linux】软件包管理器yum和编辑器vim(内附动图)_第27张图片
保持退出后,我们仍然可以看到test1.c:
【Linux】软件包管理器yum和编辑器vim(内附动图)_第28张图片

2.5.2 底行!

在底行模式中,不需要退出vim,只需要加上!强制执行即可执行shell指令
【Linux】软件包管理器yum和编辑器vim(内附动图)_第29张图片
【Linux】软件包管理器yum和编辑器vim(内附动图)_第30张图片
【Linux】软件包管理器yum和编辑器vim(内附动图)_第31张图片

【Linux】软件包管理器yum和编辑器vim(内附动图)_第32张图片

2.5.3 底行替换命令

我们只需要:%s/需要替换/替换后的/g
【Linux】软件包管理器yum和编辑器vim(内附动图)_第33张图片

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

【Linux】软件包管理器yum和编辑器vim(内附动图)_第34张图片
至此,配置完成。
默认缩进是两个空格,想改变的话可以打开.vimrc对其进行修改:
在这里插入图片描述
就完成了vim的基本配置

4.sudo权限问题

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

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

ls /etc/sudoers

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

vim /etc/sudoers

【Linux】软件包管理器yum和编辑器vim(内附动图)_第35张图片
添加自己的用户名到这个地方
在这里插入图片描述
然后就是退出环节,如果直接wq会报错,所以我们直接强制w!回车,q!回车进行配置。至此,将自己的用户名添加到了可以提权sudo的名单里。

在这里插入图片描述

5.写在最后

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

你可能感兴趣的:(Linux零基础学习,linux,编辑器,vim)