Linux教程第四版課后習(xí)題4答案_第1頁(yè)
Linux教程第四版課后習(xí)題4答案_第2頁(yè)
Linux教程第四版課后習(xí)題4答案_第3頁(yè)
Linux教程第四版課后習(xí)題4答案_第4頁(yè)
Linux教程第四版課后習(xí)題4答案_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上第四章4.1常用的 shell有哪兒種?Linux系統(tǒng)中默認(rèn)的shell是什么?答:linux幾種常見(jiàn)的Shell:sh、bash、csh、tcsh、ashLinux下默認(rèn)的Shell是Bourne Again Shell(bash)4.2簡(jiǎn)述shell的主要功能。bash有什么特點(diǎn)?答:Shell是系統(tǒng)的用戶(hù)界面,提供了用戶(hù)與內(nèi)核進(jìn)行交互操作的一種接口。它接收用戶(hù)輸入的命令并把它送入內(nèi)核去執(zhí)行。引用、多命令執(zhí)行、命令行展開(kāi): 、命令的執(zhí)行狀態(tài)結(jié)果、多命令執(zhí)、命令補(bǔ)全:$PATH、路徑補(bǔ)全:TAB、命令hash緩存表、命令別名:alias, unalias命令歷史:h

2、istory、文件名通配符:glob、變量、bash快捷鍵。4.3執(zhí)行shell腳本的方式是哪些?答:1、輸入定向到shell腳本。該方式用輸入重定向方式讓shell從給定文件中讀入命令行,并進(jìn)行相應(yīng)處理。其一般形式是:$bash<腳本名例如:$ bash <ex12、以腳本名作為bash參數(shù)。其一般形式是:$bash腳本名 參數(shù) 3、將shell腳本的權(quán)限設(shè)置為可執(zhí)行,然后在提示符下直接進(jìn)行。4.4將主提示符改為用戶(hù)的主目錄名,并予以輸出。答:exportPS1=$HOMEecho$HOME4.5說(shuō)明三種引號(hào)的作用有什么區(qū)別。答:Linux Shell中有三種引號(hào),分別為雙引號(hào)(

3、" ")、單引號(hào)(' ')以及反引號(hào)( )。雙引號(hào)(" "):在雙引號(hào)中,除了$, '', 和以外所有的字符都解釋成字符本身。單引號(hào)(' '):在單引號(hào)中所有的字符包括特殊字符($,'',和)都將解釋成字符本身而成為普通字符。反引號(hào)( ):在反引號(hào)中的字符串將解釋成shell命令來(lái)執(zhí)行。4.6利用變量賦值方式,將字符串DOS file c:>$student*顯示出來(lái)。答:$ i=DOS $ j=file$ k=”c:>$student*”4.7顯示環(huán)境變量的設(shè)置情況,說(shuō)明各自的

4、意義。答:只對(duì)當(dāng)前的shell 起作用的環(huán)境變量1、控制臺(tái)中設(shè)置,不贊成這種方式,因?yàn)樗粚?duì)當(dāng)前的shell 起作用,換一個(gè)shell設(shè)置就無(wú)效了:直接控制臺(tái)中輸入 : $PATH="$PATH":/NEW_PATH  (關(guān)閉shell Path會(huì)還原為原來(lái)的path)對(duì)所有的用戶(hù)的都起作用的環(huán)境變量2、修改 /etc/profile 文件,如果你的計(jì)算機(jī)僅僅作為開(kāi)發(fā)使用時(shí)推存使用這種方法,因?yàn)樗杏脩?hù)的shell都有權(quán)使用這個(gè)環(huán)境變量,可能會(huì)給系統(tǒng)帶來(lái)安全性問(wèn)題。這里是針對(duì)所有的用戶(hù)的,所有的shellvi /etc/profile

5、在/etc/profile的最下面添加:  export  PATH="$PATH:/NEW_PATH"針對(duì)當(dāng)前特定的用戶(hù)起作用的環(huán)境變量3、修改bashrc文件,這種方法更為安全,它可以把使用這些環(huán)境變量的權(quán)限控制到用戶(hù)級(jí)別,這里是針對(duì)某一特定的用戶(hù),如果你需要給某個(gè)用戶(hù)權(quán)限使用這些環(huán)境變量,你只需要修改其個(gè)人用戶(hù)主目錄下的 .bashrc文件就可以了。vi /.bashrc在下面添加:Export  PATH="$PATH:/NEW_PATH"。4.8 分析下列shell腳本的功能:count=$#cmd=echowhi

