Linux加强篇-Vim编辑器

目录

⛳️推荐

Vim文本编辑器

编写简单文档

配置主机名称

配置网卡信息

配置软件仓库


⛳️推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

Vim文本编辑器

在Linux系统中一切都是文件,而配置一个服务就是在修改其配置文件的参数,Vim编辑器中设置了3种模式—命令模式、末行模式和编辑模式,每种模式分别又支持多种不同的命令快捷键。

命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。

输入模式:正常的文本录入。

末行模式:保存或退出文档,以及设置编辑环境。

image

在每次运行Vim编辑器时,默认进入命令模式,此时需要先切换到输入模式后再进行文档编写工作。而每次在编写完文档后需要先返回命令模式,然后再进入末行模式,执行文档的保存或退出操作。在Vim中,无法直接从输入模式切换到末行模式。

命令模式中最常用命令

命令作用
dd删除(剪切)光标所在整行
5dd删除(剪切)从光标处开始的5行
yy复制光标所在整行
5yy复制从光标处开始的5行
n显示搜索命令定位到的下一个字符串
N显示搜索命令定位到的上一个字符串
u撤销上一步的操作
p将之前删除(dd)或复制(yy)过的数据粘贴到光标后面

末行模式主要用于保存或退出文件,以及设置Vim编辑器的工作环境,还可以让用户执行外部的Linux命令或跳转到所编写文档的特定行数。要想切换到末行模式,在命令模式中输入冒号

 末行模式中最常用命令

命令作用
:w保存
:q退出
:q!强制退出(放弃对文档的修改内容)
:wq!强制保存退出
:set nu显示行号
:set nonu不显示行号
:命令执行该命令
:整数跳转到该行
:s/one/two将当前光标所在行的第一个one替换成two
:s/one/two/g将当前光标所在行的所有one替换成two
:%s/one/two/g将全文中的所有one替换成two
?字符串在文本中从下至上搜索该字符串
/字符串在文本中从上至下搜索该字符串

编写简单文档

编写脚本文档

[root@localhost ~]# vim test.txt

打开文档后,默认进入的是Vim编辑器的命令模式。

image.png

使用a、i、o三个键从命令模式切换到输入模式,a键与i键分别是在光标后面一位和光标当前位置切换到输入模式,而o键则是在光标的下面再创建一个空行。

image.png

在编写完之后,要想保存并退出,必须先敲击键盘的Esc键从输入模式返回命令模式,然后再输入“:wq!”切换到末行模式才能完成保存退出操作。

image.png

配置主机名称

在Linux系统中,主机名大多保存在/etc/hostname文件中,将文件内容改为“weihongbin”

第1步:使用Vim编辑器修改/etc/hostname主机名称文件。

第2步:把原始主机名称删除后追加“weihongbin”。注意,使用Vim编辑器修改主机名称文件后,要在末行模式下执行“:wq!”命令才能保存并退出文档。

第3步:保存并退出文档,然后使用hostname命令检查是否修改成功。

[root@localhost ~]# vim /etc/hostname

image.png

[root@localhost ~]# systemctl restart systemd-hostnamed

[root@localhost ~]# hostname

weihongbin

配置网卡信息

名称为ifcfg-ens160的网卡设备,将其配置为开机自启动,并且IP地址、子网、网关等信息由人工指定(动态网卡转为静态网卡)。

第1步:首先切换到/etc/sysconfig/network-scripts目录中(存放着网卡的配置文件)。

第2步:使用Vim编辑器修改网卡文件ifcfg-ens160,逐项写入下面的配置参数并保存退出。由于每台设备的硬件及架构是不一样的,因此请读者使用ifconfig命令自行确认各自网卡的默认名称。

踩坑大集锦

提前先查一下自己的虚拟网络是什么网关,不要跟我写的一样导致ping: www.baidu.com: Name or service not known连不上网,选择虚拟网络编辑器

image.png

进入虚拟网络编辑器,取消DHCP,同时选择NAT设置,将网关改成192.168.227.2

image.png

image.png

修改vm8的网关,搜索控制面板\网络和 Internet\网络连接,选择vm8,右击属性,选IPV4,属性

image.png

image.png

配置一下IP地址,和默认网关,IP地址选192.168.227.1,默认网关选192.168.227.2,dns首选8.8.8.8

