LinuxShell自動化運維-課后習(xí)題答案_第1頁
LinuxShell自動化運維-課后習(xí)題答案_第2頁
LinuxShell自動化運維-課后習(xí)題答案_第3頁
LinuxShell自動化運維-課后習(xí)題答案_第4頁
LinuxShell自動化運維-課后習(xí)題答案_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

LinuxShell自動化運維■課后習(xí)題答案

1.填空題

(1)環(huán)境變量、位置變量和預(yù)定義變量。

(2)腳本名,所有的參數(shù)

(3)使用read命令賦值、使用命令行的輸出結(jié)果賦值、從文件讀取賦值。

(4)hello

(5)與,或

2.選擇題

(1)C

⑵C

(3)B

(4)A

(5)B

3.思考題

(l)Shell變量的自增運算符是i++和++i,i++表示先賦值再自加,++i表示先自加再賦值。

⑵be、expr、let

4.編程題

(1)#當(dāng)變量a為null時則var=b

var=${a-b}

#當(dāng)變量a為null或為空字符串時則var=b

var=${a:-b}

(2)printf("\033[字背景顏色;字體顏色m字符串\033[0m”);

1.填空題

(1)順序語句,分支語句(條件語句),循環(huán)語句。

(2)if[條件表達(dá)式]

then

代碼塊1

else

代碼塊2

fi

(3)可讀性較好,可執(zhí)行條件一目了然。

(4)case變量值in

條件表達(dá)式1)

代碼塊1

條件表達(dá)式2)

代碼塊2

條件表達(dá)式3)

代碼塊3

*)

無匹配后代碼塊

esac

(5)if[條件表達(dá)式l];then

代碼塊1

elif[條件表達(dá)式2];then

代碼塊2

elif[條件表達(dá)式3];then

代碼塊3

else

代碼塊4

fi

2.選擇題

(1)C

(2)A

(3)A

(4)D

⑸A

3.思考題

(1)IF語句和CASE語句相比,case語句的可讀性較好,它把條件中所有可能出現(xiàn)的情況全部

列出來了,可執(zhí)行條件一目了然。而且CASE語句的執(zhí)行過程不像IF語句那樣又一個逐項條

件順序比較的過程。CASE語句中條件句的次序是不重要的,它的執(zhí)行過程更接近于并行方

式。

4.編程題

(1)#!/bin/bash

#使用死循環(huán)實時顯示ethO網(wǎng)卡發(fā)送的數(shù)據(jù)包流量

while:

do

echo,本地網(wǎng)卡ethO流量信息如下:'

ifconfigethO|grep"RXpack”|awk'(print$5}'

ifconfigethO|grep"TXpack”|awk'{print$5}'

sleep1

Done

1.填空題

(1)for變量名in取值列表

do

循環(huán)體

done

(2)for循環(huán),while循環(huán)、util循環(huán)

(3)用于守護進程或持續(xù)運行的程序,其中循環(huán)的次數(shù)可以是固定的,也可以不固定。

(4)for循環(huán)實現(xiàn)、for循環(huán)放在后臺執(zhí)行和Linux管道實現(xiàn)高并發(fā)

(5)有名管道,無名管道

2.選擇題

(1)C

(2)B

⑶B

⑷A

⑸B

3.思考題

(1)for循環(huán)主要用于固定次數(shù)的循環(huán),而不是用于守護進程及無限循環(huán),while循環(huán)語句主

要用來重復(fù)執(zhí)行一組命令或語句,常用于守護進程或持續(xù)運行的程序,其中循環(huán)的次數(shù)可以

是固定的,也可以不固定。

4.編程題

(1)#!/bin/bash

source/etc/init.d/functions

foriin10.0.0.{1..22};do

ping-c1-w1$i&>/dev/null&&action$i&

done

(2)#!/bin/bash

#提取根分區(qū)剩余空間

