今天首先學習Vim編輯器的使用,通過它可以對Linux系統的檔案進行撰寫和修改,在Linux系統中一切都是檔案,所以熟練掌握Vim編輯器的使用十分重要,最后通過配置主機網卡的實驗,來加深Vim編輯器中諸多命令、快捷鍵、模式切換方法的理解,
一、Vim文本編輯器
Vim編輯器設定了三種模式,每種模式分別支持多種不同的命令快捷鍵,三種模式如下所示:
-
- 命令模式:控制關標移動,可對文本進行復制、粘貼、洗掉和查找作業,
- 輸入模式:正常的文本錄入,
- 末行模式:保存或退出檔案,以及設定編輯環境,

在每次使用Vim編輯器的時候,首先進入命令模式,此時通過按下a、i、o健切換到輸入模式后才能進行檔案撰寫作業,編輯完檔案后需要按Esc健回傳命令模式,再按下:健進入末行模式,執行檔案的保存或退出操作,注意,輸入模式是無法直接切換至末行模式的,
命令模式下常見的一些命令如下所示:
| 命令 | 作用 |
| dd | 洗掉(其實是剪切)游標所在的行 |
| 5dd | 洗掉(其實是剪切)從游標處開始的5行 |
| yy | 復制游標所在的行 |
| 5yy |
復制從游標開始處的5行 |
| n | 顯示搜索命令定位到的下一個字串 |
| N | 顯示搜索命令定位到的上一個字串 |
| u | 撤銷上一步的操作 |
| p | 將之前洗掉(dd)或復制(yy)過的資料粘貼到游標的后面 |
末行模式主要用于保存或退出檔案,以及設定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 |
| ?字串 | 在文本中從下至上搜索該字串 |
| /字串 | 在文中從上至下搜索該字串 |
二、撰寫簡單檔案
第1步:使用Vim編輯器新建一個檔案,將其命名為practice.txt,
[root@linuxprobe ~]# vim practice.txt
[root@linuxprobe ~]#
第2步:打開practice.txt檔案后,就默認進入了命令模式,此時只能執行命令模式的命令,

第3步:在命令模式按下a、i、o健切換至輸入模式,進入輸入模式后,就可以隨意輸入文本內容,

第4步:在撰寫完了之后,想要保存并退出,必須先按下Esc健切換至命令模式,然后再按下:健切換至末行模式,最后輸入wq!完成保存退出的操作,

