LinuxShell自動化運維-課后習題答案.docx_第1頁
LinuxShell自動化運維-課后習題答案.docx_第2頁
LinuxShell自動化運維-課后習題答案.docx_第3頁
LinuxShell自動化運維-課后習題答案.docx_第4頁
LinuxShell自動化運維-課后習題答案.docx_第5頁
已閱讀5頁,還剩1頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、LinuxShell自動化運維-課后習題答案1. 填空題環境變量、位置變量和預定義變量。(1) 腳本名,所有的參數使用read命令賦值、使用命令行的輸出結果賦值、從文件讀取賦值。(2) hello與,或2. 選擇題CCBAB3. 思考題Shell變量的自增運算符是i+和+i,i+表示先翩值再自加,+i表示先白加再賦值。(2) be、exprlet編程題(1) #當變量a為null時則var=bvar=$a-b#當變量a為null或為空字符串時則var=bvar=$(a:-b)(2) printf("033字背景顏色;字體顏色m字符串0330m”);填空題(1) 順序語句,分支語句(條

2、件語句),循環語句。if條件表達式then代碼塊1else代碼塊2fi可讀性較好,可執行條件一目了然。(3) case變量值in條件表達式1)代碼塊1條件表達式2)代碼塊2條件表達式3)代碼塊3*)無匹配后代碼塊esacif條件表達式l;then代碼塊1elif條件表達式2;then代碼塊2elif條件表達式3);then代碼塊3else代碼塊4fi選擇題CAADA思考題IF語句和CASE語句相比,case語句的可讀性較好,它把條件中所有可能出現的情況全部列出來了,可執行條件一目了然。而且CASE語句的執行過程不像IF語句那樣又一個逐項條件順序比較的過程。CASE語句中條件句的次序是不重要的,

3、它的執行過程更接近于并行方式。1. 編程題(1) #!/bin/bash#使用死循環實時顯示ethO網卡發送的數據包流量while:doecho,本地網卡ethO流量信息如下:ifconfigethO|grep"RXpack”|awk'print$5'ifconfigethO|grep“TXpack"|awk'print$5'sleep1Done1. 填空題for變量名in取值列表do循環體done(2) for循環,while循環、util循環用于守護進程或持續運行的程序,其中循環的次數可以是固定的,也可以不固定。(3) for循環實現、f

4、or循環放在后臺執行和Linux管道實現高并發有名管道,無名管道2. 選擇題CBB(4)AB3. 思考題for循環主要用于固定次數的循環,而不是用于守護進程及無限循環,while循環語句主要用來重復執行一組命令或語句,常用于守護進程或持續運行的程序,其中循環的次數可以是固定的,也可以不固定。4. 編程題(1) #!/bin/bashsource/etc/init.d/functionsforiin10.0.0.1.22;doping-c1-w1$i&>/dev/null&&action$i&done(2) #!/bin/bash#提取根分區剩余空間disk

5、_size=$(df-h/|awk7V/pi"int$4)')#提取內存剩余空間disk_size=$(df-h/|awk7V/(print$4)')while:do#注意內存和磁盤提取的空間大小都是以Kb為單位if$disk_size-le512000-a$mem_size-le1024000;thenmail-sWarningroot«EOFInsufficientresources,資源不足EOFfiDone1. 填空題Shell數組是相同數據類型的元素按一定順序排列的元素集合,把有限個相同類型的變量用一個名字命名,然后用編號區分他們的變量的集合,這個

6、名字稱為數組名,用于區分不同內容的編號稱為數組下標。(1) 普通數組關聯數組關聯數組使用之前需要聲明,與普通數組最大的區別是關聯數組由特定格式的鍵值對組成(2) 數組的定義方法有直接定義數組、下標定義數組、間接定義數組和從文件中讀入定義數組array_name=(valuelvalue2value3)數組名=(變量值1變量值2變量值3oooooo)選擇題(1)ACD(4)AB3.編程題(1) #!/bin/bashusername="mayuan"獲取字符串的長度#!/bin/bashusername="mayuan"echo$(#username#6(

7、2) $arry_nameindexl=valuel$array_nameindex2=value2數組名下標=變量值填空題強制退出最近的一層循環,用于for、while>repeat語句中強制退出函數名()函數要實現的功能代碼)或:function函數名函數要實現的功能代碼函數名參數1參數2(4) 傳遞到腳本的參數個數0-2551. 選擇題CACDD2. 編程題(1) 定義在子程序中的變量(2) rootdb02scripts#catdownload.sh#!/bin/sh-f/etc/init.d/functions&&./etc/init.d/functions#加

8、載系統函數庫URL=$1#傳參DIR=$2if$#-ne2;then#判斷傳參個數action"sh$0"/bin/falseecho"Warninglackparameter"echo"USAGE:sh$0WEB_URLDIR_PATH"exit1fidownload()(#定義函數if!-d$DIR;thenread-p"$DIRnotexistneedcreate?(y/n)"char#read讀入if"$charH="y"#if判斷字符串比較雙引號括起來用=等號比較then#整

