第4章 Vim编辑器与Shell脚本命令
1.Vim文本编辑器
Vim编辑器中设置了3种模式—命令模式、末行模式和编辑模式,每种模式分别又支持多种不同的命令快捷键,这大大提高了工作效率,而且用户在习惯之后也会觉得相当顺手。
命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。
输入模式:正常的文本录入。
末行模式:保存或退出文档,以及设置编辑环境。
1.1配置主机名称
主机名大多保存在/etc/hostname文件中,接下来将/etc/hostname配置文件的内容修改为“linuxprobe.com”,步骤如下。
第1步:使用Vim编辑器修改/etc/hostname主机名称文件。
第2步:把原始主机名称删除后追加“linuxprobe.com”。注意,使用Vim编辑器修改主机名称文件后,要在末行模式下执行“:wq!”命令才能保存并退出文档。
第3步:保存并退出文档,然后使用hostname命令检查是否修改成功。
[root@linuxprobe ~]# vim /etc/hostname
linuxprobe.com
hostname命令用于查看当前的主机名称,但有时主机名称的改变不会立即同步到系统中,所以如果发现修改完成后还显示原来的主机名称,可重启虚拟机后再行查看:
[root@linuxprobe ~]# hostname
linuxprobe.com
1.2配置网卡信息
现在有一个名称为ifcfg-ens160的网卡设备,将其配置为开机自启动,并且IP地址、子网、网关等信息由人工指定,其步骤如下所示。
第1步:首先切换到/etc/sysconfig/network-scripts目录中(存放着网卡的配置文件)。
第2步:使用Vim编辑器修改网卡文件ifcfg-ens160,逐项写入下面的配置参数并保存退出。由于每台设备的硬件及架构是不一样的,因此请读者使用ifconfig命令自行确认各自网卡的默认名称。
设备类型:TYPE=Ethernet
地址分配模式:BOOTPROTO=static
网卡名称:NAME=ens160
是否启动:ONBOOT=yes
IP地址:IPADDR=192.168.10.10
子网掩码:NETMASK=255.255.255.0
网关地址:GATEWAY=192.168.10.1
DNS地址:DNS1=192.168.10.1
第3步:重启网络服务并测试网络是否连通。
1.3配置软件仓库
2.编写Shell脚本
可以将Shell终端解释器当作人与计算机硬件之间的“翻译官”,它作为用户与Linux系统内部的通信媒介,除了能够支持各种变量与参数外,还提供了诸如循环、分支等高级编程语言才有的控制结构特性。要想正确使用Shell中的这些功能特性,准确下达命令尤为重要。Shell脚本命令的工作方式有下面两种。
交互式(Interactive):用户每输入一条命令就立即执行。
批处理(Batch):由用户事先编写好一个完整的Shell脚本,Shell会一次性执行脚本中诸多的命令。
2.1编写简单的脚本
Shell脚本文件的名称可以任意,但为了避免被误以为是普通文件,建议将.sh后缀加上,以表示是一个脚本文件。
[root@linuxprobe ~]# vim example.sh
#!/bin/bash
#For Example BY linuxprobe.com
pwd
ls -al
[root@linuxprobe ~]# bash example.sh
/root
total 60
dr-xr-x---. 15 root root 4096 Oct 12 00:41 .
dr-xr-xr-x. 17 root root 224 Jul 21 05:04 ..
-rw-------. 1 root root 1407 Jul 21 05:09 anaconda-ks.cfg
-rw-------. 1 root root 335 Jul 24 06:33 .bash_history
-rw-r--r--. 1 root root 18 Aug 13 2018 .bash_logout
-rw-r--r--. 1 root root 176 Aug 13 2018 .bash_profile
………………省略部分输出信息………………
除了上面用Bash解释器命令直接运行Shell脚本文件外,第二种运行脚本程序的方法是通过输入完整路径的方式来执行。
[root@linuxprobe ~]# ./example.sh标签:网卡,linuxprobe,Shell,DAY6,学习,rw,Linux,root,bash From: https://blog.51cto.com/u_14211843/6027897
bash: ./Example.sh: Permission denied
[root@linuxprobe ~]# chmod u+x example.sh
[root@linuxprobe ~]# ./example.sh
/root
total 60
dr-xr-x---. 15 root root 4096 Oct 12 00:41 .
dr-xr-xr-x. 17 root root 224 Jul 21 05:04 ..
-rw-------. 1 root root 1407 Jul 21 05:09 anaconda-ks.cfg
-rw-------. 1 root root 335 Jul 24 06:33 .bash_history
-rw-r--r--. 1 root root 18 Aug 13 2018 .bash_logout
-rw-r--r--. 1 root root 176 Aug 13 2018 .bash_profile
………………省略部分输出信息………………