第5步:已成功完成一個檔案的撰寫,使用cat命令查看檔案的內容,
[root@linuxprobe ~]# cat practice.txt
Now,you can write it.
三、配置網卡資訊
網卡IP地址配置的正確是兩臺服務器相互通信的前提,在Linux系統中一切都是檔案,因此配置網路服務的作業其實就是在編輯網卡的組態檔,在RHEL7系統中,網卡的組態檔的名稱由前綴ifcfg加上網卡名稱組成,比如ifcfg-eno16777728,現在對一個名稱為eno16777728的網卡設備進行相關配置,具體步驟如下所示:
第1步:首先切換至/etc/sysconfig/network-scripts目錄中,該目錄存放網卡的組態檔,
[root@linuxprobe ~]# cd /etc/sysconfig/network-scripts/
[root@linuxprobe network-scripts]#
[root@linuxprobe network-scripts]# ls
ifcfg-eno16777728 ifdown-ippp ifdown-routes ifup ifup-ipv6 ifup-ppp ifup-tunnel
ifcfg-lo ifdown-ipv6 ifdown-sit ifup-aliases ifup-isdn ifup-routes ifup-wireless
ifdown ifdown-isdn ifdown-Team ifup-bnep ifup-plip ifup-sit init.ipv6-global
ifdown-bnep ifdown-post ifdown-TeamPort ifup-eth ifup-plusb ifup-Team network-functions
ifdown-eth ifdown-ppp ifdown-tunnel ifup-ippp ifup-post ifup-TeamPort network-functions-ipv6
[root@linuxprobe network-scripts]#
第2步:使用Vim編輯器修改網卡組態檔ifcfg-eno16777728,逐項寫入如下的配置引數并保存退出,
TYPE=Ethernet //設備型別
BOOTPROTO=static //地址分配模式,分為static和dhcp兩種
NAME=eno16777728 //網卡名稱
ONBOOT=yes //是否啟動
IPADDR=192.168.10.10 //IP地址
NETMASK=255.255.255.0 //子網掩碼
GATEWAY=192.168.10.1 //網關地址,注意“GATEWAY”不要寫錯了,容易寫成“GETEWAY”或“GATAWAY”
DNS1=192.168.10.1 //DNS地址
[root@linuxprobe network-scripts]# cp ifcfg-eno16777728 ifcfg-eno16777728.cpoy //在編輯網卡組態檔之前,先做好原檔案備份,養成好習慣
[root@linuxprobe network-scripts]# ls
ifcfg-eno16777728 ifdown-post ifup-bnep ifup-routes
ifcfg-eno16777728.cpoy ifdown-ppp ifup-eth ifup-sit
ifcfg-lo ifdown-routes ifup-ippp ifup-Team
ifdown ifdown-sit ifup-ipv6 ifup-TeamPort
ifdown-bnep ifdown-Team ifup-isdn ifup-tunnel
ifdown-eth ifdown-TeamPort ifup-plip ifup-wireless
ifdown-ippp ifdown-tunnel ifup-plusb init.ipv6-global
ifdown-ipv6 ifup ifup-post network-functions
ifdown-isdn ifup-aliases ifup-ppp network-functions-ipv6
[root@linuxprobe network-scripts]#
[root@linuxprobe network-scripts]# vim ifcfg-eno16777728
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
第3步:重啟網路服務并測驗網路是否聯通,
[root@linuxprobe network-scripts]# systemctl restart network //重啟網路服務
[root@linuxprobe network-scripts]#
[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.050 ms
64 bytes from 192.168.10.10: icmp_seq=2 ttl=64 time=0.095 ms
64 bytes from 192.168.10.10: icmp_seq=3 ttl=64 time=0.093 ms
64 bytes from 192.168.10.10: icmp_seq=4 ttl=64 time=0.092 ms
^C
--- 192.168.10.10 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 0.050/0.082/0.095/0.020 ms
知識補充:當你使用的是VMware Workstation安裝的虛擬機,并按照上述方式完成網卡配置操作后,你可能無法ping通外網,如下所示:
[root@linuxprobe ~]# ping www.baidu.com
ping: unknown host www.baidu.com
原因:IP地址配置不正確
解決方法:我這里以虛擬機網卡設定為NAT模式舉例,具體操作步驟如下:

1、打開VMware Workstation軟體的“虛擬網路編輯器”,

2、首先點擊“VMnet8”,然后點擊“NAT 設定”,

3、這里記住VMnet8網路的相關資訊,包括子網IP、網關等,后面在配置虛擬機網卡時,需要保持一致,

4、修改虛擬機的網卡組態檔,其中192.168.134.1為物理主機地址、192.168.134.2為網關地址,虛擬機地址可以在192.168.134.3~254之間任意設定,我這里設定為192.168.134.10,

5、重啟網路服務并測驗外網的聯通性,
[root@linuxprobe network-scripts]# systemctl restart network
[root@linuxprobe network-scripts]#
[root@linuxprobe network-scripts]# ping www.baidu.com
PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data.
64 bytes from 14.215.177.38: icmp_seq=1 ttl=128 time=20.7 ms
64 bytes from 14.215.177.38: icmp_seq=2 ttl=128 time=22.0 ms
64 bytes from 14.215.177.38: icmp_seq=3 ttl=128 time=20.9 ms
^C
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 20.786/21.240/22.011/0.572 ms
四、配置Yum軟體倉庫
Yum軟體倉庫的作用是為了進一步簡化RPM管理軟體的難度以及自動分析所需軟體包及其依賴關系的技術,可以把Yum想象成是一個碩大的軟體倉庫,里面保存有幾乎所有的常用工具,而且只需說出想要的軟體包名稱,系統自動就會幫你搞定一切,搭建并配置Yum軟體倉庫的大致步驟如下所示:
第1步:切換至/etc/yum.repos.d/目錄中,該目錄存放Yum軟體倉庫的組態檔,
[root@linuxprobe ~]# cd /etc/yum.repos.d/
第2步:使用Vim編輯器新建一個名為rhel7.repo的組態檔,檔案名稱可以隨意,但是后綴必須是.repo,逐項寫入下面的配置引數并保存退出,
[rhel7] //Yum軟體倉庫的唯一識別符號,避免與其他倉庫沖突,
name=rhel7 //Yum軟體倉庫的名稱描述,方便識別倉庫,
baseurl=file:///media/cdrom //設定Yum倉庫的地址,提供方式包括:(ftp://....)、(http://....)、(file:///...),
enabled=1 //設定此源是否可用,1為可用,0為禁止,
gpgcheck=1 //設定此源是否校驗檔案,1為校驗,0為不校驗,
gpgkey=file:///media/cdrom/RPM-GPG-KRY-redhat-release //若上面引數開啟校驗,那么請指定公鑰檔案地址,
[root@linuxprobe yum.repos.d]# vim rhel7.repo
[rhel7]
name=rhel7
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0 //這里不校驗檔案
第3步:按照配置引數的路徑掛載光碟,并把光碟掛載資訊寫入到/etc/fstab檔案中,
[root@linuxprobe yum.repos.d]# mkdir -p /media/cdrom //創建光碟掛載目錄
[root@linuxprobe yum.repos.d]#
[root@linuxprobe yum.repos.d]# mount /dev/cdrom /media/cdrom //掛載光碟
mount: /dev/sr0 is write-protected, mounting read-only
[root@linuxprobe yum.repos.d]#
[root@linuxprobe yum.repos.d]# vim /etc/fstab //將光碟掛載資訊寫入/etc/fstab檔案
/dev/mapper/rhel-root / xfs defaults 1 1
UUID=ba40f004-d75d-400f-b0e0-c4d395261e14 /boot xfs defaults 1 2
/dev/mapper/rhel-swap swap swap defaults 0 0
/dev/cdrom /media/cdrom iso9660 defaults 0 0 //光碟掛載資訊
第4步:此時切換至/media/cdrom目錄,可以查看光碟資訊,
[root@linuxprobe yum.repos.d]# cd /media/cdrom/
[root@linuxprobe cdrom]# ls
addons EULA images LiveOS Packages repodata RPM-GPG-KEY-redhat-release
EFI GPL isolinux media.repo release-notes RPM-GPG-KEY-redhat-beta TRANS.TBL
[root@linuxprobe cdrom]#
第5步:使用“yum install -y httpd”命令,檢查Yum軟體倉庫是否可用,
[root@linuxprobe ~]# yum install -y httpd
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
rhel7 | 4.1 kB 00:00:00
(1/2): rhel7/group_gz | 134 kB 00:00:00
(2/2): rhel7/primary_db | 3.4 MB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-17.el7 will be installed
--> Processing Dependency: httpd-tools = 2.4.6-17.el7 for package: httpd-2.4.6-17.el7.x86_64
--> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-17.el7.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-17.el7.x86_64
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-17.el7.x86_64
--> Running transaction check
---> Package apr.x86_64 0:1.4.8-3.el7 will be installed
---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed
---> Package httpd-tools.x86_64 0:2.4.6-17.el7 will be installed
---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
======================================================================================================================================
Package Arch Version Repository Size
======================================================================================================================================
Installing:
httpd x86_64 2.4.6-17.el7 rhel7 1.2 M
Installing for dependencies:
apr x86_64 1.4.8-3.el7 rhel7 103 k
apr-util x86_64 1.5.2-6.el7 rhel7 92 k
httpd-tools x86_64 2.4.6-17.el7 rhel7 77 k
mailcap noarch 2.1.41-2.el7 rhel7 31 k
Transaction Summary
======================================================================================================================================
Install 1 Package (+4 Dependent packages)
Total download size: 1.5 M
Installed size: 4.3 M
Downloading packages:
--------------------------------------------------------------------------------------------------------------------------------------
Total 45 MB/s | 1.5 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : apr-1.4.8-3.el7.x86_64 1/5
Installing : apr-util-1.5.2-6.el7.x86_64 2/5
Installing : httpd-tools-2.4.6-17.el7.x86_64 3/5
Installing : mailcap-2.1.41-2.el7.noarch 4/5
Installing : httpd-2.4.6-17.el7.x86_64 5/5
rhel7/productid | 1.6 kB 00:00:00
Verifying : mailcap-2.1.41-2.el7.noarch 1/5
Verifying : httpd-tools-2.4.6-17.el7.x86_64 2/5
Verifying : apr-1.4.8-3.el7.x86_64 3/5
Verifying : apr-util-1.5.2-6.el7.x86_64 4/5
Verifying : httpd-2.4.6-17.el7.x86_64 5/5
Installed:
httpd.x86_64 0:2.4.6-17.el7
Dependency Installed:
apr.x86_64 0:1.4.8-3.el7 apr-util.x86_64 0:1.5.2-6.el7 httpd-tools.x86_64 0:2.4.6-17.el7 mailcap.noarch 0:2.1.41-2.el7
Complete!

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/138736.html
標籤:Linux
上一篇:Linux上安裝軟體
下一篇:centos5,6的GRUB簡介