6、le $count -gt 0docmd= "$cmd $count ”count=expr $count-1doneeval $cmd 答:count=$# # 獲取腳本參數(shù)個(gè)數(shù)cmd=echo # 初始化 cmd 變量,賦值為 “echo”while $count -gt 0 # 如果 count 大于0,執(zhí)行下面的循環(huán)docmd="$cmd $count" # 給cmd重新賦值,變?yōu)?“echo $count的值”count='expr $count-1' # count減1done # 之后回到上面的 while 判斷eval $

7、cmd # 執(zhí)行cmd命令。類(lèi)似于執(zhí)行堆棧操作。4.9編寫(xiě)一個(gè)shell腳本,它把第二個(gè)位置參數(shù)及其以后的各個(gè)參數(shù)指定的文件復(fù)制到第一個(gè)位置參數(shù)指定的目錄中。答:#!/bin/bash /調(diào)用bash程序?qū)ζ浣忉寛?zhí)行,相當(dāng)與于頭文件dir=$1 /初始化 shift /參數(shù)向左移while $1 /循環(huán) do file=$1 / 初始化 ,賦值現(xiàn)在位置的參數(shù)1cp $1 $dir /將現(xiàn)位置參數(shù)1中的值復(fù)制到目錄中shift /參數(shù)左移 done ls $dir 顯示指定目錄中的列表運(yùn)行:bash+代碼名稱(chēng)+要移動(dòng)的目錄+要移動(dòng)的文件4.10編寫(xiě)一個(gè)shell腳本,顯示當(dāng)天日期,查找給定的某用

8、戶(hù)是否在系統(tǒng)中工作。如果在系統(tǒng)中,就發(fā)一個(gè)問(wèn)候給他。答:#!/bin/bashdate/顯示日期ifwho |grep "$1"/尋找用戶(hù)thenwrite $1 << ! /對(duì)用戶(hù)發(fā)消息!echo "hello !"fi運(yùn)行:bash+文件名稱(chēng)4.11打印給定目錄的某些文件,由第一個(gè)參數(shù)指出文件所在的目錄,其余參數(shù)是要打印的文件名。答:#!/bin/bashdir=$1 / $1表示第一參數(shù)cd $ dirshiftfor f in $; / $表示全部參數(shù)docat $fdone 運(yùn)行:bash+程序代碼名稱(chēng)+目錄名稱(chēng)+文件名稱(chēng)4.12利

9、用for循環(huán)將當(dāng)前目錄下的(*.c)文件移到指定的目錄下,并按文件大小排序,顯示移動(dòng)后指定目錄的內(nèi)容。答:#!/bin/bash for file in ls -l /root/a | grep ".*.c" (Tab鍵上面的) mv /root/a/$file /root/b ls -lS /root/b運(yùn)行:bash+文件名稱(chēng)4.13利用數(shù)組形式存放10個(gè)城市的名字,然后利用for循環(huán)把他們打印出來(lái)。答:#!/bin/bashfor China in Beijing Shanghai Guangzhou Shenzhen Chongqing Tianjin Wuhan

10、Taiwan Xianggang Aomen do echo $China done運(yùn)行:bash+代碼名稱(chēng)4.14編寫(xiě)一個(gè)shell腳本,求斐波那契數(shù)列的前10項(xiàng)及總和。答:#!/bin/bash a=1 b=1 echo n e "$at$b" let "n=a+b" count=4 while $count gt 0 do let "a=a+b" let "b=b+a" echo n e "t$at$b" let "n +=a+b" let "count=co

11、unt-1" done echo echo "The sum is $n" 運(yùn)行:bash+創(chuàng)建的文件4.15下述表達(dá)式的作用是什么?$ name * $ name $ name#*/ $ name%.* $ #name* $name:-Hello答:$name*:數(shù)組所有元素 $name:數(shù)組每一個(gè)元素$name#*/:刪掉第一個(gè)/及其左邊的字符串$name%.*:刪掉第一個(gè).及其右邊的字符串$#name*:數(shù)組元素的個(gè)數(shù)$name:-Hello:用 Hello 代替 name進(jìn)行替換,name的值不變4.16顯示前面所執(zhí)行的40個(gè)命令的清單,重新執(zhí)行倒數(shù)第5條命令。編寫(xiě)其中一條命令,然后執(zhí)行。答;運(yùn)行:history 40 #!-54.17定義一個(gè)別名命令,它等價(jià)的功能是:顯示當(dāng)前日期和工作目錄,并列出有多少用戶(hù)在系統(tǒng)上工作。答:#!/bin/bashecho $(date)echo $(pwd)who | wc -w運(yùn)行:bash+代碼名稱(chēng)4.18設(shè)計(jì)一個(gè)程序cuts,它由標(biāo)準(zhǔn)輸入讀取數(shù)據(jù),獲取由第一個(gè)參

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論