9、數比較不用引號可以用-eqmkdir$DIR-pcd$DIRwget$URL&>/dev/nullif$?-ne0;thenreturn"52"#return函數中的返回值,類似于exitfielsereturn"51"fifidownload$URL$DIR#前面download是函數名;$URL位置是函數的第一個參數,也是腳本的第一個參數=$1if$?-eq0;thenaction"wget$URL"/bin/trueelsesleep1action"wget$URL"/bin/falseslee

10、p1exit1fi填空題(1) 一些普通字符一些元字符(metacharacters)。(2) 普通字符包括大小寫的字母數字,具有特殊的含義最少匹配m次且最多匹配n次(3) 匹配x或y。例如,“z|food”能匹配"z”或“food”(此處請謹慎)。"zfood”則匹配"zood”或“food”grepOPTIONS選項PATTERNFILENAMEFILENAME1. 選擇題ABDDB3, 簡答題(1)正則表達式與擴展正則表達式類似,只是擴展正則表達式表達更加簡單正則表達式需要打'轉義字符來表示某些字符的意思,而擴展正則表達式則不需要:(2)vichec

11、kjp.sh#!/usr/bin/shChecklPAddr()(echo$11grep"0-91,3.(0-91,3.)20-91,3$">/dev/null;#IP地址必須為全數字if$?-ne0thenreturn1fiipaddr=$la=echo$ipaddr|awk-F.print$1'、#以”.“分隔,取出每個列的值b='echo$ipaddr|awk-F.'print$2'、c='echo$ipaddr|awk-F.'(print$3)'xd=echo$ipaddr|awk-F.'(pri

12、nt$4'、fornumin$a$b$c$ddoif($num-gt25511$num-It0)#每個數值必須在0-255之間thenreturn1fidonereturn0if($#-ne1;then#判斷傳參數量echo"Usage:$0ipaddress."exitelseChecklPAddr$lFi1. 填空題StreamEDitor即流編輯器模式匹配的過濾及修改文本(2)sed-次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為模式空間(patternspace),接著用sed命令處理緩沖區中的內容,處理完成后,把緩沖區的內容輸出到屏幕。接著

13、處理下一行,這樣不斷重復,直到文件末尾。文件內容并沒有改變,除非你使用重定向存儲輸出。sed主要用來自動編輯一個或多個文件,簡化對文件的反復操作,編寫轉換程序等。模式空間(patternspace)、保持空間又稱作暫存緩沖區(holdingspace)。(4) sedoptionscommandfilelfile2或:sedoptions-fscriptfile人,$,.,*,,f,<>,(),2. 選擇題ACD(4)CB3. 簡答題第一步:sed每次將標準輸入中的內容中的一行讀入模式空間。第二步:之后根據模式空間中的匹附條件進行匹配,符合條件進入下一階段即普通編輯,不滿足則默認至

14、標準輸出,結束。第三步:普通編輯之后分三個階段,(1)普通編輯之后選擇性顯示至STDOUT,結束;(2)進入holdingspace進行高級編輯,編輯結束后選擇性顯示至模式空間,之后再次根據編輯命令重復(2)-(3)過程;(3)若是出現多次編輯命令則需要再返回模式空間根據編輯條件再次進行(2)-(3)步驟。(1) sed'l!G;h;$!d'12345.txt填空題(1) awk的處理文本和數據的流程方式是這樣的。它逐行掃描文件,從第一行到最后一行,尋找匹配的特定模式的行,并在這些行上進行你想要的操作。如果沒有指定處理動作,則把匹配的行顯示到標準輸出(屏幕),如果沒有指定模式,

15、則所有被操作所指定的行都被處理。(2) BEGIN和ENDawk'pattern'filename或:awk'action'filename或:awk'patternaction'filenameif(條件表達式)語句1else語句2或:if(條件表達式)語句1;else語句2break、continue語句1. 選擇題ABCDC3, 簡答題(1) ifconfigethO|grep'inetaddr'|awk-F'(print$2'|awk'print$1'(2) arp-n|awk7Al-9/(

16、system("arp-d"$!)'填空題CPU、網絡、磁盤、內存vmstat、sar、iostat、netstat、free、ps、top、mpstat以及第三方開發工具,如:dstat、collect!及開源監控項目tsar等(1) 服務器的CPU使用率、內存使用、虛擬內存交換情況、10讀寫情況。(2) 顯示了多少進程在等待cpu,多少進程正在不可中斷的休眠(等待10)。(3) saroptions-A-ofiletn選擇題ABcBB簡答題(1)#netstat-iKernelInterfacetableIfaceMTUMetRX-OKRX-ERRRX-DRPRX-OVRTX-OKTX-ERRTX-DRPTX-OVRFigethO1500000BMUeth215000261960BMRUIo16436040LRU(2)i#netstat-1ActiveInternetconnections(onlyservers)ProtoRecv-QSend-QLocalAddresstcp00localhost:ipptcp600localhost:ippudp00*:49119ethO1500000BMUeth215000261960BMRUIo16436040LRU(2)i#netstat-1Act

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論