Linux入門小抄-part3-Linux基礎-vi/vim和虛擬機器網路配置
vi/vim編輯器
學會使用vi編輯器是學習Linux系統的必備技術之一,因為一般的Linux伺服器是沒有GUI介面的,Linux運維及開發人員基本上都是通過命令列的方式進行文字編輯或程式編寫的。vi編輯器是Linux內建的文字編輯器,幾乎所有的類unix系統中都內建了vi編輯器,而其它編輯器則不一定,另外很多軟體會呼叫vi編輯進行內容編寫,例如crontab定時任務。較之於其它編輯器或GUI編輯器,vi編輯速度是最快的。vim可以當作vi的升級版本,他可以用多種顏色的方式來顯示一些特殊的資訊。vim會依據副檔名或者是檔案內的開頭資訊, 判斷該檔案的內容而自動的執行該程式的語法判斷式,再以顏色來顯示程式程式碼與一般資訊。vim裡面加入了很多額外的功能,例如支援正則表示式的搜尋、多檔案編輯、塊複製等等。 這對於我們在Linux上進行一些配置檔案的修改工作時是很棒的功能。
VI有三種基本工作模式,分別是:
命令模式(command mode)、或者叫一般模式
插入模式(insert mode)、或者叫編輯模式
底行模式(last line mode)、或者叫命令列模式
進入檔案後的模式切換
-
1、首先會進入“一般模式”,此模式只接受各種命令快捷鍵,不能編輯檔案內容
-
2、按i鍵,就會從一般模式進入編輯模式,此模式下,敲入的都是檔案內容.當然進入編輯模式不是隻有 i 這一個按鍵:
-
a 在游標後一位開始插入
-
A 在該行的最後插入
-
I 在該行的最前面插入
-
i 在游標前
-
o 在游標當前行下插入一個空行,游標位於空行行首
-
O 在當前行插入空行
-
s 刪除當前字元,進入插入模式
-
S 刪除當前行,進入插入模式
-
.....還有很多,我們這裡最常用的是ioa這三個.
-
-
3、編輯完成之後,按Esc鍵退出編輯模式,回到一般模式
-
4、再按:,進入“底行命令模式”,輸入wq命令,回車即可儲存退出
命令模式下的操作
使用上下左右鍵可以移動游標 |
使用h,j,k,l,依次是向左,下,上,右移動 |
w:將游標移動到下一個單詞的首字母處 |
W:利用空格向後移動游標,就是忽略標點 |
b:利用word包括標點向前移動游標 |
B:利用空格向前移動游標,忽略標點 |
e:將游標移動到下一個word的尾部,包括符號 |
E: 將游標移動到下一個空格分隔字的尾部 |
$:移動游標到本行行尾 |
^:移動游標到本行行首 |
H:螢幕頂端 |
L:螢幕底端 |
M:移動到螢幕中央位置 |
gg:直接跳到檔案的首行行首 |
G:直接跳到檔案的末行行首 |
% : 匹配括號移動,包括(, {, [.(你需要把游標先移到括號上) *: 匹配游標當前所在的單詞,移動游標到下一個匹配單詞 #: 匹配游標當前所在的單詞,移動游標到上一個匹配單詞 |
dd 刪除游標所在行 |
3dd 刪除從當前行開始的3行 |
yy 複製游標所在行 |
3yy 複製從當前行開始的3行 |
p paste 貼上 |
u undo 撤銷 |
r 替換游標處一個字元 |
R 進入替換模式,從游標處連續替換 |
~ 大小寫轉換,只轉換游標處字元 |
底行命令模式
1顯示行號 :set nu |
2 隱藏行號 :set nonu |
3 查詢關鍵字 :/aa 效果:查詢檔案中出現的aa,並定位到第一個找到的地方,按n可以定位到下一個匹配位置(按N定位到上一個)查詢的時候被匹配上的字串會被高亮,可以在命令模式下使用:noh取消高亮 |
4、直接跳轉到N行 :N |
替換操作: |
:1 s/sad/bbb 將第一行的第一個sad替換為bbb |
:1 s/sad/bbb 將第一行的第一個sad替換為bbb |
:1,. s/sad/bbb 將第一行到游標行的第一個sad替換為bbb |
:.,$ s/sad/bbb 將游標行到緩衝區最後一行的sad替換為bbb |
:s/sad/bbb 查詢游標所在行的第一個sad,替換為bbb |
:s/sad/bbb/g 查詢游標所在行的所有sad,替換為bbb |
:%s/sad/bbb 查詢檔案中所有行第一次出現的sad,替換為bbb |
:%s/sad/bbb/g 查詢檔案中所有的sad,替換為bbb |
vim的其他功能
-
塊操作---這個功能可以讓我們複製一個矩形區域的內容,十分方便。
- v:字元選擇,會將游標經過的地方反白選擇;
- V:行選擇;
- Ctrl+v:塊選擇;
- y:複製反白的地方;
- d:刪除反白的地方。
-
多檔案編輯
- 我們在兩個或多個檔案之間複製貼上內容時,這個功能會讓我們方便很多。使用命令vim name1 name2 name3...(各個檔名之間用空格隔開)可以同時開啟多個檔案。
-
:n:編輯下一個檔案;
:N:編輯上一個檔案;
:files:列出目前vim開啟的所有檔案。
-
多視窗功能
- 可以在一個視窗中開啟多個檔案。
- 輸入命令:sp{filename}便可以實現這個功能。如果想要在新視窗啟動另外一個檔案,則加入檔名。如果省略檔名,則開啟的是同一個檔案。
-
Ctrl+w+j:先按下Ctrl不放,再按下w後放開所有的按鍵,再按下j(或向下箭頭鍵),則游標可以移到下方的視窗;
Ctrl+w+k:同上,不過光表移到上面的視窗;
Ctrl+w+q:離開。
-
vim環境設定
-
:set nu 設定行號
:set nonu 取消行號
:set hlsearch 設定高亮度查詢
:set nohlsearch 取消高亮度查詢
:set backup 自動備份檔案
:set ruler 開啟右下角狀態列說明
:set showmode 顯示左下角的INSERT之類的狀態列
:set backspace={0,1,2} 設定退格鍵功能。為2時可以刪任意字元。為0或1時僅可以刪除剛才輸入的字元。
:set all 顯示目前所有的環境引數值
:set 顯示與系統預設值不同的引數值
:syntax on/off 是否開啟依據相關程式語法顯示不同的顏色
:set bg=dark/light 是否顯示不同的顏色色調
-
但是我們沒有必要每次使用vim都要重新設定一次各個引數值。我們可以通過配置檔案來直接規定我們習慣的vim操作環境。整體vim的設定值一般是放在/etc/vimrc中的。我們一般不要修改這個檔案。我們可以通過修改~/.vimrc這個檔案,如果不存在,可以手動建立。然後將我們所希望的設定值寫入。
-
網路管理
一.網路命令
-
ifconfig命令
-
ifconfig命令主要用於配置網路介面,如果不加任何引數,則ifconfig命令用於檢視當前所有活動網路介面的狀態資訊,如下圖:
- 圖中的eth0表示活動的乙太網介面,對應的描述資訊中給出了網路的整體狀況資訊包括網路型別、MAC地址、IP地址、子網掩碼等等,lo表示本地迴環網路地址
- ifconfig eth0 up/down:開啟/關閉網路介面
-
-
ping命令
- 常用來測試網路連線是否正常
-
host命令
-
host命令用來進行DNS查詢
-
-
netstat命令
-
netstat命令可以顯示網路介面的很多統計資訊,包括開啟的socket和路由表
-
常用命令選項
-
-a (all)顯示所有選項,預設不顯示LISTEN相關
-
-t (tcp)僅顯示tcp相關選項
-
-u (udp)僅顯示udp相關選項
-
-n 拒絕顯示別名,能顯示數字的全部轉化成數字
-
-l 僅列出有在 Listen (監聽) 的服務狀態
-
-p 顯示建立相關連結的程式名
-
-r 顯示路由資訊,路由表
-
-e 顯示擴充套件資訊,例如uid等
-
-s 按各個協議進行統計
-
-c 每隔一個固定時間,執行該netstat命令
-
-
例子:
-
列出所有監聽狀態的TCP埠:netstat -nltp 該命令最重要;可以用來檢視哪個程式佔用了哪個網路埠號
-
-
二.網路配置
由於我用的是VMware虛擬軟體,所以一些內容是針對這個軟體而言的.
對於VMware虛擬軟體來說,有三種網路模式1.橋接 2.NAT 3.Host-only
-
橋接
橋接網路是指本地物理網絡卡和虛擬網絡卡通過VMnet0虛擬交換機進行橋接,因此物理網絡卡和虛擬網絡卡應當處於同一網段,虛擬交換機就相當於一臺現實網路中的交換機。當我們要在區域網使用虛擬機器,對區域網其他PC提供服務時,例如FTP、SSH、HTTP,那麼就要選擇橋接模式.再次強調:在橋接模式下,虛擬機器ip地址需要與主機在同一個網段.
這種方式是可以上外網的,主機網絡卡處在一個可以訪問Internet的區域網中,虛擬機器才能通過Bridge訪問Internet。 閘道器與DNS需要與主機網絡卡一致
-
NAT
NAT使用NAT模式,就是讓虛擬系統藉助NAT(網路地址轉換)功能,通過宿主機器所在的網路來訪問公網。也就是說,使用NAT模式可以實現在虛擬系統裡訪問網際網路。NAT模式下的虛擬系統的TCP/IP配置資訊是由VMnet8(NAT)虛擬網路的DHCP伺服器提供的,無法進行手工修改,因此虛擬系統也就無法和本區域網中的其他真實主機進行通訊。採用NAT模式最大的優勢是虛擬系統接入網際網路非常簡單,你不需要進行任何其他的配置,只需要宿主機器能訪問網際網路即可。
-
Host-Only
在Host-Only模式下,虛擬網路是一個全封閉的網路,它唯一能夠訪問的就是主機。其實Host-Only網路和NAT網路很相似,不同的地方就是 Host-Only網路沒有NAT服務,所以虛擬網路不能連線到Internet。主機和虛擬機器之間的通訊是通過VMware Network Adepter VMnet1虛擬網絡卡來實現的。這種模式有點類似沒有NAT服務的NAT網路
我採用的是NAT網路模式.下面我們來配置一下,讓虛擬機器也能和宿主機互聯並訪問網際網路.!!!操作如下:
在vm左上角那裡有一個編輯選項,點選編輯選項,然後出現一個:虛擬網路編輯器(如下圖所示)
然後點選虛擬網路編輯器就會出現一個設定框,這裡我們將更改這裡面的設定(如下圖所示)
上面這張是win7系統的介面.但是很多人電腦都是現在都是win10了.所以這裡我們按照win10的系統來配置網路,大同小異.win10的朋友看下面的圖片
按照箭頭指示,採取管理員許可權更改配置後會出現下面的圖片樣式:
然後我們把這個VMvet8(就是滑鼠正在點的這個網路設定,如上圖所示)移除掉,然後重新新增VMvet8網路(如下圖所示)
新增完vmnet8網路裝置以後,我們再選擇nat網路模式(如下圖所示)
然後我們要記得那個vmnet8的ip地址:192.168.183.0(可能你們的ip不一樣,這個沒多大關係)然後設定好vmnet8以後,我們再來設定NAT設定(如下圖所示)
然後會出現如下圖的設定框:
我們發現,下圖的閘道器是:192.168.183.2(或者你們的不是這個閘道器,也沒事)這裡我們就按照192.168.183.2的閘道器不去修改他,但是我們要配置linux網路環境就要配置下面已經有的192.168.183.2閘道器,要跟這個閘道器一致,所以我們要記好了!!
然後我們按確定,然後點選應用然後載入我們設定好的網路裝置,然後再按確定(如下圖所示)
好了NAT網路裝置基本上搞好了,那麼接下來我們初始化網路裝置,讓我們剛剛設定的NAT網路裝置進行重新載入,在虛擬機器的右下角有一個像電腦一樣的圖示點選右鍵進入設定(如下圖所示):
再進入設定介面,然後本身是那個框框裡面的黑色的那個點是在NAT模式中的,那我們現在把那個黑點點到橋接模式進行初始化,然後按確定然後等30秒再設定回NAT模式然後再確定(如下圖所示)即可
接下來需要我們到linux的終端裡面去配置了:
命令列輸入:cd /etc/sysconfig/network-scripts/ 來到這個目錄底下,vim ifcf -eth0 修改這個配置檔案的內容,注意了:這裡需要管理員許可權 該檔案的樣式如下:大家應該差不多的
BOOTPROTO=”static”
然後再把HWADDR=”00:0C:29:00:AD:A0”和IPV6INIT=”yes”和UUID=”4dcb4773-115c-45e9-b0e1-593518c2892f”這三個刪除掉
新增內容:IPADDR=192.168.183.10 //ip地址
新增內容:NETMASK=255.255.255.0
新增內容:GATEWAY=192.168.183.2 //閘道器 注意:新增閘道器一定要跟NAT設定裡面的閘道器IP要一致(如下圖所示)
新增內容:DNS1=202.106.0.10
然後我們重啟我們的虛擬機器的網路服務(如下圖所示)注意:先進入管理員許可權再進行重啟網路服務命令列輸入:/etc/init.d/network restart
然後我們再檢視當前ip是否修改成功(如下圖所示):命令列輸入:ifconfig
然後如上圖看到我們剛剛設定的ip地址已經成功顯示出來了,那麼我們再去測試一下這臺虛擬機器是否能上網.命令列輸入:curl www.baidu.com 或者是 ping www.baidu.com