没有合适的资源?快使用搜索试试~ 我知道了~
第4章 Vim编辑器与Shell命令脚本.docx
需积分: 13 1 下载量 12 浏览量
2023-03-21
14:36:53
上传
评论 1
收藏 88KB DOCX 举报
温馨提示
试读
22页
第4章 Vim编辑器与Shell命令脚本.docx
资源推荐
资源详情
资源评论
第 4 章 Vim 编辑器与 Shell 命令脚本
4.1 Vim 文本编辑器
vim 的工作模式(目前所处状态)
命令模式:可以快速移动光标,可以做复制、粘贴、删除等编辑操作,但是
不能在文本中输入内容。
插入模式:用于在文本中输入内容。
末行模式:只用于执行末行命令。
vim 工作模式的切换
Vim 文件名 命令模式
插入模式
末行模式
进入vim
退出vim
插入快捷键:a,A,i,I,o,O
命令
说明
a
在光标后插入文本
A
在光标所在行后插入文本
i
在光标前插入文本
I
在光标所在行前插入文本
o
在光标所在行下插入新行
O
在光标所在行上插入新行
移动光标快捷键(命令)
按位、单词、屏幕、文件、页面、特定字符等多个层级进行快速移动。
注:方向键、Home 键和 End 键功能有效。
命令
说明
h
光标向左移动一位
j
光标向下移动一位(以回车为换行单位)
k
光标向上移动一位
l
光标向右移动一位
H
光标移至屏幕首行
L
光标移至屏幕末行
gg
光标移至文件首行
G
光标移至文件末行
ngg(nG)
光标移至文件 n 行
^
光标移至当前行首字符
$
光标移至当前行末字符
fx
光标移至当前行的下一个 x 字符处
Fx
光标移至当前行的上一个 x 字符处
w
光标向右移动一个单词
nw
光标向右移动 n 个单词
b
光标向左移动一个单词
nb
光标向左动 n 个单词
ctrl+f
向下翻页
ctrl+b
向上翻页
快捷编辑键(命令)
命令
说明
rc
用字符 c 替换光标所指向的当前字符
nrc
用字符 c 替换光标所指向位置向右的前 n 个字符
x
删除光标当前字符
nx
删除从光标位置开始向右的 n 个字符
dd
删除光标当前行
ndd
删除从光标所在行后 n 行
dgg
删除光标行以前的所有内容(含光标所在行)
dG
删除光标行以后的所有内容(含光标所在行)
ggdG
删除所有内容
d$
删除从光标至行尾所有字符
d^
删除从光标至行首所有字符(不包含当前字符)
J
删除换行符,可以将两行合并为一行
u
撤销上一步操作,按多次可撤销多步操作
ctrl+r
恢复上一步撤销操作,按多次可以恢复多步
yy
复制光标当前行
nyy
复制从光标所在行后 n 行
p
粘贴至当前行之后
P
粘贴至当前行之前
q
开启记录功能:键盘输入 qa(第二个字母可以为 a 到 z 的任意一个字母)进入文件
记录功能,然后输入 i 进入编辑状态输入内容,输入完成后按 ESC 进入命令模式,
再按 q 退出记录功能,将光标定位到要插入文件的位置,然后在命令模式输入 n@
a,可将 a 中记录内容快速插入 n 次。(注:@a 是执行刚才记录的动作,a 就是刚
开始输入 qa 时候的 a)
末行命令(末行模式)
命令
说明
:q!
不保存退出
:wq
保存并退出
:wq!
保存并强制退出
:w
保存不退出
:w file
另存到文件 file
:r file
从文件 file 中读入
:e file
编辑 file 文件
:/word
从光标位置向下查找 word,输入 n 跳转到下一个匹配的关
键词,N 跳转都上一个匹配的关键词
:?word
从光标位置向上查找 word,输入 n 跳转到上一个匹配的关
键词,N 跳转到下一个匹配的关键词
:set nu
在文本前面显示行号
:set nonu
取消行号显示
:s/word1/word2
将当前光标所在行的第一个 word1 替换成 word2
:s/word1/word2/g
将当前光标所在行的所有 word1 替换成 word2
:%s/word1/word2/g
将所有行的 word1 替换为 word2
vi/vim 键盘图
4.1.1 编写简单文档
(1)使用 vim 在/root 下创建一个名为 vimfile 的文档;
[root@localhost ~] vim /root/vimfile #使用 vim 打开新文件/root
/vimfile,进入到 vim 环境中的命令
(2)在该文件中录入以下内容:
hello world!
this is my first vim file.
I will study hard.
在命令中按“i”键,此时屏幕左下方状态显示为“--插入--”,即进入到插入模
式,在插入模式中输入上述 3 行内容。
(3)复制该文件中的第 2、3 行内容,并将所复制内容粘贴在最后;
按“ESC”从插入模式退回到命令,将光标移动到第 2 行,输入快捷命令“2yy”
,表示复制从当前光标所在行开始的 2 行。然后将光标移动到第 3 行,输入
快捷命令“p”,表示将刚才复制的内容粘贴在当前行后面。
(4)保存对 vimfile 文件的修改,不退出 vim;
在命令下输入冒号“:”,即进入到末行模式,末行模式下输入的命令显示在屏
幕最底端的冒号后面,输入命令 w,表示写入(write),即可以将当前输入内
容写入到文件 vimfile 中,并将该文件保存在硬盘上。
(5)删除第 1 行内容,退出但不存盘,然后重新使用 vim 打开 vimfile 文件;
在命令下,输入快捷移动命令“gg”,将光标移动到第一行,然后输入快捷命
令“dd”表示删除光标所在行,按“:”进入末行模式,输入 q!命令,表示强制退
出 vim 编辑,忽略所做的修改,即不存盘退出。
输入 vim /root/vimfile 重新打开 vimfile 文件,发现第一行并没有被删除,原
因是我们删除第一行后,使用的是不存盘退出,因此所做的修改并没有从内
存写入到磁盘。
(6)将文件另存为/home/vimbak,删除第 1 行后所有行,保存文件并退出,比较 vimfile
和 vimbak 文件内容的不同。
输入“:”进入到末行模式,输入命令 w /home/vimbak,即将当前内容写入到
文件/home/vimbak 中,该命令可以用于对当前内容做备份。在命令下将光标
移动到第 2 行,输入快捷命令“4dd”表示删除从当前行开始的 4 行。输入“:”
进入末行模式,输入命令 wq,存盘退出。
[root@localhost ~]# cat /root/vimfile #显示/root/vimfile 文件内容
[root@localhost ~]# cat /home/vimbak #显示/home/vimbak 文件内容
4.1.2 配置主机名称
为了便于在局域网中查找某台特定的主机,或者对主机进行区分,除了要有 IP 地址
外,还要为主机配置一个主机名,主机之间可以通过这个类似于域名的名称来相互
访问。
在 Linux 系统中,主机名大多保存在/etc/hostname 文件中,接下来将/etc/hostname 文
件的内容修改为“linux.com”,步骤如下。
(1)使用 Vim 编辑器修改“/etc/hostname”主机名称文件。
[root@localhost 桌面]# vim /etc/hostname
(2)把原始主机名称删除后追加“linux.com”。注意,使用 Vim 编辑器修改主机名
称文件后,要在末行模式下执行:wq!命令才能保存并退出文档。
(3)保存并退出文档,然后使用 hostname 命令检查是否修改成功。
[root@localhoste 桌面]# hostname
4.1.3 配置网卡信息
使用 vim 编辑网卡配置文件,要求将网卡设置为静态 IP 地址,IP 地址为 192.168.学
号后两位.10(1~9 号采用学号后 1 位),子网掩码为 255.255.255.0,默认网关为 192.168
.学号后两位.2,首选 DNS 服务器与默认网关一致,并为该网卡添加第 2 个 IP 地址(IP
地址:192.168.1+学号后两位.10,子网掩码为 255.255.255.0)。
以学号后两位为 10、网卡名称为 eno16777728、配置文件为 ifcfg-eno16777728 为例,
修改网卡配置文件步骤如下:
(1)查看网卡 IP 地址,并进入到网卡配置文件目录
[root@localhost ~]# ifconfig #查看网卡名称,并确
定其配置文件的名称。
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
(2)使用 vim 打开网卡配置文件,
[root@localhost network-scripts]# vim ifcfg-eno16777728
#确认自己配置文件名称
HWADDR=00:0C:29:85:BD:E4 #MAC 地址,大家保持自己系
统不变即可
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes #若此处为 no,这此行后面关
于 IPV6 的 5 行则不存在
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777728
UUID=511b75bb-075a-4cfd-b4fb-b88f970df512
ONBOOT=yes
(3)将 BOOTPROTO 的值改为 static,即将自动获取 IP 信息改为手动配置 IP 信息
在命令下输入快捷命令“3gg”,将光标移动到第 3 行,再输入命令“A
”在光标所在行尾插入内容,删除 dhcp,输入 static
(4)在文件最后插入相关网络配置(若已存在 IP 地址等配置信息修改相应配置即可)
输入“ESC”键从插入模式进入到命令,输入快捷命令“G”,将光标移
动至最后一行,输入命令“o”,在当前行下插入内容,输入下列内容:
IPADDR=192.168.10.10 #IP 地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.10.2 #默认网关
DNS1=192.168.10.2 #首选 DNS 服务器地址
最后的网卡配置文件信息如下:
HWADDR=00:0C:29:85:BD:E4
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777728
UUID=511b75bb-075a-4cfd-b4fb-b88f970df512
ONBOOT=yes
IPADDR=192.168.10.10 #IP 地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.10.2 #默认网关,由 VMware 的虚拟
网络参数决定
DNS1=192.168.10.2
(5)保存文件修改
输入“ESC”键从插入模式进入到命令,输入“:”进入到末行模式,输
入命令“wq”,保存修改并退出 vim。
(6)重启网络服务并显示当前 IP 地址
[root@localhost network-scripts]# systemctl restart network.service
[root@localhost network-scripts]# ifconfig
(7)为网卡 eno16777728 添加第二个 IP 地址:需要创建子设备配置文件,并添加配
置信息,然后重启 network 服务,并使用 ifconfig 命令查看。
[root@localhost network-scripts]# vim ifcfg-eno16777728:1
#创建子设备配置文件
TYPE=Ethernet
BOOTPROT=static
NAME=eno16777728:1
DEVICE=eno16777728:1
ONBOOT=yes
IPADDR=192.168.110.10
NETMASK=255.255.255.0
[root@localhost network-scripts]# systemctl restart network.service
剩余21页未读,继续阅读
资源评论
接班人nei
- 粉丝: 4
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功