image.png

这时候我们看一下我们的本机主机,通过win+R命令,输入cmd进入命令符,输入ipconfig

image.png

配置完成,然后看一下以下这几个概念

设备类型:TYPE=Ethernet

地址分配模式:BOOTPROTO=static

网卡名称:NAME=ens160

是否启动:ONBOOT=yes

IP地址:IPADDR=192.168.227.10

子网掩码:NETMASK=255.255.255.0

网关地址:GATEWAY=192.168.227.1

DNS地址:DNS1=192.168.227.1

DNS地址:DNS2=8.8.8.8

第3步:重启网络服务并测试网络是否连通。

进入到网卡配置文件所在的目录,然后编辑网卡配置文件,在其中填入下面的信息(红色为修改或添加部分),默认我们的虚拟机是192.168.227.10,你们也可以设置其他的:

[root@localhost ~]# cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# vim ifcfg-ens160  

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

NAME=ens160

UUID=83230184-678e-4b11-b50c-20e37b235a70

DEVICE=ens160

ONBOOT=yes

IPADDR=192.168.227.10

NETMASK=255.255.255.0

GATEWAY=192.168.227.2

DNS1=192.168.227.1

DNS2=8.8.8.8

重启reboot(如果你现在是在用xshell连接建议先断开连接后重新接入新的ip地址再试)

不想重启可以执行:

systemctl restart NetworkManagernmcli connection reload ens160

[root@weihongbin ~]# ping 192.168.227.10

PING 192.168.227.10 (192.168.227.10) 56(84) bytes of data.

64 bytes from 192.168.227.10: icmp_seq=1 ttl=64 time=0.080 ms

64 bytes from 192.168.227.10: icmp_seq=2 ttl=64 time=0.048 ms

[root@localhost network-scripts]# ping www.baidu.com

PING www.a.shifen.com (220.181.38.149) 56(84) bytes of data.

64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=1 ttl=128 time=5.71 ms

64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=2 ttl=128 time=5.28 ms

64 bytes from 220.181.38.149 (220.181.38.149): icmp_seq=3 ttl=128 time=5.72 ms

配置软件仓库

软件仓库是一种能进一步简化RPM管理软件的难度以及自动分析所需软件包及其依赖关系的技术,搭建并配置软件仓库的大致步骤如下所示

第1步:进入/etc/yum.repos.d/目录中(因为该目录存放着软件仓库的配置文件,红色为添加字段)。

image.png

第2步:使用Vim编辑器创建一个名为rhel8.repo的新配置文件(文件名称可随意,但后缀必须为.repo),逐项写入下面的配置参数并保存退出。

仓库名称:具有唯一性的标识名称,不应与其他软件仓库发生冲突。

描述信息(name):可以是一些介绍性的词,易于识别软件仓库的用处。

仓库位置(baseurl):软件包的获取方式,可以使用FTP或HTTP下载,也可以是本地的文件(需要在后面添加file参数)。

是否启用(enabled):设置此源是否可用;1为可用,0为禁用。

是否校验(gpgcheck):设置此源是否校验文件;1为校验,0为不校验。

公钥位置(gpgkey):若上面的参数开启了校验功能,则此处为公钥文件位置。若没有开启,则省略不写。

[root@weihongbin yum.repos.d]# vim rhel8.repo

[BaseOS]

name=BaseOS

baseurl=file:///media/cdrom/BaseOS

enabled=1

gpgcheck=0

[AppStream]

name=AppStream

baseurl=file:///media/cdrom/AppStream

enabled=1

gpgcheck=0

第3步:按配置参数中所填写的仓库位置挂载光盘,并把光盘挂载信息写入/etc/fstab文件中(红色添加)。

[root@weihongbin yum.repos.d]# mkdir -p /media/cdrom

[root@weihongbin yum.repos.d]# mount /dev/cdrom /media/cdrom

mount: /media/cdrom: WARNING: device write-protected, mounted read-only.

[root@weihongbin yum.repos.d]# vim /etc/fstab

#  

# /etc/fstab

# Created by anaconda on Mon Nov  6 11:06:38 2023

#

# Accessible filesystems, by reference, are maintained under '/dev/disk/'.

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.

