版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Vim編輯器與Shell命令腳本任課教師:XXX課程概述Vim文本編輯器VIMTextEditor01編寫Shell腳本W(wǎng)ritingShellScripts02流程控制語句ProcessControlStatement03計(jì)劃任務(wù)服務(wù)程序ScheduledTaskServiceProcedure04前言0301介紹如何使用Vim編輯器來編寫和修改文檔,然后通過逐步配置主機(jī)名稱、系統(tǒng)網(wǎng)卡以及軟件倉庫等文件,幫助大家加深Vim編輯器中諸多命令、快捷鍵與模式的理解。02在Shell腳本中以多種方式接收用戶輸入的信息,能夠?qū)斎胫颠M(jìn)行文件、數(shù)字、字符串的判斷比較。在熟練使用“與、或、非”三種邏輯操作符的基礎(chǔ)上,大家還要充分學(xué)習(xí)if、for、while、case條件測試語句,并通過10多個(gè)實(shí)戰(zhàn)腳本的實(shí)操練習(xí),達(dá)到在工作中靈活運(yùn)用的水準(zhǔn)。03通過實(shí)戰(zhàn)的方式演示了使用at命令與crond計(jì)劃任務(wù)服務(wù)來分別實(shí)現(xiàn)一次性的系統(tǒng)任務(wù)設(shè)置和長期性的系統(tǒng)任務(wù)設(shè)置,在分鐘、小時(shí)、日期、月份、年份的基礎(chǔ)上實(shí)現(xiàn)工作的自動(dòng)化,從而讓日常的工作更加高效。Vim文本編輯器VIMTextEditorPARTONEVim文本編輯器05在Linux系統(tǒng)中一切都是文件,而配置一個(gè)服務(wù)就是在修改其配置文件的參數(shù)。而且在日常工作中大家也肯定免不了要編寫文檔,這些工作都是通過文本編輯器來完成的。讓讀者切實(shí)掌握Linux系統(tǒng)的運(yùn)維方法,而不是僅僅停留在“會(huì)用某個(gè)操作系統(tǒng)”的層面上,我們這里選擇使用Vim文本編輯器,它默認(rèn)會(huì)安裝在當(dāng)前所有的Linux操作系統(tǒng)上,是一款超棒的文本編輯器。Vim的發(fā)布最早可以追溯到1991年,英文全稱為ViImproved。它也是Vi編輯器的提升版本,其中最大的改進(jìn)當(dāng)屬添加了代碼著色功能,在某些編程場景下還能自動(dòng)修正錯(cuò)誤代碼。Vim的發(fā)布文本編輯器目的Vim文本編輯器06輸入模式正常的文本錄入。命令模式控制光標(biāo)移動(dòng),可對(duì)文本進(jìn)行復(fù)制、粘貼、刪除和查找等工作。12三種模式末行模式保存或退出文檔,以及設(shè)置編輯環(huán)境。3Vim文本編輯器07命令模式輸入模式末行模式Esc鍵Esc鍵a、i、o等鍵:鍵Vim編輯器模式的切換方法命令模式中最常用的一些命令08命令作用dd刪除(剪切)光標(biāo)所在整行5dd刪除(剪切)從光標(biāo)處開始的5行yy復(fù)制光標(biāo)所在整行5yy復(fù)制從光標(biāo)處開始的5行n顯示搜索命令定位到的下一個(gè)字符串N顯示搜索命令定位到的上一個(gè)字符串u撤銷上一步的操作p將之前刪除(dd)或復(fù)制(yy)過的數(shù)據(jù)粘貼到光標(biāo)后面末行模式中常用的一些命令09命令作用:w保存:q退出:q!強(qiáng)制退出(放棄對(duì)文檔的修改內(nèi)容):wq!強(qiáng)制保存退出:setnu顯示行號(hào):setnonu不顯示行號(hào):命令執(zhí)行該命令:整數(shù)跳轉(zhuǎn)到該行:s/one/two將當(dāng)前光標(biāo)所在行的第一個(gè)one替換成two:s/one/two/g將當(dāng)前光標(biāo)所在行的所有one替換成two:%s/one/two/g將全文中的所有one替換成two?字符串在文本中從下至上搜索該字符串/字符串在文本中從上至下搜索該字符串編寫簡單文檔10嘗試編寫文本文檔切換至編輯器的輸入模式在編輯器中輸入文本內(nèi)容編寫簡單文檔11切換至編輯器的命令模式切換至編輯器的末行模式查看文檔的內(nèi)容編寫簡單文檔12再次通過Vim編輯器編寫文檔進(jìn)入Vim編輯器的輸入模式追加寫入一行文本內(nèi)容編寫簡單文檔13退出文本編輯器因文件已被修改而拒絕退出操作強(qiáng)制退出文本編輯器編寫簡單文檔14查看最終編寫成的文本內(nèi)容注下面的實(shí)驗(yàn)如果做不成功也很正常,請大家把重心放到Vim編輯器上面,能成功修改配置文件就已經(jīng)很棒啦!配置主機(jī)名稱15第2步把原始主機(jī)名稱刪除后追加“”。注意,使用Vim編輯器修改主機(jī)名稱文件后,要在末行模式下執(zhí)行“:wq!”命令才能保存并退出文檔。第1步使用Vim編輯器修改/etc/hostname主機(jī)名稱文件。12配置主機(jī)名稱第3步保存并退出文檔,然后使用hostname命令檢查是否修改成功。3配置網(wǎng)卡信息步驟1601首先切換到/etc/sysconfig/network-scripts目錄中(存放著網(wǎng)卡的配置文件)。02使用Vim編輯器修改網(wǎng)卡文件ifcfg-ens160,逐項(xiàng)寫入下面的配置參數(shù)并保存退出。由于每臺(tái)設(shè)備的硬件及架構(gòu)是不一樣的,因此請讀者使用ifconfig命令自行確認(rèn)各自網(wǎng)卡的默認(rèn)名稱。設(shè)備類型:TYPE=Ethernet地址分配模式:BOOTPROTO=static網(wǎng)卡名稱:NAME=ens160是否啟動(dòng):ONBOOT=yesIP地址:IPADDR=0子網(wǎng)掩碼:NETMASK=網(wǎng)關(guān)地址:GATEWAY=DNS地址:DNS1=03重啟網(wǎng)絡(luò)服務(wù)并測試網(wǎng)絡(luò)是否連通。配置軟件倉庫步驟1701進(jìn)入/etc/yum.repos.d/目錄中(因?yàn)樵撃夸洿娣胖浖}庫的配置文件)。02使用Vim編輯器創(chuàng)建一個(gè)名為rhel8.repo的新配置文件(文件名稱可隨意,但后綴必須為.repo),逐項(xiàng)寫入下面的配置參數(shù)并保存退出。倉庫名稱:具有唯一性的標(biāo)識(shí)名稱,不應(yīng)與其他軟件倉庫發(fā)生沖突。描述信息(name):可以是一些介紹性的詞,易于識(shí)別軟件倉庫的用處。倉庫位置(baseurl):軟件包的獲取方式,可以使用FTP或HTTP下載,也可以是本地的文件(需要在后面添加file參數(shù))。是否啟用(enabled):設(shè)置此源是否可用;1為可用,0為禁用。是否校驗(yàn)(gpgcheck):設(shè)置此源是否校驗(yàn)文件;1為校驗(yàn),0為不校驗(yàn)。公鑰位置(gpgkey):若上面的參數(shù)開啟了校驗(yàn)功能,則此處為公鑰文件位置。若沒有開啟,則省略不寫。03按配置參數(shù)中所填寫的倉庫位置掛載光盤,并把光盤掛載信息寫入/etc/fstab文件中。04使用“dnfinstallhttpd-y”命令檢查軟件倉庫是否已經(jīng)可用。編寫Shell腳本PARTTWOWritingShellScriptsShell腳本命令19批處理(Batch)由用戶事先編寫好一個(gè)完整的Shell腳本,Shell會(huì)一次性執(zhí)行腳本中諸多的命令。交互式(Interactive)用戶每輸入一條命令就立即執(zhí)行。12工作方式可以將Shell終端解釋器當(dāng)作人與計(jì)算機(jī)硬件之間的“翻譯官”,它作為用戶與Linux系統(tǒng)內(nèi)部的通信媒介,除了能夠支持各種變量與參數(shù)外,還提供了諸如循環(huán)、分支等高級(jí)編程語言才有的控制結(jié)構(gòu)特性。編寫簡單的腳本20[root@linuxprobe~]#vimexample.sh#!/bin/bash#ForExampleBYpwdls-al第二行的注釋信息(#)是對(duì)腳本功能和某些命令的介紹信息,使得自己或他人在日后看到這個(gè)腳本內(nèi)容時(shí),可以快速知道該腳本的作用或一些警告信息;第一行的腳本聲明(#!)用來告訴系統(tǒng)使用哪種Shell解釋器來執(zhí)行該腳本;12第三、四行的可執(zhí)行語句也就是我們平時(shí)執(zhí)行的Linux命令了3元素接受用戶的參數(shù)21[root@linuxprobe~]#./Example.shonetwothreefourfivesix$1,第1個(gè)位置參數(shù)$2,第2個(gè)位置參數(shù)$6,第6個(gè)位置參數(shù)01$0對(duì)應(yīng)的是當(dāng)前Shell腳本程序的名稱02$#對(duì)應(yīng)的是總共有幾個(gè)參數(shù)03$*對(duì)應(yīng)的是所有位置的參數(shù)值04$?對(duì)應(yīng)的是顯示上一次命令的執(zhí)行返回值05$1、$2、$3……則分別對(duì)應(yīng)著第N個(gè)位置的參數(shù)值Shell腳本程序中的參數(shù)位置變量判斷用戶的參數(shù)22hell腳本中的條件測試語法可以判斷表達(dá)式是否成立,若條件成立則返回?cái)?shù)字0,否則便返回非零值。條件表達(dá)式兩邊均應(yīng)有一個(gè)空格。測試語句格式1、文件測試語句;2、邏輯測試語句;3、整數(shù)值比較語句4、字符串比較語句按照測試對(duì)象來劃分,條件測試語句[條件表達(dá)式]兩邊均應(yīng)有個(gè)空格文件測試所用參數(shù)23運(yùn)算符作用-d測試文件是否為目錄類型-e測試文件是否存在-f判斷是否為一般文件-r測試當(dāng)前用戶是否有權(quán)限讀取-w測試當(dāng)前用戶是否有權(quán)限寫入-x測試當(dāng)前用戶是否有權(quán)限執(zhí)行邏輯語句24||是邏輯“或”,只有當(dāng)前面的語句執(zhí)行失敗的時(shí)候才會(huì)執(zhí)行后面的語句。&&是邏輯“與”,只有當(dāng)前面的語句執(zhí)行成功的時(shí)候才會(huì)執(zhí)行后面的語句。12!是邏輯“非”,代表對(duì)邏輯測試結(jié)果取反值;之前若為正確則變成錯(cuò)誤,若為錯(cuò)誤則變成正確。3邏輯語句可用的整數(shù)比較運(yùn)算符25運(yùn)算符作用-eq是否等于-ne是否不等于-gt是否大于-lt是否小于-le是否等于或小于-ge是否大于或等于常見的字符串比較運(yùn)算符26運(yùn)算符作用=比較字符串內(nèi)容是否相同!=比較字符串內(nèi)容是否不同-z判斷字符串內(nèi)容是否為空流程控制語句ProcessControlStatementPARTTHREE流程控制語句28原因是它不能根據(jù)真實(shí)的工作需求來調(diào)整具體的執(zhí)行命令,也不能根據(jù)某些條件實(shí)現(xiàn)自動(dòng)循環(huán)執(zhí)行。通俗來講,就是不能根據(jù)實(shí)際情況做出調(diào)整。盡管此時(shí)可以通過使用Linux命令、管道符、重定向以及條件測試語句來編寫最基本的Shell腳本,但是這種腳本并不適用于生產(chǎn)環(huán)境。12通常腳本都是從上到下一股腦兒地執(zhí)行,效率是很高,但一旦某條命令執(zhí)行失敗了,則后面的功能全都會(huì)受到影響。3流程控制語句流程控制語句29if條件測試語句可以讓腳本根據(jù)實(shí)際情況自動(dòng)執(zhí)行相應(yīng)的命令。從技術(shù)角度來講,if語句分為單分支結(jié)構(gòu)、雙分支結(jié)構(gòu)、多分支結(jié)構(gòu);其復(fù)雜度隨著靈活度一起逐級(jí)上升。if條件測試語句單分支的if條件語句If條件測試操作then命令序列fiIf目錄不存在then創(chuàng)建該目錄fi雙分支的if條件語句If條件測試操作then命令序列1else命令序列2fiIf能夠ping通then提示服務(wù)器正常工作else報(bào)警服務(wù)器出現(xiàn)問題fi多分支的if條件語句If條件測試操作1then命令序列1Elif條件測試操作2then命令序列2Else
命令序列3fiIf分?jǐn)?shù)為85~100之間then判為優(yōu)秀Elif分?jǐn)?shù)為70~84之間then判為合格Else
判為不合格fi流程控制語句30for循環(huán)語句允許腳本一次性讀取多個(gè)信息,然后逐一對(duì)信息進(jìn)行操作處理。當(dāng)要處理的數(shù)據(jù)有范圍時(shí),使用for循環(huán)語句就再適合不過了。for條件循環(huán)語句For范圍循環(huán)語句for變量名in取值列表Do
命令序列doneFor用戶名in列表文件Do
創(chuàng)建用戶并設(shè)置密碼done流程控制語句31while條件循環(huán)語句While條件測試操作do
命令序列donewhile未猜中正確價(jià)格do反復(fù)猜測商品價(jià)格donewhile條件循環(huán)語句是一種讓腳本根據(jù)某些條件來重復(fù)執(zhí)行命令的語句,它的循環(huán)結(jié)構(gòu)往往在執(zhí)行前并不確定最終執(zhí)行的次數(shù),while循環(huán)語句通過判斷條件測試的真假來決定是否繼續(xù)執(zhí)行命令,若條件為真就繼續(xù)執(zhí)行,為假就結(jié)束循環(huán)。while條件循環(huán)語句流程控制語句32case條件測試語句和switch語句的功能非常相似!case語句是在多個(gè)范圍內(nèi)匹配數(shù)據(jù),若匹配成功則執(zhí)行相關(guān)命令并結(jié)束整個(gè)條件測試;如果數(shù)據(jù)不在所列出的范圍內(nèi),則會(huì)去執(zhí)行星號(hào)(*)中所定義的默認(rèn)命令。case條件測試語句case條件測試語句case變量值in模式1)
命令序列1
;;模式2)
命令序列2
;;……*)
默認(rèn)命令序列esacCase輸入的字符in[a-z]|[A-Z])提示為字母。
;;[0-9])
提示為數(shù)字。
;;……*)
提示為特殊字符esac計(jì)劃任務(wù)服務(wù)程序ScheduledTaskServiceProcedurePARTFOUR計(jì)劃任務(wù)服務(wù)程序3401一次性計(jì)劃任務(wù):今晚23:30重啟網(wǎng)站服務(wù)。一次性計(jì)劃任務(wù)只執(zhí)行一次,一般用于臨時(shí)的工作需求。可以用at命令實(shí)現(xiàn)這種功能,只需要寫成“at時(shí)間”的形式就行。如果想要查看已設(shè)置好但還未執(zhí)行的一次性計(jì)劃任務(wù),可以使用at-l命令;要想將其刪除,可以使用“atrm任務(wù)序號(hào)”。02長期性計(jì)劃任務(wù):每周一的凌晨3:25把/home/wwwroot目錄打包備份為backup.tar.gz。參數(shù)作用-e編輯計(jì)劃任務(wù)-u指定用戶名稱-l列出任務(wù)列表-r刪除計(jì)劃任務(wù)crontab命令中的參數(shù)及其作用使用crond設(shè)置任務(wù)的參數(shù)格式35時(shí)間周期設(shè)置分鐘50小時(shí)3日期2月份1星期*時(shí)間周期設(shè)置命令run_command使用crond設(shè)置任務(wù)的參數(shù)字段說明36字段說明分鐘取值為0~59的整數(shù)小時(shí)取值為0~23的任意整數(shù)日期取值為1~31的任意整數(shù)月份取值為1~12的任意整數(shù)星期取值為0~7的任意整數(shù),其中0與7均為星期日命令要執(zhí)行的命令或程序腳本使用計(jì)劃服務(wù)的注意事項(xiàng)3701在crond服務(wù)的配置參數(shù)中,一般會(huì)像Shell腳本那樣以#號(hào)開頭寫上注釋信息,這樣在日后回顧這段命令代碼時(shí)可以快速了解其功能、需求以及編寫人員等重要信息。02計(jì)劃任務(wù)中的“分”字段必須有數(shù)值,絕對(duì)不能為空或是*號(hào),而“日”和“星期”字段不能同時(shí)使用,否則就會(huì)發(fā)生沖突。復(fù)習(xí)題381.Vim編輯器的3種模式分別是什么?答:命令模式、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 虛擬電廠協(xié)同控制-洞察分析
- 銀行理財(cái)風(fēng)險(xiǎn)管理創(chuàng)新-洞察分析
- 行業(yè)產(chǎn)業(yè)鏈上下游競爭關(guān)系-洞察分析
- 通信設(shè)備環(huán)保材料應(yīng)用-洞察分析
- 《舞臺(tái)燈光常識(shí)》課件
- 《電磁感應(yīng)中的電路》課件
- 2024年柳州市職工療養(yǎng)院廣西地質(zhì)職工醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 2024年05月山西晉商銀行校園招考筆試歷年參考題庫附帶答案詳解
- 2024年05月吉林廣發(fā)銀行長春分行實(shí)習(xí)生招考筆試歷年參考題庫附帶答案詳解
- 2024年有色總公司一建公司第二職工醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- (完整版)非計(jì)劃性拔管魚骨圖
- DB32∕T 3377-2018 城市公共建筑人防工程規(guī)劃設(shè)計(jì)規(guī)范
- 中建三局住宅工程精益建造實(shí)施指南
- 分布式光伏發(fā)電項(xiàng)目并網(wǎng)驗(yàn)收意見單
- 網(wǎng)站隱私政策模板
- YY∕T 1831-2021 梅毒螺旋體抗體檢測試劑盒(免疫層析法)
- 消弧產(chǎn)品規(guī)格實(shí)用標(biāo)準(zhǔn)化規(guī)定
- 裝飾裝修工程施工合理化建議和降低成本措施提要:完整
- 第十四章35kV變電站保護(hù)整定值計(jì)算實(shí)例
- 液態(tài)模鍛工藝介紹
- 水泵水輪機(jī)結(jié)構(gòu)介紹
評(píng)論
0/150
提交評(píng)論