版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目一練習(xí)題參考答案1.選擇題(1)下列哪個(gè)變量表示當(dāng)前Shell的路徑?()A.$BASH B.$SHELL C.$KSH D.$C參考答案:B(2)如果要將新的環(huán)境變量VAR加入當(dāng)前Shell,下列哪個(gè)命令可以實(shí)現(xiàn)?()A.setVAR=value B.exportVAR=value C.VAR=value D.echoVAR=value參考答案:B(3)在環(huán)境變量PATH中,冒號(hào)分隔的各個(gè)目錄分別表示什么意義?()A.用戶的主目錄 B.系統(tǒng)的配置文件目錄C.可執(zhí)行文件的搜索路徑 D.常用的工具的安裝目錄參考答案:C(4)下列哪個(gè)命令可以用來(lái)加載配置文件?()A.exec B.load C.source D.Include參考答案:C(5)以下哪個(gè)是邏輯與運(yùn)算符?()A.+ B.- C.* D.&&參考答案:B(6)關(guān)于輸出重定向,以下哪種寫法將輸出追加到文件的末尾?()A.command>filename B.command>>filenameC.command<filename D.command<<filename參考答案:B(7)以下哪個(gè)命令可以在輸出中控制輸出格式?()A.echo B.printf C.read D.cat參考答案:B(8)使用printf命令輸出帶雙引號(hào)的字符串,應(yīng)該寫成下列哪項(xiàng)?()A.printf"Thisisastringwith"doublequotes"inside."B.printf'Thisisastringwith"doublequotes"inside.'C.printf"Thisisastringwith\"doublequotes\"inside."D.printf'Thisisastringwith\”doublequotes\”inside.'參考答案:C(9)如何設(shè)置環(huán)境變量MYVAR為helloworld?()A.MYVAR="helloworld" B.setMYVAR="helloworld"C.exportMYVAR="helloworld" D.setenvMYVAR="helloworld"參考答案:C(10)以下哪個(gè)選項(xiàng)是Shell中用于賦值的算術(shù)運(yùn)算符?()A.+ B.- C.== D.=參考答案:D(11)以下哪個(gè)選項(xiàng)是printf命令用于輸出字符串的格式化符號(hào)?()A.%s B.%d C.%f D.%x參考答案:A(12)以下哪個(gè)選項(xiàng)是printf命令用于輸出整數(shù)的格式化符號(hào)?()A.%s B.%d C.%f D.%x參考答案:B2.實(shí)訓(xùn)題(1)編寫一個(gè)Shell腳本,將當(dāng)前日期和時(shí)間輸出重定向到名為datetime.txt的文件中。[opencloud@server~]$catdate.sh#!/bin/bashdate>datetime.txt[opencloud@server~]$chmod+xdate.sh[opencloud@server~]$./date.sh[opencloud@server~]$catdatetime.shSatMay1110:05:52AMCST2024(2)編寫一個(gè)Shell腳本,要求用戶輸入姓名、年齡和職業(yè),并使用echo命令將這些信息輸出到屏幕上。[opencloud@server~]$catinfo.sh#!/bin/bashread-p"insert_name:"nameread-p"insert_age:"ageread-p"insert_job:"jobecho"name:$name"echo"age:$age"echo"job:$job"[opencloud@server~]$chmod+xinfo.sh[opencloud@server~]$./info.shinsert_name:userinsert_age:1000insert_job:devopsname:userage:1000job:devops(3)編寫一個(gè)Shell腳本,使用read命令獲取用戶輸入的數(shù)字,然后計(jì)算該數(shù)字的平方并輸出到屏幕上。[opencloud@server~]$catsquare.sh#!/bin/bashread-p"insert_number:"numberanswer=$((number*number))echo"square:$answer"[opencloud@server~]$chmod+xsquare.sh[opencloud@server~]$./square.shinsert_number:16square:256(4)編寫一個(gè)Shell腳本,用戶輸入姓名定義一個(gè)名為avatar的變量。然后使用echo命令將該變量輸出到屏幕上,并將其永久設(shè)置為環(huán)境變量。[opencloud@server~]$catvar.sh#!/bin/bashread-p"請(qǐng)輸入您的姓名:"nameavatar=$nameecho"您的姓名是:$avatar"echo"exportavatar=$avatar">>~/.bashrc[opencloud@server~]$chmod+xvar.sh[opencloud@server~]$./var.sh請(qǐng)輸入您的姓名:admin您的姓名是:admin[opencloud@server~]$source~/.bashrc[opencloud@server~]$echo$avataradmin(5)編寫一個(gè)Shell腳本,要求用戶輸入一個(gè)文件名,然后將用戶輸入的內(nèi)容保存到該文件中,并使用輸入重定向?qū)㈠e(cuò)誤信息輸出到error.log文件中。[opencloud@server~]$catfile.sh#!/bin/bashread-p"請(qǐng)輸入文件名:"filenameecho"請(qǐng)輸入文件內(nèi)容(按Ctrl+D結(jié)束輸入):"cat>"$filename"2>error.logif[-serror.log];thenecho"發(fā)生錯(cuò)誤,請(qǐng)查看error.log文件了解詳情。"elseecho"文件保存成功。"fi[opencloud@server~]$chmod+xfile.sh[opencloud@server~]$./file.sh請(qǐng)輸入文件名:testfile請(qǐng)輸入文件內(nèi)容(按Ctrl+D結(jié)束輸入):thisistestfilecontent#pressCTRL+DNOW#文件保存成功。[opencloud@server~]$cattestfilethisistestfilecontent#pressCTRL+DNOW#[opencloud@server~]$tree.├──error.log├──file.sh└──testfile0directories,3files項(xiàng)目二練習(xí)題參考答案1.選擇題(1)以下哪個(gè)選項(xiàng)用于判斷一個(gè)文件是否存在且為普通文件?()A.-d B.-e C.-f D.-r參考答案:C(2)在Shell腳本中,以下哪個(gè)選項(xiàng)用于判斷兩個(gè)整數(shù)是否相等?()A.-eq B.-lt C.-ne D.-gt參考答案:A(3)以下哪個(gè)選項(xiàng)是if語(yǔ)句的基本語(yǔ)法?()A.if[condition] B.if(condition) C.if{condition} D.if<condition>參考答案:A(4)在Shell腳本中,以下哪個(gè)選項(xiàng)用于實(shí)現(xiàn)多條件選擇語(yǔ)句?()A.if B.else C.case D.for參考答案:C(5)在Shell腳本中,以下哪個(gè)選項(xiàng)用于實(shí)現(xiàn)條件控制的結(jié)束?()A.endif B.end C.done D.fi參考答案:D(6)在Shell腳本中,以下哪個(gè)選項(xiàng)用于實(shí)現(xiàn)多個(gè)條件的邏輯或關(guān)系?()A.|| B.&& C.or D.a(chǎn)nd參考答案:A(7)在if語(yǔ)句的基本語(yǔ)法中,以下哪個(gè)關(guān)鍵字用于執(zhí)行條件為假對(duì)應(yīng)的代碼塊?()A.if B.then C.else D.fi參考答案:C(8)在if語(yǔ)句的基本語(yǔ)法中,以下哪個(gè)關(guān)鍵字用于處理存在多個(gè)條件的情況?()A.elif B.if C.then D.else參考答案:A2.實(shí)訓(xùn)題(1)在Shell腳本中,編寫一個(gè)if語(yǔ)句,判斷一個(gè)整數(shù)是否為偶數(shù),如果是,則輸出“是偶數(shù)”,否則輸出“是奇數(shù)”。字,并分別輸出對(duì)應(yīng)的提示信息。[opencloud@server~]$catevenodd.sh#!/bin/bashread-p"請(qǐng)輸入一個(gè)整數(shù):"number#使用取余運(yùn)算符判斷是否為偶數(shù)if((number%2==0));thenecho"是偶數(shù)"elseecho"是奇數(shù)"fi(2)在Shell腳本中,編寫一個(gè)if語(yǔ)句,判斷一個(gè)字符是否為大寫字母、小寫字母或數(shù)字,并分別輸出對(duì)應(yīng)的提示信息。[opencloud@server~]$catctype.sh#!/bin/bashread-p"請(qǐng)輸入一個(gè)字符:"charif[[$char=~^[[:upper:]]$]];thenecho"是大寫字母"elif[[$char=~^[[:lower:]]$]];thenecho"是小寫字母"elif[[$char=~^[[:digit:]]$]];thenecho"是數(shù)字"elseecho"不是大寫字母、小寫字母或數(shù)字"fi(3)在Shell腳本中,編寫一個(gè)if語(yǔ)句,判斷一個(gè)文件是否存在且為目錄,如果是,則輸出該目錄的信息;否則輸出“該目錄不存在”。[opencloud@server~]$catdirornot.sh#!/bin/bashread-p"請(qǐng)輸入一個(gè)目錄路徑:"directoryif[-d"$directory"];thenecho"該目錄存在,以下是目錄的信息:"ls-l"$directory"elseecho"該目錄不存在"fi(4)在Shell腳本中,編寫一個(gè)case語(yǔ)句,根據(jù)用戶輸入的數(shù)字,其取值范圍為1~5,分別輸出對(duì)應(yīng)的內(nèi)容(1表示計(jì)算機(jī)網(wǎng)絡(luò),2表示Linux操作系統(tǒng),3表示云計(jì)算OpenStack,4表示容器云Kubernetes和OpenShift,5表示Ansible自動(dòng)化)。[opencloud@server~]$catlist.sh#!/bin/bashcontents=("ComputerNetwork""Linux""OpenStack""Kubernetes&OpenShift""Ansible")read-p"請(qǐng)輸入一個(gè)數(shù)字(取值范圍為1~5):"numberif((number>=1&&number<=5));thencontent=${contents[number-1]}echo$contentelseecho"輸入的數(shù)字不在取值范圍內(nèi)"fi(5)在Shell腳本中,編寫一個(gè)if語(yǔ)句,判斷一個(gè)字符串是否為空,如果是,則輸出“字符串為空”;否則輸出字符串的長(zhǎng)度。[opencloud@server~]$catstr.sh#!/bin/bashread-p"請(qǐng)輸入一個(gè)字符串:"strif[-z"$str"];thenecho"字符串為空"elselength=${#str}echo"字符串長(zhǎng)度為:$length"fi(6)在Shell腳本中,需要判斷當(dāng)前系統(tǒng)的CPU使用率是否超過80%。請(qǐng)編寫一個(gè)if語(yǔ)句,輸出相應(yīng)的監(jiān)控信息。[opencloud@server~]$catperc.sh#!/bin/bashcpu_usage=$(top-bn1|grep"Cpu(s)"|awk'{print$2}')cpu_usage=${cpu_usage%.*}if["$cpu_usage"-gt80];thenecho"當(dāng)前CPU使用率為$cpu_usage%,超過80%閾值"elseecho"當(dāng)前CPU使用率為$cpu_usage%,未超過80%閾值"fi(7)在Shell腳本中,需要判斷當(dāng)前操作系統(tǒng)類型。請(qǐng)編寫一個(gè)if語(yǔ)句,輸出相應(yīng)的測(cè)試信息。[opencloud@server~]$catostype.sh#!/bin/bashos_type=$(uname-s)if["$os_type"="Linux"];thenecho"當(dāng)前操作系統(tǒng)為L(zhǎng)inux"elseuname-sfi
項(xiàng)目三練習(xí)題參考答案1.選擇題(1)下列哪個(gè)for語(yǔ)句用于遍歷數(shù)組中的元素?()A.foriin{1..5};doecho$i;done B.foriin(12345);doecho$i;doneC.foriin[12345];doecho$i;done D.foriin12345;doecho$i;done參考答案:A(2)在Shell腳本中,如何使用for語(yǔ)句輸出數(shù)字1~10的所有偶數(shù)?()A.foriin{1..10};doif[$((i%2))-eq0];thenecho$i;fi;doneB.foriin(12345678910);doif[$((i%2))-eq0];thenecho$i;fi;doneC.foriin13579;doecho$i;doneD.foriin{2..10..2};doecho$i;done參考答案:D(3)如何在Shell腳本中使用for語(yǔ)句遍歷一個(gè)目錄中的所有文件?()A.forfilein$(ls/path/to/directory);doecho$file;doneB.forfileinls/path/to/directory;doecho$file;doneC.forfilein/path/to/directory/*;doecho$file;doneD.forfilein/path/to/directory;doecho$file;done參考答案:C(4)如何在Shell腳本中使用for語(yǔ)句讀取一個(gè)文本文件的內(nèi)容并輸出?()A.forlinein$(catfile.txt);doecho$line;doneB.forlinein(catfile.txt);doecho$line;doneC.forlineinfile.txt;doecho$line;doneD.forlinein$(file.txt);doecho$line;done參考答案:A(5)在Shell腳本中,如何使用for語(yǔ)句遍歷一個(gè)數(shù)組并輸出數(shù)組元素的總和?()A.sum=0;fornumin(12345);dosum=$((sum+num));done;echo$sumB.sum=0;fornumin{1..5};dosum=$((sum+num));done;echo$sumC.sum=0;fornumin[12345];dosum=$((sum+num));done;echo$sumD.sum=0;fornumin12345;dosum=$((sum+num));done;echo$sum參考答案:B(6)在Shell腳本中,如何使用while語(yǔ)句計(jì)算1~10的所有整數(shù)的總和?()A.num=1;sum=0;while[$num-le10];dosum=$((sum+num));done;echo$sumB.num=1;sum=0;while[$num-le10];dosum=$((sum+num));num=$((num-1));done;echo$sumC.num=1;sum=0;while[$num-le10];dosum=$((sum+num));done;echo$sumD.num=1;sum=0;while[$num-le10];dosum=$((sum+num));num=$((num+1));done;echo$sum參考答案:C(7)在Shell腳本中,如何使用while語(yǔ)句從1開始輸出連續(xù)的數(shù)字,直到用戶輸入的數(shù)字大于10為止?()A.num=1;while[$num-le10];doecho$num;num=$((num+1));doneB.num=1;while[$num-le10];doecho$num;readnum;doneC.num=1;while[$num-le10];doecho$num;readinput;num=$((input+1));doneD.num=1;while[$num-le10];doecho$num;readnum;num=$((num+1));done參考答案:A(8)在Shell腳本中,如何使用until語(yǔ)句輸出1~5的數(shù)字?()A.num=1;until[$num-le5];doecho$num;num=$((num+1));doneB.num=1;until[$num-ge5];doecho$num;num=$((num+1));doneC.num=1;until[$num-gt5];doecho$num;num=$((num+1));doneD.num=1;until[$num-lt5];doecho$num;num=$((num+1));done參考答案:C(9)在Shell腳本中,如何使用select語(yǔ)句讓用戶選擇數(shù)字1~5?()A.selectnumin1,2,3,4,5;doecho$num;doneB.selectnumfrom1to5;doecho$num;doneC.selectnumfrom1,2,3,4,5;doecho$num;doneD.selectnumin12345;doecho$num;done參考答案:D2.實(shí)訓(xùn)題(1)編寫一個(gè)Shell腳本,在指定目錄#read或sh內(nèi)指定#下統(tǒng)計(jì)所有文件的大小并輸出。[opencloud@server~]$catsize.sh#!/bin/bashread-p"請(qǐng)輸入目錄路徑:"directorytotal_size=0find"$directory"-typef|whileread-rfile;dofile_size=$(du-b"$file"|awk'{print$1}')total_size=$((total_size+file_size))doneecho"總文件大小:$total_size字節(jié)"(2)編寫一個(gè)Shell腳本,使用while語(yǔ)句計(jì)算1~100的累加和并輸出結(jié)果。[opencloud@server~]$catsum.sh#!/bin/bashnum=1sum=0while[$num-le100];dosum=$((sum+num))num=$((num+1))doneecho"累加和為:$sum"(3)在某個(gè)路徑中查找是否有文件存在,使用until語(yǔ)句輪詢檢查,直到條件為真為止,如果到最大重試次數(shù)#READ還是指定#也無(wú)法找到目標(biāo)文件,就退出腳本。[opencloud@server~]$catfindfile.sh#!/bin/bashread-p"請(qǐng)輸入目標(biāo)路徑:"target_pathread-p"請(qǐng)輸入最大重試次數(shù):"max_retriesretry_count=0until["$(ls-A$target_path)"];doif[$retry_count-eq$max_retries];thenecho"無(wú)法找到任何文件,達(dá)到最大重試次數(shù)。退出腳本。"exit1fiecho"目標(biāo)路徑中沒有文件。重試中..."retry_count=$((retry_count+1))sleep1doneecho"找到了至少一個(gè)文件!"(4)編寫一個(gè)Shell腳本,使用for語(yǔ)句遍歷指定目錄下的所有文件,并輸出文件的名稱和大小。[opencloud@server~]$catfordir.sh#!/bin/bashread-p"請(qǐng)輸入目標(biāo)目錄路徑:"directoryforfilein"$directory"/*;doif[-f"$file"];thenecho"文件名:$(basename"$file")"echo"文件大小:$(du-sh"$file"|cut-f1)"echo"-------------------------"fidone(5)編寫一個(gè)Shell腳本,使用for語(yǔ)句批量重命名指定目錄下文件名以file開頭的所有文件,在文件名后加上“_backup”。可以出成.bak的近似備份題[opencloud@server~]$catbackup.sh#!/bin/bashread-p"請(qǐng)輸入目標(biāo)目錄路徑:"directoryforfilein"$directory"/file*;doif[-e"$file"];thennew_name="${file}_backup"mv"$file""$new_name"echo"已重命名文件:$(basename"$file")為$(basename"$new_name")"fidone
項(xiàng)目四練習(xí)題參考答案1.選擇題(1)以下哪個(gè)選項(xiàng)正確描述了Shell數(shù)組?()A.?dāng)?shù)組可以只包含數(shù)字類型的元素 B.?dāng)?shù)組在聲明時(shí)需要指定長(zhǎng)度C.?dāng)?shù)組的索引從1開始 D.?dāng)?shù)組可以包含不同類型的元素參考答案:D(2)在Shell腳本中,如何聲明一個(gè)數(shù)組?()A.a(chǎn)rray=1,2,3 B.a(chǎn)rray={1,2,3} C.a(chǎn)rray=[1,2,3] D.a(chǎn)rray=("1""2""3")參考答案:d(3)如何獲取數(shù)組的長(zhǎng)度(元素個(gè)數(shù))?()A.${array[length]} B.${array.size} C.${#array[@]} D.${array.length}參考答案:C(4)以下哪個(gè)選項(xiàng)描述了在Shell中定義函數(shù)的正確語(yǔ)法?()A.functionmyFunction{echo"HelloWorld"}B.defmyFunction(){echo"HelloWorld"}C.funcmyFunction(){echo"HelloWorld"}D.myFunction(){echo"HelloWorld"}參考答案:A(5)在Shell腳本中,如何遍歷數(shù)組array并輸出其每個(gè)元素?()A.foriin${array};doecho$i;doneB.foriin"${array[@]}";doecho$i;doneC.foriin${array[@]};doecho$i;doneD.foriin"${array}";doecho$i;done參考答案:B(6)以下哪個(gè)選項(xiàng)描述了在Shell中創(chuàng)建關(guān)聯(lián)數(shù)組的正確方法?()A.declare-aassoc_array=("key1""value1""key2""value2")B.a(chǎn)ssoc_array=("key1""value1""key2""value2")C.declare-Aassoc_array=("key1""value1""key2""value2")D.a(chǎn)ssoc_array["key1"]="value1"assoc_array["key2"]="value2"參考答案:C(7)以下哪個(gè)選項(xiàng)描述了在Shell函數(shù)中獲取傳遞給函數(shù)的參數(shù)個(gè)數(shù)?()A.$0 B.$#args C.$@ D.$#參考答案:D(8)以下哪個(gè)選項(xiàng)描述了在Shell函數(shù)中定義一個(gè)局部變量?()A.localmyVar="value" B.myVar="value"C.setmyVar="value" D.varmyVar="value"參考答案:A(9)在Shell腳本中,如何刪除數(shù)組中指定索引的元素?()A.unsetarray[index] B.unsetarray[index-1]C.deletearray[index] D.deletearray[index-1]參考答案:A(10)在Shell中定義了一個(gè)函數(shù):functionadd_numbers(){sum=$(($1+$2));echo"Thesumof$1and$2is:$sum";}。以下哪個(gè)選項(xiàng)描述了在Shell中調(diào)用函數(shù)時(shí)傳遞參數(shù)的正確方法?()A.a(chǎn)dd_numbers1020 B.a(chǎn)dd_numbers(10,20)C.a(chǎn)dd_numbers-p1020 D.a(chǎn)dd_numbers[1020]參考答案:A(11)在Shell腳本中定義了函數(shù)functionget_date(){echo$(date);},如何將函數(shù)的輸出結(jié)果保存到變量中?()A.result=get_date B.result=$(get_date)C.result=[get_date] D.result={get_date}參考答案:B2.實(shí)訓(xùn)題(1)編寫一個(gè)Shell腳本,要求用戶輸入5個(gè)城市名稱,并將這些城市名稱存儲(chǔ)在一個(gè)數(shù)組中,然后輸出數(shù)組中的城市名稱列表。[opencloud@server~]$catcities.sh#!/bin/bashcities=()for((i=1;i<=5;i++));doread-p"請(qǐng)輸入第$i個(gè)城市名稱:"citycities+=("$city")doneecho"城市名稱列表:"forcityin"${cities[@]}";doecho"$city"done(2)編寫一個(gè)Shell腳本,定義一個(gè)包含10個(gè)整數(shù)的數(shù)組。然后,使用循環(huán)遍歷數(shù)組中的所有元素,并計(jì)算它們的總和和均值,將結(jié)果輸出。[opencloud@server~]$catlistsum.sh#!/bin/bashmy_array=(25810152025303540)sum=0count=0fornumin"${my_array[@]}";dosum=$((sum+num))count=$((count+1))doneaverage=$((sum/count))echo"數(shù)組元素總和:$sum"echo"數(shù)組元素均值:$average"(3)編寫一個(gè)Shell腳本,定義一個(gè)包含10個(gè)隨機(jī)數(shù)的數(shù)組。然后,找到數(shù)組中的最大值和最小值并輸出。[opencloud@server~]$catrandom.sh#!/bin/bashmy_array=()for((i=0;i<10;i++));dorandom_num=$((RANDOM%100))my_array+=($random_num)donemax=${my_array[0]}min=${my_array[0]}fornumin"${my_array[@]}";doif[$num-gt$max];thenmax=$numfiif[$num-lt$min];thenmin=$numfidoneecho"數(shù)組中的最大值:$max"echo"數(shù)組中的最小值:$min"(4)編寫一個(gè)Shell腳本,定義兩個(gè)包含5個(gè)元素的數(shù)組,分別用于存儲(chǔ)學(xué)生的姓名和對(duì)應(yīng)的成績(jī)。然后,根據(jù)成績(jī)從高到低對(duì)學(xué)生姓名進(jìn)行排序,并輸出排序后的學(xué)生姓名和對(duì)應(yīng)的成績(jī)。[opencloud@server~]$catgradesort.sh#!/bin/bashnames=("Alice""Bob""Charlie""David""Emily")scores=(8592789588)quick_sort(){localleft=$1localright=$2localpivot_index=$(((left+right)/2))locali=$leftlocalj=$rightwhile((i<=j));dowhile((scores[i]>scores[pivot_index]));do((i++))donewhile((scores[j]<scores[pivot_index]));do((j--))doneif((i<=j));thentemp_score=${scores[i]}scores[i]=${scores[j]}scores[j]=$temp_scoretemp_name=${names[i]}names[i]=${names[j]}names[j]=$temp_name((i++))((j--))fidoneif((left<j));thenquick_sort"$left""$j"fiif((i<right));thenquick_sort"$i""$right"fi}quick_sort0$((${#scores[@]}-1))echo"排序后的學(xué)生姓名和成績(jī):"for((i=0;i<${#scores[@]};i++));doecho"${names[i]}:${scores[i]}"done(5)編寫一個(gè)Shell腳本,定義一個(gè)函數(shù)check_disk_space。該函數(shù)接收一個(gè)路徑作為參數(shù),并檢查該路徑的磁盤空間使用情況。如果磁盤空間使用率超過80%,則輸出警告信息;否則輸出磁盤空間使用情況。然后調(diào)用該函數(shù),并傳遞一個(gè)路徑參數(shù)進(jìn)行測(cè)試。[opencloud@server~]$catdisksize.sh#!/bin/bashcheck_disk_space(){echo"請(qǐng)輸入路徑:"read-rpathif[!-d"$path"];thenecho"錯(cuò)誤:路徑不存在!"returnfidisk_usage=$(df-h"$path"|tail-n1)usage_percentage=$(echo"$disk_usage"|awk'{printsubstr($5,1,length($5)-1)}')echo"磁盤空間使用情況:"echo"$disk_usage"if["$usage_percentage"-gt80];thenecho"警告:磁盤空間使用率超過80%!"fi}check_disk_space(6)編寫一個(gè)Shell腳本,定義一個(gè)函數(shù)calculate_factorial。該函數(shù)接收一個(gè)正整數(shù)作為參數(shù),并計(jì)算其階乘。然后調(diào)用該函數(shù),并輸出1~10的階乘值。[opencloud@server~]$catcalcfact.sh#!/bin/bashcalculate_factorial(){num=$1factorial=1for((i=1;i<=num;i++));dofactorial=$((factorial*i))doneecho"階乘$num!=$factorial"}for((n=1;n<=10;n++));docalculate_factorial$ndone(7)編寫一個(gè)Shell腳本,定義一個(gè)函數(shù)backup_files。該函數(shù)接收兩個(gè)參數(shù),分別是源目錄和目標(biāo)目錄。該函數(shù)將源目錄中的所有文件備份到目標(biāo)目錄中,并保留文件的目錄結(jié)構(gòu)。然后調(diào)用該函數(shù),并傳遞兩個(gè)目錄參數(shù)進(jìn)行測(cè)試。[opencloud@server~]$catbakup.sh#!/bin/bashbackup_files(){echo"請(qǐng)輸入源目錄路徑:"read-rsource_dirif[!-d"$source_dir"];thenecho"錯(cuò)誤:源目錄不存在!"returnfiecho"請(qǐng)輸入目標(biāo)目錄路徑:"read-rtarget_dirif[!-d"$target_dir"];thenmkdir-p"$target_dir"ficp-R"$source_dir"/*"$target_dir"echo"備份完成!"}backup_files(8)編寫一個(gè)Shell腳本,定義一個(gè)函數(shù)check_service_status。該函數(shù)接收一個(gè)服務(wù)名稱作為參數(shù),并檢查該服務(wù)是否在運(yùn)行。如果服務(wù)正在運(yùn)行,則輸出“Serviceisrunning”;否則輸出“Serviceisnotrunning”。然后調(diào)用該函數(shù),并傳遞一個(gè)服務(wù)名稱進(jìn)行測(cè)試。[opencloud@server~]$catsrvchk.sh#!/bin/bashcheck_service_status(){echo"請(qǐng)輸入服務(wù)名稱:"read-rservice_nameifsystemctlis-active"$service_name">/dev/null2>&1;thenecho"Serviceisrunning"elseecho"Serviceisnotrunning"fi}check_service_status(9)編寫一個(gè)Shell腳本,定義一個(gè)函數(shù)find_duplicate_files。該函數(shù)接收一個(gè)目錄作為參數(shù),并查找該目錄及其子目錄中的重復(fù)文件。然后輸出所有重復(fù)文件的列表。提示:可以使用md5sum命令計(jì)算文件的MD5值來(lái)判斷文件是否重復(fù)。然后調(diào)用該函數(shù),并傳遞一個(gè)目錄參數(shù)進(jìn)行測(cè)試。[opencloud@server~]$catfindup.sh#!/bin/bashfind_duplicate_files(){echo"請(qǐng)輸入目錄路徑:"read-rdirectoryif[!-d"$directory"];thenecho"錯(cuò)誤:目錄不存在!"returnfideclare-AfileswhileIFS=read-rfile;domd5=$(md5sum"$file"|awk'{print$1}')if[-n"${files[$md5]}"];thenecho"重復(fù)文件:$file"echo"原始文件:${files[$md5]}"echo"-----"elsefiles[$md5]=$filefidone<<(find"$directory"-typef2>/dev/null)}find_duplicate_files
項(xiàng)目五練習(xí)題參考答案1.選擇題(1)通過grep命令,查找包含字母“k”的行,下面哪個(gè)選項(xiàng)符合要求?()A.**`grep"k"data.txt`** B.**`grep"k$"data.txt`**C.**`grep"^k"data.txt`** D.**`grep"ki"data.txt`**參考答案:A(2)通過grep命令,查找以“e”結(jié)尾的行,下面哪個(gè)選項(xiàng)符合要求?()A.**`grep"e"data.txt`** B.**`grep"e$"data.txt`**C.**`grep"^e"data.txt`** D.**`grep"end$"data.txt`**參考答案:B(3)通過grep命令,查找包含“ap”的行,下面哪個(gè)選項(xiàng)符合要求?()A.**`grep"ap"data.txt`** B.**`grep"ap$"data.txt`**C.**`grep"^ap"data.txt`** D.**`grep"apple"data.txt`**參考答案:A(4)通過grep命令,查找以“a”開頭且以“e”結(jié)尾的行,下面哪個(gè)選項(xiàng)符合要求?()A.**`grep"a"data.txt|grep"e$"`** B.**`grep"^a"data.txt|grep"e$"`**C.**`grep"a.*e"data.txt`** D.**`grep"^a.*e$"data.txt`**參考答案:D(5)通過grep命令,查找以“k”開頭或者以“e”結(jié)尾的行,下面哪個(gè)選項(xiàng)符合要求?()A.grep"k|e"data.txt B.grep"k\|e"data.txtC.grep"^[k|e]"data.txt D.grep"k.*|.*e$"data.txt參考答案:B(6)通過grep命令,查找包含連續(xù)相同的兩個(gè)字母的行(例如“banana”),下面哪個(gè)選項(xiàng)符合要求?()A.grep"\(.\)\\1"data.txt B.grep"\(..\)\\1"data.txtC.grep"\(.\)\\1{2}"data.txt D.grep"\(..\)\\1{2}"data.txt參考答案:A(7)使用sed命令刪除源數(shù)據(jù)中所有包含“apple”的行,下面哪個(gè)選項(xiàng)符合要求?()A.sed'/^apple$/d'data.txt B.sed'/apple/d'data.txtC.sed's/apple//g'data.txt D.sed's/^apple$//g'data.txt參考答案:B(8)使用sed命令將源數(shù)據(jù)中所有的“Shell”替換為“Python”,下面哪個(gè)選項(xiàng)符合要求?()A.sed's/Shell/Python/g'data.txt B.sed's/Shell/Python/'data.txtC.sed'/Shell/Python/'data.txt D.sed'/Shell/Python/g'data.txt參考答案:A(9)使用sed命令將源數(shù)據(jù)中的電話號(hào)碼格式轉(zhuǎn)換為“(123)456-7890”格式,下面哪個(gè)選項(xiàng)符合要求?()A.sed's/\([0-9]\{3\}\)-\([0-9]\{3\}\)-\([0-9]\{4\}\)/(\1)\2-\3/'data.txtB.sed's/\([0-9]\{3\}\)-\([0-9]\{3\}\)-\([0-9]\{4\}\)/(\2)\3-\1/'data.txtC.sed's/\([0-9]\{3\}\)-\([0-9]\{3\}\)-\([0-9]\{4\}\)/(\3)\2-\1/'data.txtD.sed's/\([0-9]\{3\}\)-\([0-9]\{3\}\)-\([0-9]\{4\}\)/(\1)\3-\2/'data.txt參考答案:A(10)使用sed命令在源數(shù)據(jù)的每行最前面添加行號(hào),下面哪個(gè)選項(xiàng)符合要求?()A.sed=data.txt|sed'N;s/\n/\t/' B.sed=data.txt|sed'N;g/\n/\t/'C.sed=data.txt|sed'N;d/\n/\t/' D.sed=data.txt|sed'N;t/\n/\t/'參考答案:A(11)通過awk命令,提取出文件中的所有姓名(即第一列數(shù)據(jù)),正確的命令是()。A.a(chǎn)wk'{print$1}'data.txt B.a(chǎn)wk'{print$2}'data.txtC.a(chǎn)wk'{print$0}'data.txt D.a(chǎn)wk'{print$1,$2}'data.txt參考答案:A(12)通過awk命令,以逗號(hào)為分隔符,計(jì)算第二列數(shù)據(jù)的總和,源文件為data.txt,正確的命令是()。A.a(chǎn)wk-F',''{sum+=$0}END{printsum}'data.txtB.a(chǎn)wk-F',''{sum+=$1}END{printsum}'data.txtC.a(chǎn)wk-F',''{sum+=$2}END{printsum}'data.txtD.a(chǎn)wk-F',''{sum+=$3}END{printsum}'data.txt參考答案:C(13)通過awk命令,以逗號(hào)為分隔符,計(jì)算第二列數(shù)據(jù)的均值并輸出,正確的命令是()。A.a(chǎn)wk-F',''{sum+=$2}END{printsum/NR}'data.txtB.a(chǎn)wk-F',''{sum+=$1}END{printsum/NR}'data.txtC.a(chǎn)wk-F',''{avg+=$2}END{printavg}'data.txtD.a(chǎn)wk-F',''{avg+=$1}END{printavg}'data.txt參考答案:A(14)通過awk命令,查找第一列包含“an”的行并輸出,正確的命令是()。A.a(chǎn)wk'/an/{print$1}'data.txt B.a(chǎn)wk'/an/{print$2}'data.txtC.a(chǎn)wk'/an/{print$0}'data.txt D.a(chǎn)wk'/an/{print$3}'data.txt參考答案:A(15)通過awk命令,將文本中的逗號(hào)替換為冒號(hào)并輸出,正確的命令是()。A.a(chǎn)wk'{gsub(",",":",$0);print}'data.txt B.a(chǎn)wk'{sub(",",":",$0);print}'data.txtC.a(chǎn)wk'{gsub(":",",",$0);print}'data.txt D.a(chǎn)wk'{sub(":",",",$0);print}'data.txt參考答案:A2.實(shí)訓(xùn)題(1)使用sed命令將文件data.txt中的所有字母轉(zhuǎn)換為大寫字母,并輸出到新文件data_uppercase.txt中。[opencloud@server~]$sed's/[a-z]/\U&/g'data.txt>data_uppercase.txt(2)使用sed命令從文件employees.txt中刪除所有包含“Manager”的行,并將結(jié)果輸出到新文件updated_employees.txt中。[opencloud@server~]$sed'/Manager/d'employees.txt>updated_employees.txt(3)使用sed命令從文件contacts.csv中提取所有以電子郵箱結(jié)尾的行,并將結(jié)果輸出到新文件emails.txt中。[opencloud@server~]$sed-n'/@.*$/p'contacts.csv>emails.txt(4)使用sed命令將文件numbers.txt中所有數(shù)字“加倍”(例如1變成11,2變成22,3變成33),并將結(jié)果輸出到新文件doubled_numbers.txt中。[opencloud@server~]$sed's/[0-9]/&&/g'numbers.txt>doubled_numbers.txt(5)使用sed命令從文件data.xml中提取所有<name>標(biāo)簽的內(nèi)容,并將結(jié)果輸出到新文件names.txt中。[opencloud@server~]$sed-n's/.*<name>\(.*\)<\/name>.*/\1/p'data.xml>names.txt(6)假設(shè)有一個(gè)數(shù)據(jù)文件students.txt記錄了學(xué)生信息,每行格式為:學(xué)生姓名學(xué)號(hào)課程1成績(jī)課程2成績(jī)課程3成績(jī)。請(qǐng)使用awk命令計(jì)算每個(gè)學(xué)生的平均成績(jī),并輸出到終端。[opencloud@server~]$awk'{sum=0;for(i=3;i<=NF;i++)sum+=$i;avg=sum/(NF-2);print$1,avg}'students.txt(7)假設(shè)有一個(gè)數(shù)據(jù)文件sales.txt記錄了每個(gè)銷售人員的銷售業(yè)績(jī),每行格式為:姓名銷售金額。請(qǐng)使用awk命令找出銷售金額最高的銷售人員姓名和銷售金額,并輸出到終端。[opencloud@server~]$awk'BEGIN{max_sales=0;max_name=""}$2>max_sales{max_sales=$2;max_name=$1}END{print"最高銷售金額的銷售人員姓名:",max_name,"銷售金額:",max_sales}'sales.txt(8)假設(shè)有一個(gè)數(shù)據(jù)文件inventory.txt記錄了商品庫(kù)存信息,每行格式為:商品編號(hào)商品名稱庫(kù)存數(shù)量。請(qǐng)使用awk命令找出庫(kù)存數(shù)量小于10的商品的信息,并輸出到終端。[opencloud@server~]$awk'$3<10{print"商品編號(hào):",$1,"商品名稱:",$2,"庫(kù)存數(shù)量:",$3}'inventory.txt(9)假設(shè)有一個(gè)數(shù)據(jù)文件sales.txt記錄了每個(gè)銷售人員的銷售業(yè)績(jī),每行格式為:姓名月份銷售金額。請(qǐng)使用awk命令計(jì)算每個(gè)銷售人員全年的總銷售金額,并輸出到終端。[opencloud@server~]$awk'{sales[$1]+=$3}END{for(nameinsales)print"銷售人員:",name,"全年總銷售金額:",sales[name]}'sales.txt(10)假設(shè)有一個(gè)數(shù)據(jù)文件expenses.txt記錄了公司員工的交通費(fèi)用和餐飲費(fèi)用,每行格式為:姓名交通費(fèi)用餐飲費(fèi)用。請(qǐng)使用awk命令計(jì)算每個(gè)員工的總費(fèi)用,并輸出到新文件total_expenses.txt中,每行格式為:姓名總費(fèi)用。[opencloud@server~]$awk'{total=$2+$3;print$1,total}'expenses.txt>total_expenses.txt
項(xiàng)目六練習(xí)題參考答案1.選擇題(1)Ansible默認(rèn)使用什么協(xié)議與受管主機(jī)進(jìn)行通信?()A.FTP B.HTTP C.SSH D.Telnet參考答案:C(2)關(guān)于Ansible自動(dòng)化工具的描述,下面選項(xiàng)描述正確的是?()A.需要在遠(yuǎn)程主機(jī)上安裝額外的代理程序 B.只能在Linux操作系統(tǒng)上運(yùn)行C.使用SSH進(jìn)行通信,以保證通信安全 D.不支持對(duì)多個(gè)主機(jī)同時(shí)執(zhí)行任務(wù)參考答案:C(3)Ansible默認(rèn)的配置文件是什么?()A.a(chǎn)nsible.cfg B.a(chǎn)nsible.conf C.a(chǎn)nsible.yml D.a(chǎn)nsible.ini參考答案:A(4)關(guān)于Ansible的AdHoc命令,下面選項(xiàng)描述正確的是?()A.一種只能在特定時(shí)間運(yùn)行的命令B.一種在單個(gè)主機(jī)上并行執(zhí)行的命令C.一種用于創(chuàng)建和管理主機(jī)清單文件的命令D.一種用于手動(dòng)執(zhí)行特定任務(wù)的命令參考答案:D(5)使用AdHoc命令時(shí),可以同時(shí)指定多個(gè)目標(biāo)主機(jī)嗎?()A.可以,使用逗號(hào)分隔 B.可以,使用空格分隔C.不可以,只能指定一個(gè)目標(biāo)主機(jī) D.不可以,需要編寫一個(gè)Playbook來(lái)實(shí)現(xiàn)參考答案:A(6)如果想要在受管主機(jī)上切換到root用戶,應(yīng)該在AnsiblePlaybook中設(shè)置哪個(gè)選項(xiàng)?()A.remote_user B.host_key_checking C.become D.become_user參考答案:D(7)如果不想在SSH連接時(shí)檢查主機(jī)密鑰,應(yīng)該在ansible.cfg中設(shè)置哪個(gè)選項(xiàng)?()A.remote_user B.host_key_checking C.become D.a(chǎn)sk_pass參考答案:B(8)如果想要在受管主機(jī)上切換用戶,并且使用sudo方式,應(yīng)該在AnsiblePlaybook中設(shè)置哪個(gè)選項(xiàng)?()A.remote_user B.become_method C.become_user D.become_ask_pass參考答案:C(9)如果想要在受管主機(jī)上切換到特定用戶(例如root),并且不需要提示輸入密碼,應(yīng)該在ansible.cfg中設(shè)置哪個(gè)選項(xiàng)?()A.remote_user B.become_method C.become_user D.become_ask_pass參考答案:D(10)如果在執(zhí)行Ansible命令的目錄中同時(shí)存在ansible.cfg和/etc/ansible/ansible.cfg文件,哪個(gè)配置文件將被優(yōu)先使用?()A.a(chǎn)nsible.cfg B./etc/ansible/ansible.cfgC.兩者都不會(huì)被使用 D.取決于配置文件中的優(yōu)先級(jí)設(shè)置參考答案:A(11)如果在執(zhí)行Ansible命令的目錄中存在ansible.cfg文件,并且在用戶的家目錄中存在~/.ansible.cfg文件,哪個(gè)配置文件將被優(yōu)先使用?()A.a(chǎn)nsible.cfg B.~/.ansible.cfg C.兩者都不會(huì)被使用 D.兩者都會(huì)被使用參考答案:B(12)如果在執(zhí)行Ansible命令的目錄中不存在ansible.cfg和~/.ansible.cfg文件,但設(shè)置了環(huán)境變量ANSIBLE_CONFIG指向/opt/ansible/ansible.cfg文件,哪個(gè)配置文件將被優(yōu)先使用?()A.a(chǎn)nsible.cfg B./opt/ansible/ansible.cfgC.兩者都不會(huì)被使用 D.取決于配置文件中的優(yōu)先級(jí)設(shè)置參考答案:B2.實(shí)訓(xùn)題#操作題無(wú)法給出答案#(1)某企業(yè)需要在多個(gè)Linux服務(wù)器上進(jìn)行自動(dòng)化部署和管理,服務(wù)器涵蓋多種Linux發(fā)行版。為了提高運(yùn)維效率,需要使用Ansible作為自動(dòng)化工具來(lái)管理這些服務(wù)器。當(dāng)前,Ansible服務(wù)器操作系統(tǒng)為CentOSStream9,其他受管主機(jī)分別使用CentOS、RHEL、Ubuntu、華為openEuler等系統(tǒng)?,F(xiàn)需要在CentOSStream9中安裝Ansible,并創(chuàng)建Ansible主機(jī)清單文件,將其他遠(yuǎn)程主機(jī)的IP地址加入清單文件中,配置SSH免密碼登錄,確保Ansible控制節(jié)點(diǎn)可以無(wú)密碼驗(yàn)證連接到其他遠(yuǎn)程主機(jī)。#重復(fù)#(2)某企業(yè)需要在多個(gè)Linux服務(wù)器上進(jìn)行自動(dòng)化部署和管理,服務(wù)器涵蓋多種Linux發(fā)行版。為了提高運(yùn)維效率,需要使用Ansible作為自動(dòng)化工具來(lái)管理這些服務(wù)器。當(dāng)前,Ansible服務(wù)器操作系統(tǒng)為Ubuntu22,其他受管主機(jī)分別使用CentOS、RHEL、Ubuntu、華為openEuler等系統(tǒng)?,F(xiàn)需要在Ubuntu22中安裝Ansible,并創(chuàng)建Ansible主機(jī)清單文件,將其他遠(yuǎn)程主機(jī)的IP地址加入清單文件中,配置SSH免密碼登錄,確保Ansible控制節(jié)點(diǎn)可以無(wú)密碼驗(yàn)證連接到其他遠(yuǎn)程主機(jī)。
項(xiàng)目七練習(xí)題參考答案1.選擇題(1)AnsiblePlaybook使用什么格式定義自動(dòng)化任務(wù)?()A.XML格式 B.YAML格式 C.JSON格式 D.INI格式參考答案:B(2)在AnsiblePlaybook中,如何指定需要執(zhí)行任務(wù)的目標(biāo)主機(jī)?()A.在命令行參數(shù)中指定 B.使用hosts屬性指定C.使用tasks屬性指定 D.使用groups變量指定參考答案:B(3)在AnsiblePlaybook中,tasks屬性的作用是什么?()A.定義主機(jī)清單文件 B.定義要執(zhí)行的任務(wù)C.定義變量 D.定義條件語(yǔ)句參考答案:B(4)在AnsiblePlaybook中,可以在tasks中包含多個(gè)任務(wù),這些任務(wù)將如何執(zhí)行?()A.按順序依次執(zhí)行 B.隨機(jī)執(zhí)行 C.并行執(zhí)行 D.根據(jù)條件選擇性執(zhí)行參考答案:A2.實(shí)訓(xùn)題(1)運(yùn)維工程師負(fù)責(zé)管理一個(gè)服務(wù)器集群。使用AnsiblePlaybook來(lái)管理防火墻設(shè)置,添加允許的入站規(guī)則、端口、限制特定IP地址的訪問。請(qǐng)針對(duì)此服務(wù)器的服務(wù)進(jìn)行防火墻策略的配置,Web服務(wù)器需要開放80和443端口,數(shù)據(jù)庫(kù)服務(wù)器需要開放3306端口。限制來(lái)自172網(wǎng)段IP地址的訪問,只有192網(wǎng)段可以訪問SSH端口。----name:ManageFirewallSettingshosts:serverbecome:truetasks:-name:AllowincomingHTTPtraffic(port80)firewalld:port:80/tcpzone:publicstate:enabledimmediate:yes-name:AllowincomingHTTPStraffic(port443)firewalld:port:443/tcpzone:publicstate:enabledimmediate:yes-name:AllowincomingMySQLtraffic(port3306)firewalld:port:3306/tcpzone:publicstate:enabledimmediate:yes-name:Limitaccessfrom172networktospecificservicesfirewalld:source:/8zone:publicservice:"{{item}}"state:enabledimmediate:yesloop:-http-https-mysql-name:AllowSSHaccessonlyfrom192networkfirewalld:source:/8port:sshzone:publicstate:enabledimmediate:yes(2)自動(dòng)化運(yùn)維工程師管理服務(wù)器集群,現(xiàn)在需要在opencloud.lab.example.fun服務(wù)器上部署DHCP服務(wù),以實(shí)現(xiàn)動(dòng)態(tài)IP地址分配,內(nèi)網(wǎng)主機(jī)能夠正常獲得IP地址和網(wǎng)絡(luò)配置。使用AnsiblePlaybook來(lái)安裝和配置DHCP服務(wù),在所有目標(biāo)主機(jī)上設(shè)置DHCP服務(wù)器,同時(shí)配置IP地址池、子網(wǎng)掩碼、網(wǎng)關(guān)等網(wǎng)絡(luò)參數(shù)。確保DHCP服務(wù)器能夠正確地響應(yīng)客戶端請(qǐng)求,并分配合適的IP地址。----name:DeployDHCPServerhosts:opencloud.lab.example.funbecome:truevars:dhcp_subnet:dhcp_netmask:dhcp_range_start:00dhcp_range_end:00dhcp_gateway:dhcp_dns:tasks:-name:InstallDHCPpackageyum:name:-dhcpstate:present-name:ConfigureDHCPservertemplate:src:templates/dhcpd.conf.j2dest:/etc/dhcp/dhcpd.confnotify:-restartdhcpd-name:StartandenableDHCPserviceservice:name:dhcpdstate:startedenabled:yeshandlers:-name:restartdhcpdservice:name:dhcpdstate:restarted(3)某企業(yè)自動(dòng)化運(yùn)維工程師負(fù)責(zé)管理一個(gè)服務(wù)器集群,現(xiàn)在需要在某個(gè)服務(wù)器上部署DNS服務(wù),以實(shí)現(xiàn)企業(yè)內(nèi)網(wǎng)域名解析。使用AnsiblePlaybook實(shí)現(xiàn)自動(dòng)化安裝和配置DNS服務(wù),在配置文件中添加本地域名解析信息,將www.opencloud.fun解析到內(nèi)網(wǎng)00,配置DNS安全選項(xiàng),禁用DNS劫持功能。----name:InstallandconfigureDNShosts:dns_serverbecome:truetasks:-name:InstallDNSpackageyum:name:bindstate:present-name:Configurenamed.conflineinfile:path:/etc/named.confline:|options{//DNSSecurityOptionsdnssec-enableyes;dnssec-validationauto;//DisableDNSHijackinghijack-dnssecno;hijack-whoisno;hijack-synthesizedno;}zone"opencloud.fun"IN{typemaster;file"/var/named/opencloud.fun.zone";}notify:RestartDNSservice-name:Configurezonefilecopy:content:|$ORIGINopencloud.fun.$TTL1D@INSOAns1.opencloud.fun.admin.opencloud.fun.(2024051401;Serial1D;Refresh1H;Retry1W;Expire3H);MinimumTTLINNSns1.opencloud.fun.wwwINA00dest:/var/named/opencloud.fun.zonenotify:RestartDNSservicehandlers:-name:RestartDNSserviceservice:name:namedstate:restarted(4)某企業(yè)自動(dòng)化運(yùn)維工程師負(fù)責(zé)管理一個(gè)服務(wù)器集群,現(xiàn)在需要在某個(gè)服務(wù)器上部署FTP服務(wù),vsftpd(VerySecureFileTransferProtocolDeamen)是一個(gè)基于FTP協(xié)議的開源FTP服務(wù)器軟件。使用AnsiblePlaybook實(shí)現(xiàn)自動(dòng)化安裝和配置vsftpd服務(wù),配置vsftpd虛擬用戶,并設(shè)置虛擬用戶的上傳和下載權(quán)限,確保vsftpd服務(wù)已經(jīng)啟動(dòng)并運(yùn)行。----name:Installandconfigurevsftpdhosts:ftp_serverbecome:truetasks:-name:Installvsftpdpackageyum:name:vsftpdstate:present-name:Configurevsftpd.conflineinfile:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖北省襄陽(yáng)市第四中學(xué)2025-2026學(xué)年高二上學(xué)期12月月考語(yǔ)文試題(含答案)
- 中國(guó)煙草總公司內(nèi)蒙古自治區(qū)公司2026年應(yīng)屆高校畢業(yè)生招聘?jìng)淇碱}庫(kù)及完整答案詳解1套
- 2026年清遠(yuǎn)市技師學(xué)院招聘編外人員備考題庫(kù)及1套參考答案詳解
- 初中英語(yǔ)議論文問題解決式結(jié)構(gòu)的跨學(xué)科整合課題報(bào)告教學(xué)研究課題報(bào)告
- 金融理財(cái)服務(wù)操作流程指南
- 跨學(xué)科教學(xué)中的學(xué)生合作學(xué)習(xí)效果提升:人工智能賦能的教學(xué)模式研究教學(xué)研究課題報(bào)告
- 文學(xué)作品對(duì)心靈的撫慰
- 2025年建筑工程進(jìn)度管理與協(xié)調(diào)規(guī)范
- 計(jì)算機(jī)視覺系統(tǒng)輔助下小學(xué)武術(shù)套路動(dòng)作標(biāo)準(zhǔn)化評(píng)分系統(tǒng)設(shè)計(jì)課題報(bào)告教學(xué)研究課題報(bào)告
- 2026年區(qū)塊鏈供應(yīng)鏈溯源報(bào)告及未來(lái)五至十年應(yīng)用深化報(bào)告
- 液壓支架裝配翻轉(zhuǎn)平臺(tái)施工方案
- 光伏電站運(yùn)維管理標(biāo)準(zhǔn)操作規(guī)程
- 鋼筋施工施工方案
- 嚴(yán)格執(zhí)行民主集中制方面存在問題及整改措施
- 房地產(chǎn)企業(yè)財(cái)務(wù)風(fēng)險(xiǎn)分析及防范措施研究-以碧桂園為例
- 髕骨骨折護(hù)理查房課件
- 農(nóng)業(yè)安全用藥培訓(xùn)機(jī)械課件
- 直播間合伙人合同協(xié)議書
- 新生兒家庭訪視培訓(xùn)知識(shí)課件
- 貴州中醫(yī)藥大學(xué)時(shí)珍學(xué)院《Java程序設(shè)計(jì)A》2024-2025學(xué)年第一學(xué)期期末試卷
- (2025年標(biāo)準(zhǔn))園區(qū)基金投資協(xié)議書
評(píng)論
0/150
提交評(píng)論