disk_size=$(df-h/|awk7\〃{print$4}')

#提取內(nèi)存剩余空間

disk_size=$(df-h/|awk7\〃{print$4}')

while:

do

#注意內(nèi)存和磁盤提取的空間大小都是以Kb為單位

if[$disk_size-Ie512000-a$mem_size-Ie1024000];then

mail-sWarningroot?EOF

Insufficientresources,資源不足

EOF

fi

Done

L填空題

(1)Shell數(shù)組是相同數(shù)據(jù)類型的元素按一定順序排列的元素集合,把有限個相同類型的變

量用一個名字命名,然后用編號區(qū)分他們的變量的集合,這個名字稱為數(shù)組名,用于區(qū)分不

同內(nèi)容的編號稱為數(shù)組下標(biāo)。

(2)普通數(shù)組關(guān)聯(lián)數(shù)組

(3)關(guān)聯(lián)數(shù)組使用之前需要聲明,與普通數(shù)組最大的區(qū)別是關(guān)聯(lián)數(shù)組由特定格式的鍵值對組

(4)數(shù)組的定義方法有直接定義數(shù)組、下標(biāo)定義數(shù)組、間接定義數(shù)組和從文件中讀入定義數(shù)

(5)array_name=(valuelvalue2value3.......)

數(shù)組名=(變量值1變量值2變量值3。。。。。。)

2.選擇題

⑴A

(2)C

(3)D

(4)A

⑸B

3.編程題

(1)#!/bin/bash

username="mayuan"

獲取字符串的長度

#!/bin/bash

username="mayuan,,

echo${#username}#6

(2)$arry_name[indexl]=valuel

$array_name[index2]=value2

數(shù)組名[下標(biāo)上變量值

1.填空題

(1)強制退出最近的一層循環(huán),用于for、while^repeat語句中強制退出

⑵函數(shù)名(乂

函數(shù)要實現(xiàn)的功能代碼

)

或:

function函數(shù)名{

函數(shù)要實現(xiàn)的功能代碼

)

⑶函數(shù)名參數(shù)1參數(shù)2

(4)傳遞到腳本的參數(shù)個數(shù)

(5)0-255

2.選擇題

(1)C

(2)A

(3)C

(4)D

(5)D

3.編程題

(1)定義在子程序中的變量

(2)[root@db02scripts]#catdownload.sh

#!/bin/sh

[-f/etc/init.d/functions]&&./etc/init.d/functions##加載系統(tǒng)函數(shù)庫

URL=$1##傳參

DIR=$2

if[$#-ne2];then#判斷傳參個數(shù)

action"sh$0"/bin/false

echo"Warning:Lackparameter"

echo"USAGE:sh$0WEB_URLDIR_PATH"

exit1

fi

download(){##定義函數(shù)

If(!-d$DIR];then

read-p"$DIRnotexistneedcreate?(y/n)"char#read讀入

if["$char"="y"]##if判斷字符串比較""雙引號括起來用=等號比較

then#整數(shù)比較不用引號可以用-eq

mkdir$DIR-p

cd$DIR

wget$URL&>/dev/null

if[$?-ne0];then

return"52"#return函數(shù)中的返回值,類似于exit

fi

else

return"51"

fi

fi

)

download$URL$DIR##前面dcwnload是函數(shù)名;$URL位置是函數(shù)的第一個參數(shù),也是腳

本的第一個參數(shù)=$1

if[$?-eq0];then

action"wget$URL"/bin/true

else

sleep1

action"wget$URL"/bin/false

sleep1

exit1

fi

1.填空題

(1)一些普通字符一些元字符tmetacharacters)o

(2)普通字符包括大小寫的字母數(shù)字,具有特殊的含義

(3)最少匹配m次且最多匹配n次

(4)匹配X或V。例如,“zlfood”能匹配“z”或“food”(此處請謹(jǐn)嗔)?!皕f]ood”則匹配

“zood”或“food”

(5)grep[OPTIONS選項]PATTERN[FILENAMEFILENAME.......]

2.選擇題

(1)A

(2)B

(3)D

(4)D

(5)B

3.簡答題

(1)正則表達(dá)式與擴展正則表達(dá)式類似,只是擴展正則表達(dá)式表達(dá)更加簡單

正則表達(dá)式需要打'轉(zhuǎn)義字符來表示某些字符的意思,而擴展正則表達(dá)式則不需要:

(2)vicheckjp.sh

#!/usr/bln/sh

ChecklPAddr()

(

echo$11grep"A[0-9]\{1,3\}\.\([0-9]\{1,3\}\.\)\{2\}[0-9]\{1/3\}$">/dev/null;

#IP地址必須為全數(shù)字

if[$?-ne0]

then

return1

fi

ipaddr=$l

a='echo$ipaddr|awk-F.,{print$1}'、#以”.“分隔,取出每個列的值

b='echo$ipaddr|awk-F.'{print$2}'、

c='echo$ipaddr|awk-F.'{print$3}'、

d='echo$ipaddr|awk-F.'{print$4}'、

fornumin$a$b$c$d

do

if[$num-gt255]11[$num-It0]#每個數(shù)值必須在0-255之間

then

return1

fi

done

return0

)

if[$#-ne1];then#判斷傳參數(shù)量

echo"Usage:$0ipaddress."

exit

else

ChecklPAddr$l

Fi

1.填空題

(1)StreamEDitor即流編輯器模式匹配的過濾及修改文本

(2)sed一次處理一行內(nèi)容。處理時,把當(dāng)前處理的行存儲在臨時緩沖區(qū)中,稱為模式空間

(patternspace),接著用sed命令處理緩沖區(qū)中的內(nèi)容,處理完成后,把緩沖區(qū)的內(nèi)容輸出

到屏幕。接著處理下一行,這樣不斷重復(fù),直到文件末尾。文件內(nèi)容并沒有改變,除非你使

用重定向存儲輸出。sed主要用來自動編輯一個或多個文件,簡化對文件的反復(fù)操作,編寫

轉(zhuǎn)換程序等。

(3)模式空間(patternspace)、保持空間又稱作暫存緩沖區(qū)(holdingspace)。

(4)sed[options]commandfilelfile2…

或:

sed[options]-fscriptfile

(5)A,$,.,*,[],1],\<\>,\(\),\{\}

2.選擇題

(1)A

(2)C

⑶D

⑷c

⑸B

3.簡答題

(1)第一步:sed每次將標(biāo)準(zhǔn)輸入中的內(nèi)容中的一行讀入模式空間。

第二步:之后根據(jù)模式空間中的匹配條件進行匹配,符合條件進入下一階段即普通編輯,不

滿足則默認(rèn)至標(biāo)準(zhǔn)輸出,結(jié)束。

第三步:普通編輯之后分三個階段,(1)普通編輯之后選擇性顯示至S

TDOUT,結(jié)束:(2)進入holdingspace進行高級編輯,編輯結(jié)束后選擇性顯示至模式空間,

之后再次根據(jù)編輯命令重復(fù)(2)-(3)過程;(3)若是出現(xiàn)多次編輯命令則需要再返回模

式空間根據(jù)編輯條件再次進行(2)-(3)步驟。

(2)sed'l!G;h;$!d'12345.txt

L填空題

(1)awk的處理文本和數(shù)據(jù)的流程方式是這樣的。它逐行掃描文件,從第一行到最后一行,

尋找匹配的特定模式的行,并在這些行上進行你想要的操作。如果沒有指定處理動作,則把

匹配的行顯示到標(biāo)準(zhǔn)輸出(屏幕),如果沒有指定模式,則所有被操作所指定的行都被處理。

(2)BEGIN和END

(3)awk'pattern'filename

或:

awk'{action}'filename

或:

awk'pattern{action}'filename

(4)if(條件表達(dá)式)

語句1

else

語句2

或:

if(條件表達(dá)式)語句1;else語句2

(5)break、continue語句

2.選擇題

(1)A

(2)B

(3)C

(4)D

(5)C

3.簡答題

(1)ifconfigethO|grep'inetaddr'|awk-F'{print$2}'|awk'{print$1}'

(2)arp-n|awk7A[l-9]/{system("arp-d"$!)}'

1.填空題

(1)CPU、網(wǎng)絡(luò)、磁盤、內(nèi)存

(2)vmstatssar、iostat、netstatsfree、ps、top、mpstat以及第三方開發(fā)工具,如:dstat、

collectl及開源監(jiān)控項目tsar等

(3)服務(wù)器的CPU使用率、內(nèi)存使用、虛擬內(nèi)存交換情況、10讀寫情況。

(4)顯示了多少進程在等待cpu,多少進程正在不可中斷的休眠(等待10)。

(5)sar[options][-A][-ofile]t[n]

2.選擇題

⑴A

(2)B

⑶c

(4)B

(5)B

3.簡答題

(1)#netstat-i

KernelInterfacetable

IfaceMTUMetRX-OKRX-ERRRX-DRPRX-OVRTX-OKTX-ERRTX-DRPTX-OVRFig

et

溫馨提示

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

評論

0/150

提交評論