#

# After editing this file, run 'systemctl daemon-reload' to update systemd

# units generated from this file.

#

UUID=147464a6-27ee-477f-8dfd-0c157a0aabc7 /                       xfs     defaults        0 0

UUID=b7107860-5e6f-4ff5-abb3-880ab7e6caca /boot                   xfs     defaults        0 0

UUID=1396ecbf-4d87-4e65-898b-28048721d05e none                    swap    defaults        0 0

/dev/cdrom /media/cdrom iso9660 defaults 0 0

第4步:修改以下配置网址,使用“dnf install httpd -y”命令检查软件仓库是否已经可用。

[root@localhost yum.repos.d]# sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*

[root@localhost yum.repos.d]# sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

[root@localhost yum.repos.d]# yum makecache

[root@localhost ~]# dnf install httpd -y

完成配置仓库,安装源相当于官方应用商店,三方源就相当于官方以外的应用商店。

这里要着重聊一下,通过阿里系的也可以配置仓库:阿里云镜像

##配置Linux软件安装源

curl -s -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

##配置第三方源epel

curl -s -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/2239.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重磅发布 | 《网络安全专用产品指南》(第一版)

2017年6月1日,《中华人民共和国网络安全法》正式实施,明确规定“网络关键设备和网络安全专用产品应当按照相关国家标准的强制性要求,由具备资格的机构安全认证合格或者安全检测符合要求后,方可销售或者提供。国家网信部门会同国务…

MySQL 基础语法(3)

文章目录 SELECT 语句WHERE 语句ORDER BYLIMIT 语句UPDATAE 语句DELETE 语句TRUNCATE插入查询结果聚合函数 本文内容主要是表数据查询的基本语法 库结构基础语法 表结构基础语法 SELECT 语句 全列查询 SELECT * FROM 表名;生产情况下几乎不能用,会导致MySQL服务器…

区区几行Python代码,就能实现全面自动探索性数据分析!

探索性数据分析是数据科学模型开发和数据集研究的重要组成部分之一。在拿到一个新数据集时首先就需要花费大量时间进行EDA来研究数据集中内在的信息。自动化的EDA Python包可以用几行Python代码执行EDA。在本文中整理了10个可以自动执行EDA并生成有关数据的见解的Python包&…

Java -- (part17)

一.等待唤醒 wait():线程等待,等待的过程中,释放锁,需要其他线程用notify去唤醒 notify():唤醒一个等待的线程,如果有多个线程等待,随机一条唤醒 notifyAll():唤醒所有等待的线程 二.Lock锁 1.概述 接口 2.使用 a.获取:ReentrantLock b.方法 lock():获取锁 unlock()…

ROM修改进阶教程------安卓7_____安卓13去除签名验证操作步骤解析

同类博文: 安卓玩机搞机技巧综合资源-----修改rom 制作rom 解包rom的一些问题解析【二十一】_qcn改区域锁-CSDN博客 安卓系列机型rom修改。如果你删减了系统相关的app。那么严重会导致开机系统卡米 定屏等问题。这类一般都是系统签名验证导致的。而破解签名验证一般都是修改…

API接口的用途以及接入示例

API接口的主要用途是允许不同的软件系统之间进行通信和数据交换。具体来说,API接口可以用于以下几个方面: 数据传输和交换:API接口可以用于不同系统之间的数据传输和交换,例如将数据从一个系统传递到另一个系统,或者从…

【springBoot】资源文件的变量替换

在Spring Boot项目中,可以从application.yml或application.properties中获取pom.xml中定义的变量。为了实现在application.yml中使用pom.xml中的属性,通常需要在构建过程中将这些属性注入到资源文件中。以下是实现这一目标的几种方法: 方法1…

component-全局透明遮罩层与点击遮罩层关闭

1.创建Overlay.vue的全局组件或子组件&#xff0c;用于显示透明遮罩层。 <template><div class"overlay" click"closeOverlay"></div></template><script>export default {methods: {closeOverlay() {// 子组件调用父组件方…

【office安装错误1402或1406】

office安装错误1402或1406 错误如图 解决方法 打开autoremove&#xff0c;点击扩展&#xff0c;输入1402&#xff0c;点击搜索 等待修复成功&#xff0c;再尝试安装office 软件每周六选择其他登录方式可以免费使用

