Linux文本编辑利器与Shell初探

本文详细介绍了Vim编辑器的三种模式:命令模式、输入模式和末行模式,以及在命令模式下常用的编辑命令。同时,通过配置Linux系统中的主机名、网卡信息和Yum仓库,展示了Vim在系统维护中的应用。此外,文章还讲解了Shell脚本的基本概念,包括如何编写简单脚本、接受用户参数以及使用条件测试语句,如if、for、while和case。
摘要由CSDN通过智能技术生成

Vim编辑器

Vim编辑器的三种模式
  • 命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。
  • 输入模式:正常的文本录入。
  • 末行模式:保存或退出文档,以及设置编辑环境。

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

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

命令模式下可以通过a、i、o来切换到输入模式,区别如下:

  • i :在光标当前位置进行编辑
  • a:在光标当前位置的下一位开始编辑
  • o:在光标当前所在行的下一行的行首开始编辑

末行模式主要用于保存或退出文件,以及设置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
?字符串 在文本中从下至上搜索该字符串
/字符串 在文本中从上至下搜索该字符串

注意: 当系统中存在中文输入法时,需要注意输入符号的全/半角状态。

Vim快速上手实例

Vim编辑系统配置文件

配置主机名称

在Linux系统中,主机名大多都保存在 /etc/hostname 文件中。

  1. 使用Vim编辑器修改 /etc/hostname
  2. 把原始主机名称删除后追加“localhostname”。
  3. 保存并退出文档,然后使用hostname命令检查是否修改成功。

注意: 使用Vim编辑器修改主机名称文件后,要在末行模式下执行:wq!命令才能保存并退出文档。
代码演示:

[root@localhost ~]# vim /etc/hostname			#编辑/etc/hostname
localhostname									#更改为localhostname
[root@localhost ~]# hostname					#hostname命令查看主机名
localhostname									#主机名已更改
配置网卡信息
  1. 切换到/etc/sysconfig/network-scripts目录中(存放着网卡的配置文件)。
  2. 使用Vim编辑器修改网卡文件ifcfg-eno16777736。
  3. 重启网络服务测试网络。

注意:各系统版本不同,网卡配置文件名称会有差异,以实际为准。
代码演示:

[root@localhost ~]# cd /etc/sysconfig/network-scripts/			
[root@localhost network-scripts]# vim ifcfg-eno16777736
TYPE=Ethernet									#设备类型
BOOTPROTO=static								#网络配置方式为静态
NAME=eno16777736								#网卡名称
ONBOOT=yes										#开机自动启动
IPADDR=192.168.10.10							#IP地址
NETMASK=255.255.255.0							#子网掩码
GATEWAY=192.168.10.1							#网关
DNS1=192.168.10.1								#DNS服务器
[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.081 ms
64 bytes from 192.168.10.10: icmp_seq=2 ttl=64 time=0.083 ms
64 bytes from 192.168.10.10: icmp_seq=3 ttl=64 time=0.059 ms
64 bytes from 192.168.10.10: icmp_seq=4 ttl=64 time=0.097 ms
^C
--- 192.168.10.10 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.059/0.080/0.097/0.013 ms
配置Yum仓库
  1. 进入到/etc/yum.repos.d/目录中(Yum软件仓库的配置文件存放目录)。
  2. 使用Vim编辑器创建一个名为rhel7.repo的配置文件。
  3. 按配置参数的路径挂载光盘,并把光盘挂载信息写入到/etc/fstab文件中。
  4. 使用“yum install httpd -y”命令检查Yum软件仓库是否已经可用。

代码演示:

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# vim rhel7.repo
[rhel7]								#Yum软件仓库唯一标识符,避免与其他仓库冲突。
name=rhel7							#Yum软件仓库的名称描述,易于识别仓库用处。
baseurl=file:///media/cdrom			#仓库提供的方式FTP(ftp://..)、HTTP(http://..)、本地(file:///..)。
enabled=1							#设置此源是否可用;1为可用,0为禁用。
gpgcheck=0							#设置此源是否校验文件;1为校验,0为不校验。

#创建挂载点,mount挂载光盘ISO到/media/cdrom,yum安装httpd测试
[root@localhost yum.repos.d]# mkdir -p /media/cdrom
[root@localhost yum.repos.d]# mount /dev/cdrom /media/cdrom
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost yum.repos.d
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值