IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 【Linux详解】——yum与vim的基本使用 -> 正文阅读

[开发工具]【Linux详解】——yum与vim的基本使用

📖 前言:本期我们将学习yum软件包管理器与vim编辑器的使用。


🕒 1. yum 介绍

在这里插入图片描述

在不同的Linux系统中,yum会内置对应下载链接,由于大部分开源软件服务器均架设在国外,访问速度通常不理想,因此国内部分企业和高校会搭建镜像网站以供国内用户下载,使Linux生态本土化。所以如果使用虚拟机的同学会发现yum源是国外的,而云服务器的都是已经配置好国内yum源的。

🔎 修改yum源为国内镜像教程

查看当前系统的yum源:ls /etc/yum.repos.d/

CentOS-Base.repo  CentOS-Epel.repo  epel.repo  epel-testing.repo

🔎 清华大学开源软件镜像站

配置非官方源
有些软件没有被纳入centos、Ubuntu等相关生态平台的官方软件集合中,因此可以自行配置yum非官方源
安装指令:yum install -y epel-release

🕘 1.1 安装软件

语法yum install [-y] [软件包]
请添加图片描述

yum在安装软件的时候,会自动解决软件和软件之间的耦合问题,比如安装A软件,与之相互依赖的软件都会一并安装上。

🕘 1.2 查看软件包

通过 yum list 命令可以罗列出当前一共有哪些软件包. 由于包的数目可能非常之多, 这里我们需要使用 grep 命令只筛选出我们关注的包,例如:

[root@VM-12-13-centos ~]# yum list | grep lrzsz
Repository epel is listed more than once in the configuration
lrzsz.x86_64                             0.12.20-36.el7                @os  

注意事项:

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

关于 rzsz
这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件。
安装完毕之后可以通过拖拽的方式将文件上传过去。
上传:rz
下载:sz+文件名

当然还有另一种方式(如下),它会列出软件包的介绍信息

[root@VM-12-13-centos ~]# yum search lrzsz
Loaded plugins: fastestmirror, langpacks
Repository epel is listed more than once in the configuration
Loading mirror speeds from cached hostfile
====================================== N/S matched: lrzsz =======================================
lrzsz.x86_64 : The lrz and lsz modem communications programs

  Name and summary matches only, use "search all" for everything.

🕘 1.3 卸载软件

yum remove [软件名]

🕒 2. vim 介绍

假设一个情景,你有个朋友看你学的挺好,于是跟你产生以下对话:
朋友:你的代码在哪写的?环境是什么?
你:VS2019
朋友:那你调试代码怎么调呢?
你:调试?也是VS2019
朋友:那你编译程序的时候在哪里编呢?
你:VS2019嘛
朋友:运行程序怎么运行呢?
你:VS2019…

综上对话,我们也不难意识到,这个VS2019,其实就是集成开发环境。
但是在Linux可就没有这么友好了,上述各功能都是分别由各个软件负责的。

本期我们先学习Linux的编辑器——vim
目前和Windows下的记事本几乎没有区别。

🕘 2.1 基本概念

现阶段我们掌握vim的三种模式即可,分别是命令模式(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.

🕘 2.2 正常模式命令集

🕤 2.2.1 插入模式(insert mode)

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

🕤 2.2.2 移动光标

  • vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。
    在这里插入图片描述

  • 按「G」:移动到文章的最后

  • 按「$」:移动到光标所在行的“行尾”

  • 按「^」:移动到光标所在行的“行首”

  • 按「w」:光标跳到下个字的开头

  • 按「e」:光标跳到下个字的字尾

  • 按「b」:光标回到上个字的开头

  • 按「#l」:光标移到该行的第#个位置,如:5l,56l

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

  • 按[#G]:跳转光标到第#行

  • 按「ctrl」+「g」列出光标所在行的行号。

  • 按「ctrl」+「b」:屏幕往“后”移动一页

  • 按「ctrl」+「f」:屏幕往“前”移动一页

  • 按「ctrl」+「u」:屏幕往“后”移动半页

  • 按「ctrl」+「d」:屏幕往“前”移动半页

🕤 2.2.3 删除文字

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

🕤 2.2.4 复制

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

🕤 2.2.5 替换模式

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

🕤 2.2.6 撤销上一次操作

  • 「u」:如果你误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
  • 「ctrl + r」: 撤销的恢复

🕤 2.2.7 更改

  • 「cw」:更改光标所在处的字到字尾处
  • 「c#w」:例如,「c3w」表示更改3个字

🕤 2.2.8 大小写互转

  • 「~」:大写转小写,或者小写转大写

🕘 2.3 底行模式命令集

🕤 2.3.1 列出行号

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

🕤 2.3.2 分屏

  • 「vs」:分屏 (注意:无论我们分几个屏,光标只有一个,它代表我们正在对哪个屏幕进行操作);
    在这里插入图片描述

  • 「ctrl + ww」:切换光标到不同屏幕 (注:此指令在命令模式下执行);

🕤 2.3.3 跳到文件中的某一行

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

🕤 2.3.4 查找字符

  • 「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
  • 「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

🕤 2.3.5 不离开vim的前提下执行shell指令

  • 「! + 指令」:执行完按q退出

🕤 2.3.6 替换文本

  • 「%s/printf/cout/g」:把printf替换为cout

🕤 2.3.7 保存文件

  • 「w」: 在冒号输入字母「w」就可以将文件保存起来

🕤 2.3.8 离开vim

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

🕘 2.4 简单vim配置

上述过程中的vim与记事本差别不大,并没有像vs一样的缩进等功能,因此我们就需要配置vim,一般需要创建.vimrc文件,并在.vimrc文件中插入一系列的命令,这一系列的命令就相当于vim的配置文件。对于这样配置,事实上没多少技术含量,只是非常麻烦,会需要很长时间(因为需要配置的命令多)。对于vim的配置问题,用户之间并不会彼此影响,即在同一台机器下,每一个用户的家目录的.vimrc都是独立的,即便是root也不会影响普通用户。到后期我们编辑代码也很少用vim了,因此不必花费太多时间。

所谓的vim配置,就是修改自己的.vimrc(没有.vimrc就自己在家目录中touch一个)

因此在这里我们只需要在家目录中执行此命令便可以进行一键配置:

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

在这里插入图片描述
对于此配置,默认缩进是两个空格,如果想修改里面配置的参数变成4个空格,我们就可以返回到家目录,打开.vimrc之后输入/2搜索到并如图修改。
在这里插入图片描述

🕒 3. sudo权限的配置

在之前的文章中,我们都因为没有sudo权限从而必须通过登陆root才能进行root的相关操作,这里将讲解关于提权的配置方法使普通用户通过sudo就可以拥有root的权限。

在配置之前,我们通过sudo命令会出现这样的错误:

[hins@VM-12-13-centos testLinux]$ sudo ls
[sudo] password for hins: 
hins is not in the sudoers file.  This incident will be reported.

🕘 3.1 配置步骤

步骤1: 切换成root用户
步骤2: 通过vim打开sudoers

vim /etc/sudoers

定位到如图所示的位置添加自己的用户
在这里插入图片描述
最后在底行模式下w! 回车,q!回车。(强制修改)就配置完成了!

[hins@VM-12-13-centos ~]$ sudo ls
[sudo] password for hins: 
install.sh  testLinux

验证一下,可以看到命令正常执行了,说明我们配置已经完成。


OK,以上就是本期知识点“yum与vim的基本使用”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误?,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-10-31 12:20:15  更:2022-10-31 12:22:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 3:28:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计