• 第4章 Vim编辑器与Shell命令脚本


    章节简述:

    本章节将教给您如何使用Vim编辑器来编写文档、配置主机名称网卡参数以及yum仓库 ,熟练使用各个模式和命令快捷键。

    我们可以通过Vim编辑器将Linux命令放入合适的逻辑测试语句(ifforwhilecase)后最终写出简单实用的Shell脚本。

    还可以通过使用at命令或配置Crontab计划任务服务让系统自动按时工作,让日常工作更加的高效自动化,一劳永逸哦~

    4.1 了解Vim文本编辑器

    在Linux系统中配置应用服务,实际上就是在修改它的配置文件(配置文件可能有多个,其中包含不同的参数),而且日常工作中也一定免不了编写文档的事情吧,这些都是要通过文本编辑器来完成的。

    在热门Linux操作系统中都会默认安装一款超好用的文本编辑器——名字叫“vim”,vimvi编辑器的升级版

    Vim能够得到这么多厂商与用户的认可,原因就是在Vim编辑器中有三种模式——命令模式末行模式编辑模式,分别又有多种不同的命令快捷键组合,很大的提高了工作效率,用习惯后会觉得非常的顺手。要想在文本操作时更加高效率,我们必需先搞清Vim编辑器的三种模式的操作不同与切换方法。

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

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

    末行模式:保存、退出与设置编辑环境。

    记住每次运行vim编辑器后都默认是“命令模式”,需要先进入到“输入模式”后再进行编写文档的工作,而每次编辑完成需先返回到“命令模式”后再进入“末行模式”对文本的保存或退出操作。
    vim不同模式间的切换

    这里为大家总结出了最常用的快捷键命令,读者尽量记一下,忘记了来查也可以,至于“输入模式”则没有特殊技巧。

    vim编辑器的命令模式中常用的快捷键

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

    vim编辑器的末行模式中的常用命令

    编辑
    命令 作用
    :w 保存
    :q 退出
    :q! 强制退出(放弃对文本的修改内容)
    :wq! 强制保存退出
    :set nu 显示行号
    :set nonu 不显示行号
    :命令 执行该命令
    :整数 跳转到该行

    需要读者注意的两点:

    1.在命令模式与末行模式中,所有的快捷键参数均区分大小写。

    2.在末行模式中所有快捷键参数前都有一个冒号":"。

    4.1.1 编写简单文档

    现在动手编写一个文档吧、我会把每个步骤和按键尽量都标注出来,如果命令忘记了就回到上面小节再看看吧~超简单!

    请您按照下面的幻灯片逐步操作,可点击图片两侧箭头或下方小圆点“○”切换步骤。

     

    • 第1步:创建文档。

    4.1.2 配置主机名称

    红帽RHEL7系统的主机名称保存在/etc/hostname文件中,我们要想将其修改为"linuxprobe.com",思路大致如下:

    第1步:使用vim命令修改"/etc/hostname"主机名称文件。

    第2步:将原始主机名称删除后追加"linuxprobe.com"。

    第3步:保存退出并用hostname命令检查是否修改成功。

    使用vim命令编辑主机名称文件后末行模式执行:wq!后即可保存退出:

    [root@linuxprobe ~]# vim /etc/hostname
    linuxprobe.com
    

    使用hostname命令查看当前的主机名称:

    [root@linuxprobe ~]# hostname
    linuxprobe.com
    
    4.1.3 配置网卡信息

    既然已经会用vim编辑器了,快来试试配置你的Linux系统网卡吧,不把网卡先配置妥当就不能与其他机器通信的。

    在红帽RHEL6系统中网卡配置文件的前缀为"eth",第1块即为"eth0",第2块即为"eth1"并依此类推……

    而在红帽RHEL7系统中网卡配置文件的前缀则为"ifcfg-eno",例如"ifcfg-eno16777736"。

    网卡的配置文件存放在"/etc/sysconfig/network-scripts"目录中。

    在修改配置文件前,先来学些关键词术语吧:

    网卡类型:TYPE=Ethernet
    地址分配模式:BOOTPROTO=static
    网卡名称:NAME=eno16777736
    是否启动:ONBOOT=yes
    IP地址:IPADDR=192.168.10.10
    子网掩码:NETMASK=255.255.255.0
    网关地址:GATEWAY=192.168.10.1
    DNS地址:DNS1=192.168.10.1

    上面的网卡配置文件代表着“这是一个以太网卡设备,名称为"eno16777736"且开机自动启动,IP地址等信息需由人工指定”。

    配置网卡信息前先来理清思路:

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

    第2步:使用vim命令修改文件"ifcfg-eno16777736"。

    第3步:逐项写入配置参数,并保存退出。

    第4步:重新启动网卡命令:"systemctl restart network"。

    第5步:通过ping命令测试网卡信息是否生效。

    切换到网卡配置文件所在的目录:

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

    编辑网卡配置文件并填入下面的信息:

    [root@linuxprobe network-scripts]# vim ifcfg-eno16777736
    TYPE=Ethernet
    BOOTPROTO=static
    NAME=eno16777736
    ONBOOT=yes
    IPADDR=192.168.10.10
    NETMASK=255.255.255.0
    GATEWAY=192.168.10.1
    DNS1=192.168.10.1
    

    重新启动网卡,正常情况不会提示信息:

    [root@linuxprobe network-scripts]# systemctl restart network
    

    不错哦,成功的ping通证明网卡配置正确并生效了:

    [root@linuxprobe 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
    
    4.1.4 配置Yum仓库

    既然对vim编辑器的理论已经学扎实,现在就来动手配置下Yum仓库吧~先来理清思路:

    第1步:首先我们要切换到"/etc/yum.repos.d/"目录中(因为该目录存放着yum仓库的配置文件)

    第2步:使用vim编辑器创建并打开一个名为rhel7.repo的新文件,名称可以自定义,但后缀必需为repo

    第3步:逐项写入配置参数,并保存退出。

    第4步:按配置参数的路径将光盘挂载。

    第5步:将光盘挂载信息写入到/etc/fstab文件中。

    第6步:使用"yum install httpd -y"命令检查是否配置正确。

    切换到/etc/yum.repos.d目录中:

    [root@linuxprobe ~]# cd /etc/yum.repos.d/
    

    打开Vim界面后敲击"a"进入到插入模式:
    编辑完成后敲击[ESC]并在末行模式中:wq!保存并退出。

    [root@linuxprobe yum.repos.d]# vim rhel7.repo
    [rhel7]
    name=rhel7
    baseurl=file:///media/cdrom
    enabled=1
    gpgcheck=0
    

    创建挂载光盘的目录:

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

    仓库提供方式为本地,所以需要将光盘挂载到/media/cdrom中:

    [root@linuxprobe yum.repos.d]# mount /dev/cdrom /media/cdrom
    mount: /dev/sr0 is write-protected, mounting read-only
    

    设置成开机自动挂载:

    [root@linuxprobe yum.repos.d]# vim /etc/fstab
    /dev/cdrom /media/cdrom iso9660 defaults 0 0
    

    测试安装"httpd"服务,出现“Complete”则代表Yum仓库配置正确:

    [root@linuxprobe yum.repos.d]# yum install httpd
    Loaded plugins: langpacks, product-id, subscription-manager
    rhel7 | 4.1 kB 00:00
    (1/2): rhel7/group_gz | 134 kB 00:00
    (2/2): rhel7/primary_db | 3.4 MB 00:00
    Resolving Dependencies
    ……………………………………………………
    Complete!
    
  • 相关阅读:
    阿里高级技术专家谈开源DDD框架:COLA4.0,分离架构和组件
    react的setState到底是同步还是异步?
    JMeter入门教程
    手把手教你接口自动化测试 – SoapUI & Groovy
    解读Web应用程序安全性问题的本质
    python实现的json数据以HTTP GET,POST,PUT,DELETE方式页面请求
    Linux常用命令
    PV原语操作详解
    软考计算机网络原理之IP计算问题汇总
    化繁为简了解进程与线程
  • 原文地址:https://www.cnblogs.com/linux130/p/5726369.html
Copyright © 2020-2023  润新知