1、Vim編輯器與Shell命令腳本shell
1.Vim文本編輯器:設置了三種模式:1.命令模式 ;2.輸入模式;3.末行模式vim
打開Vim編輯器時,默認進入命令模式。編輯器
從命令模式進入輸入模式:按a(下一個字符)鍵,i(當前字符)鍵,o(下一行)鍵中隨便一個鍵進入輸入模式ide
從輸入模式進入命令模式:Esc鍵測試
從命令模式進入末行模式:按:鍵rest
從末行模式進入命令模式:Esc鍵對象
Vim中經常使用的命令: dd 刪除光標所在整行 ; 5dd 刪除從光標處開始的5行;yy 複製光標所在整行; 5yy 複製從光標處開始的5行; n 顯示搜索命令定位到的下一個字符串;N顯示搜索命令定位到的上一個字符串;u 撤銷上一步的操做;p 將以前刪除或複製過的數據粘貼到光標後面。ip
末行模式中的命令: :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;?字符串 在文本中從下至上搜索該字符串; /字符串 在文本中從上至下搜索該字符串。文檔
2.配置主機名稱: vim /etc/hostname 裏面修改主機名並保存退出文檔,使用hostname命令檢查是否修改爲功字符串
或: hostnamectl set-hostname 主機名
3.配置網卡信息:vim /etc/sysconfig/network-scripts/ifcfg-eno160 裏面修改相關網卡信息並保存退出文檔。
重啓網卡命令:systemctl restart network
4.shell腳本:工做方式有交換式和批處理
第一行的腳本聲明(#!):告訴系統使用哪一種shell解釋器來執行該腳本
第二行的註釋信息(#):對腳本功能和某些命令的介紹信息,往後看到這個腳本內容時,能夠知道該腳本的做用或一些警告信息
第三行開始就是腳本命令
5.接受用戶的參數:$0 當前Shell腳本程序的名稱;$# 總共有幾個參數;$* 全部位置的參數值;$? 顯示上一次命令的執行返回值;$一、$二、$3...... 第N個位置的參數值。
6.判斷用戶的參數:測試語句格式 [ 條件表達式 ]
按測試對象來劃分,條件測試語句分爲:文件測試語句;邏輯測試語句;整數值比較語句;字符串比較語句。
6.1 文件測試語句參數:-d 測試文件是否爲目錄類型; -e 測試文件是否存在; -f 判斷是否爲通常文件;-r 測試當前用戶是否有權限讀取;-w 測試當前用戶是否有權限寫入;-x 測試當前用戶是否有權限執行
好比:[ -d /etc/fstab] [ -f /etc]
6.2 邏輯測試語句:&& 當前面的命令執行成功纔會執行後面的命令;|| 當前面的命令執行失敗纔會執行後面的命令;! 條件測試中的判斷結果取相反值
[ ! $USER = root ] && echo "user" || echo "root"
6.3 整數比較運算符:-eq 是否等於;-ne 是否不等於;-gt 是否大於;-lt 是否小於;-ge 是否大於等於;-le 是否小於等於。
[ `free -m | grep Mem: |awk '{print $4}'` le 1024 ] && echo "BUZU" || echo "CHONGZU"
6.4 字符串比較運算符:= 比較字符串內容是否相同; != 比較字符串內容是否不一樣;-z 判斷字符串內容是否爲空。
[ $LANG != "en.US" ] && echo "Not en.US"
7.if條件測試語句:從技術角度看,分爲單分支結構,雙分支結構,多分支結構。
單分支:if then fi 雙分支:if then else fi 多分支:if then elif else fi
不匹配條件判斷語句,自動執行最終的兜底策略