c++设计模式之观察者模式(消息订阅模式)

一&#xff0c;核心思想&#xff1a;消息订阅&#xff0c; 主题&#xff1a;subject 观察者&#xff1a;observe场景举例&#xff1a; 我&#xff08;observe&#xff09;关注抖音一条小团团&#xff08;subject&#xff09; 小团团一有动静&#xff0c;立马就推送给我场景举例…

Python学习1--变量和简单数据类型

本章练习&#xff1a; Python之禅&#xff1a;

RocketMQ快速入门:namesrv、broker、dashboard的作用及消息发送、消费流程(三)

0. 引言 接触rocketmq之后&#xff0c;大家首当其冲的就会发现需要安装3个组件&#xff1a;namesrv, broker, dashboard&#xff0c;其中dashboard也叫console&#xff0c;为选装。而这几个组件之前的关系是什么呢&#xff0c;消息发送和接收的过程是如何传递的呢&#xff0c;…

如何在Windows 10中打开和自定义搜索?这里提供详细步骤

使用Windows 10中的搜索功能&#xff0c;你可以快速查找计算机上的文件、应用程序或设置。在本文&#xff0c;你可以学习如何在Windows 10中打开和控制搜索。 打开Windows 10搜索面板 打开Windows 10搜索面板很容易。通常&#xff0c;你可以在任务栏上找到搜索图标。只需单击…

如何在PostgreSQL中创建一个新的数据库,并指定所有者?

文章目录 解决方案示例代码 PostgreSQL是一个强大的开源关系型数据库管理系统&#xff0c;它允许用户创建和管理多个数据库。在PostgreSQL中创建一个新的数据库并指定所有者是一个常见的操作。下面&#xff0c;我们将详细解释如何执行这一操作&#xff0c;并提供示例代码。 解…

【Linux】Shell脚本(文件操作)

在上一篇博客中&#xff0c;我分享了一些关于Shell编程的整理内容&#xff0c;希望能够为大家提供一些基础知识和入门指导。这次&#xff0c;我将继续和大家分享一些更具实用价值的Shell脚本示例&#xff0c;主要是以文件操作相关的内容。 批量重命名文件 #!/bin/bash# Functio…

灭火器检查记录卡模板如何制作

灭火器是常见的消防设备&#xff0c;为确保灭火器正常使用&#xff0c;需要定期对灭火器进行检查和维护&#xff1b;而灭火器检查记录卡就是用来记录灭火器检查的重要工具。然而传统的灭火器检查记录卡都是纸质的&#xff0c;哪怕我们采购多好多贵材质做的检查卡终归记录有限、…

Midjourney如何利用chaos控制生成图片的差异化

hello 小伙伴们&#xff0c;我是你们的老朋友——树下&#xff0c;今天分享Midjourney提示词常用参数——chaos&#xff0c;话不多说&#xff0c;直接开始~ chaos参数什么意思呢&#xff1f; 它可以用来控制我们生成图片之间的差异化程度的一个参数 通常我们在用Midjourney生…

K8s: 控制器之ReplicaSet对象

ReplicaSet 控制副本 1 ) 概述 pod 是一个无状态的&#xff0c;并且可以被任意的按需的调度&#xff0c;在各个work node上运行的组件 谁来控制这类调度就变得非常复杂&#xff0c;不可能去手工的去维护某一个pod的一个运行实例 如果那样的话呢&#xff0c;它就失去了容器的概…

proxy的应用实例

习题一 实现下面例子中的效果&#xff0c;需要怎么做&#xff1f; var arr [a, b, c, d, e, f]; console.log(a a.a a.a.a a.a.a.a a.a.a.a.a); // abcdef看到a a.a a.a.a a.a.a.a a.a.a.a.a的形式&#xff0c;第一个出现的解决办法就是&#xff1a;Proxy代理。其次…

LateX的基础学习

what can i say 在text.tex中写下 \documentclass{article} \begin{document]Hello \LaTeX. \end{document} 关闭记事本&#xff0c;cmd中dir保存&#xff0c;用latex text.tex来编译&#xff0c;可以命令行慢慢编译&#xff0c;这可以做成bat文件 为什么不直接开始在texst…