1.Vim文本编辑器
Vim英文全称为 Vi Improved,Vim 之所以能得到广大厂商与用户的认可,原因在于 Vim 编辑器中设置了 3 种模式—命令模式、末行模式和编辑模式,每种模式分别又支持多种不同的命令快捷键,这大大提高了工作效率,而且用户在习惯之后也会觉得相当顺手。要想高效地操作文本,就必须先搞清这 3 种模式的操作区别以及模式之间的切换方法。
➢ 命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。
➢ 输入模式:正常的文本录入。
➢ 末行模式:保存或退出文档,以及设置编辑环境。

在每次运行 Vim 编辑器时,默认进入命令模式,此时需要先切换到输入模式后再进行文档编写工作。而每次在编写完文档后需要先返回命令模式,然后再进入末行模式,执行文档的保存或退出操作。在 Vim 中,无法直接从输入模式切换到末行模式。Vim 编辑器中内置的命令有成百上千种用法,命令模式中最常用的一些命令如下:

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


(1)编写简单文档
编写脚本文档的第 1 步就是给文档取个名字,这里将其命名为 practice.txt。如果存在该文档,则是打开它。如果不存在,则是创建一个临时的输入文件:
[root@localhost Desktop]# vim practice.txt
界面直接跳转到Vim编辑器的命令模式,。此时只能执行该模式下的命令,而不能随意输入文本内容。我们需要切换到输入模式才可以编写文档。可以分别使用 a、i、o 这 3 个键从命令模式切换到输入模式。其中,a键与 i 键分别是在光标后面一位和光标当前位置切换到输入模式,而 o 键则是在光标的下面再创建一个空行,此时可敲击 a 键进入编辑器的输入模式:

进入输入模式后,可以随意输入文本内容,Vim 编辑器不会把您输入的文本内容当作命令而执行:

在编写完之后,要想保存并退出,必须先敲击键盘的 Esc 键从输入模式返回命令模式,然后再输入“:wq!”切换到末行模式才能完成保存退出操作。(注:注意观察界面左下角的提示信息,在不同模式下有不同的提示字样)
然后可以使用cat命令查看保存后的文档内容:
[root@localhost ~]# cat practice.txt
Welcome to Vim World!
[root@localhost ~]#
继续编辑这个文档。因为要在原有文本内容的下面追加内容,所以在命令模式中敲击 o 键进入输入模式更会高效:

因为此时已经修改了文本内容,所以 Vim 编辑器在我们直接使用:q尝试直接退出文档而不保存的时候就会拒绝我们的操作了。此时只能强制退出:q!才能结束本次输入操作,在次使用cat命令查看能容,发现追加的内容没有保存。
(2)配置主机名称
在 Linux系统中,主机名大多保存在/etc/hostname 文件中,接下来将/etc/hostname 配置文件的内容修改为“linuxprobe.com”,步骤如下:
第一步:使用 Vim 编辑器修改/etc/hostname 主机名称文件。
第二步:把原始主机名称删除后追加“linuxprobe.com”。注意,使用 Vim 编辑器修改主机名称文件后,要在末行模式下执行“:wq!”命令才能保存并退出文档。
第三步:保存并退出文档,然后使用 hostname 命令检查是否修改成功
[root@localhost ~]# vim /etc/hostname
[root@localhost ~]# hostname
linuxprobe.com
(3)配置网卡信息
在 RHEL 5、RHEL 6 中,网卡配置文件的前缀为 eth,第 1 块网卡为eth0,第 2 块网卡为 eth1;以此类推。在 RHEL 7 中,网卡配置文件的前缀则以 ifcfg 开始,再加上网卡名称共同组成了网卡配置文件的名字,例如 ifcfg-eno16777736。而在 RHEL 8 中,网卡配置文件的前缀依然为 ifcfg,区别是网卡名称改成了类似于 ens160 的样子,不过好在除了文件名发生变化外,网卡参数没有其他大的区别。(注:本人系统安装的是RHEL 7)
现在有一个名称为 ifcfg-eno16777728 的网卡设备,将其配置为开机自启动,并且 IP 地址、子网、网关等信息由人工指定,其步骤如下所示。
第一步:首先切换到/etc/sysconfig/network-scripts 目录中(存放着网卡的配置文件)。
第二步:使用 Vim 编辑器修改网卡文件 ifcfg-eno16777728,逐项写入下面的配置参数并保存退
出。由于每台设备的硬件及架构是不一样的,因此请读者使用 ifconfig 命令自行确认各自网卡
的默认名称。
这是RHEL 8网卡信息:
➢ 设备类型:TYPE=Ethernet
➢ 地址分配模式:BOOTPROTO=static
➢ 网卡名称:NAME=eno16777728
➢ 是否启动:ONBOOT=yes
➢ IP地址:IPADDR=192.168.10.10
➢ 子网掩码:NETMASK=255.255.255.0
➢ 网关地址:GATEWAY=192.168.10.1
➢ DNS地址:DNS1=192.168.10.1
[root@localhost network-scripts]# vim ifcfg-eno16777728
[root@localhost network-scripts]# cat ifcfg-eno16777728
HWADDR=00:0C:29:3A:DC:A2
TYPE=Ethernet
BOOTPROTO=static
NAME=eno16777728
ONBOOT=yes
IPADDR=192.168.10.10
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DNS1=192.168.10.1
第三步:重启网络服务并测试网络是否连通。 (注:当前网络是不通的,所以显示结果没有问题)
[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# ping 192.168.10.10
PING 192.168.10.10 (192.168.10.10) 56(84) bytes of data.
64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from 192.168.10.10: icmp_seq=2 ttl=64 time=0.035 ms
64 bytes from 192.168.10.10: icmp_seq=3 ttl=64 time=0.091 ms
64 bytes from 192.168.10.10: icmp_seq=4 ttl=64 time=0.058 ms
64 bytes from 192.168.10.10: icmp_seq=5 ttl=64 time=0.036 ms
64 bytes from 192.168.10.10: icmp_seq=6 ttl=64 time=0.036 ms
64 bytes from 192.168.10.10: icmp_seq=7 ttl=64 time=0.036 ms
64 bytes from 192.168.10.10: icmp_seq=8 ttl=64 time=0.035 ms
64 bytes from 192.168.10.10: icmp_seq=9 ttl=64 time=0.068 ms
64 bytes from 192.168.10.10: icmp_seq=10 ttl

最低0.47元/天 解锁文章
1085

被折叠的 条评论
为什么被折叠?



