【答案】實(shí)驗(yàn)三 Vi及Shell程序設(shè)計_第1頁
【答案】實(shí)驗(yàn)三 Vi及Shell程序設(shè)計_第2頁
【答案】實(shí)驗(yàn)三 Vi及Shell程序設(shè)計_第3頁
【答案】實(shí)驗(yàn)三 Vi及Shell程序設(shè)計_第4頁
【答案】實(shí)驗(yàn)三 Vi及Shell程序設(shè)計_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)三 vi及shell程序設(shè)計【實(shí)驗(yàn)?zāi)康摹?、 掌握vi的操作方法。2、 掌握shell腳本的編程方法?!緦?shí)驗(yàn)內(nèi)容】第一部分 vi1、 請在/tmp目錄下建立一個名為vitest的目錄;(請書寫命令)rootwwq-virtualbox:# mkdir /tmp/vitest2、 進(jìn)入vitest目錄;rootwwq-virtualbox:#cd /tmp/vitest3、 將/etc/man.config復(fù)制到本目錄下;rootwwq-virtualbox:#cp /etc/man.config .注意:ubuntu中沒有man.config文件4、 使用vi開啟本目錄下的man.conf

2、ig文件;rootwwq-virtualbox:#vi man.config5、 在vi中設(shè)定行號;:set number6、 移動到第58行,向右移動40個字符,請問看到什么目錄?/dir/bin/foo7、 移到第1行,并向下搜尋bzip2字符串,請問它在第幾行?第118行8、 將50到100行之間的man改為man,如何實(shí)現(xiàn)?:50,100s/man/man/gc9、 修改完后,想全部復(fù)原,怎么樣實(shí)現(xiàn)?:q!或者按u撤銷10、 復(fù)制65到73行這9行的內(nèi)容,并粘貼到最后一行之后;按“65g”使光標(biāo)移到65行,再按“9yy”,再按“g”到最后一行,再按“p”就可以完成操作。11、 刪除21

3、到42行之間的開頭為#符號的批注數(shù)據(jù),如何實(shí)現(xiàn)?按“21g”之后,再按“22dd”即可刪除22行。12、 將這個文件另存為man.test.config文件;:w man.test.config13、 轉(zhuǎn)到第27行,并刪除15個字符,結(jié)果出現(xiàn)的第一個單詞是什么?刪除:按“27g”,再按“15x”即可刪除15個字符出現(xiàn)“you”單詞14、 在第一行新增一行,輸入i am a student,怎樣實(shí)現(xiàn)?按“1g”到第一行,再按“o”新增一行并進(jìn)入插入模式,輸入文字后按esc回到一般模式。15、 保存后退出。:wq第二部分 shell程序設(shè)計1、 請編寫一個shell腳本,當(dāng)執(zhí)行該腳本的時候,該腳本

4、可以顯示:1)你目前的身份(用user)2)你目前所在的目錄(用pwd)#!/bin/bashecho "name is $(whoami)"echo "current directory is $(pwd)"name is rootcurrent directory is /root2、 請編寫一個shell腳本,該程序可以計算“你還有多少天可以過生日”。#!/bin/bashread -p "input birthday(mmdd):" birnow=date +%m%dif "$bir" = "$n

5、ow" ;thenecho "happy birthday!"elif "$bir" -gt "$now" ;thenyear=date +%ytotal_d=$($(date -date="$year$bir" +%s-date +%s)/60/60/24)echo "your birthday will be $total_d later."elseyear=$(date +%y+1)total_d=$($(date -date="$year$bir" +%s-

6、date +%s)/60/60/24)echo "your birthday will be $total_d later."fiinput birthday(mmdd):0916your birthday will be 127 later.3、 讓用戶輸入一個數(shù)字,程序可以由1+2+3.一直累加到用戶輸入的數(shù)字為止。#!/bin/bashread -p "input an integer number:" numberi=0s=0while "$i" != "$number" doi=$($i+1)s=$($s

7、+$i)doneecho "the sum of 1-$number is $s"input an integer number:3the sum of 1-3 is 64、 請編寫一個shell腳本,它的作用是:1)先查看一下/root/test/logical這個名稱是否存在;2)若不存在,則建立一個文件,使用touch來建立,建立完成后離開;3)如果存在的話,判斷該名稱是否為文件,若為文件則將它刪除后建立一個目錄,目錄名為logical,之后離開;4)如果存在的話,判斷該名稱是否為目錄,若為目錄則刪除此目錄。#!/bin/bashif ! -e logical ; t

8、hentouch logicalecho "make a file logical"exit 1elif -e logical && -f logical ; thenrm logicalmkdir logicalecho "remove file logical"echo "make directory logical"exit 1elif -e logical && -d logical ; thenrm -rf logicalecho "remove directory logical&

9、quot;exit 1elseecho "do nothing."fimake a file logicalremove file logicalmake directory logicalremove directory logicalmake a file logical5、 我們知道/etc/passwd里面以:來分隔,第一欄為賬號名稱。請編寫一個shell腳本,可以將/etc/passwd的第一欄取出,而且每一欄都以一行字符串the 1 account is “root”來顯示,那個1表示行數(shù)。#!/bin/bashaccounts=cat /etc/passwd

10、| cut -d':' -f1for account in $accountsdodeclare -i i=$i+1echo "$i account is "$account""done1 account is "root"2 account is "daemon"3 account is "bin".6、 請編寫一個shell腳本,利用for循環(huán)把當(dāng)前目錄下的所有*.c文件復(fù)制到指定的目錄中,并顯示復(fù)制后該目錄內(nèi)按文件大小排序的目錄文件清單。#!/bin/bashcd $1fo

11、r x in $1/*.cdocp $x $2donels -s $2rootwwq-virtualbox:# sh copy.sh . testa.c7、 請編寫一個shell腳本,它把第二個位置參數(shù)及其以后的各個位置參數(shù)指定的文件復(fù)制到第一個位置參數(shù)執(zhí)行的目錄中。#!/bin/basha=$1shiftcp $* $arootwwq-virtualbox:# sh shift.sh test copy.sh remove.sh birth.sha.c copy.sh remove.sh birth.sh8、 請編寫一個shell腳本,根據(jù)鍵盤可以循環(huán)輸入學(xué)生成績(百分制),并顯示對應(yīng)的成績標(biāo)準(zhǔn)(及格和不及格),按q鍵退出,按其他鍵提示重新輸入。#!/bin/bashwhileread -p "input number:" vardocase $var inq) exit;q) exit;esacecho "number is $var"if "$var" -ge 60 then echo "score is passed."else echo "score failed

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論