山東大學Linux應用課程複習指導例題答案

2021-09-03 03:06:33 字數 3920 閱讀 4376

二、選擇題。

1、我們實驗使用的shell是哪個?

a、bsh b、ksh c、csh d、bash

2、可以分頁顯示檔案內容的命令是?

a、pwd b、cat c、more d、page

3、bash中預設已有的變數一般不包括?

a、find b、pwd c、home d、user。

4、從標準輸入讀入值並賦予乙個變數的命令是?

a、out b、scan c、read d、in

5、 下列哪個命令可將文字檔案f.txt拷貝為f.bak?

a、cp f.txt | f.bak b、cat f.txt>f.bak c、cp f.txt > f.bak d、ls f.txt f.bak

三、簡答下列問題。

1、 解釋read命令的功能,舉例說明其用法。

read命令是從標準輸入讀入變數值,例如:

read var1 var2

hello world(注:var1為hello,var2為world)

read var1 var2

hello world 0.0(注:var1為hello,var2為world!0.0)

read var1 var2

hello(注:var1為hello,var2為空)

2、 如果當前目錄下只有檔案abc123,解釋echo abc和echo xyz=abc命令的輸出。

「echo abc*」命令會輸出abc123,「echo xyz=abc*」命令會輸出xyz=abc*。

出現這種結果的原因為,「*」既可以作為萬用字元,也可以作為字元。由於目錄下的檔案只有abc123,那麼在「echo abc*」時,*作為萬用字元,匹配的結果就是abc123。而由於目錄下沒有以xyz=abc開頭的檔案,所以在「echo xyz=abc*」時,*是作為乙個字串進行輸出的。

3、畫圖示意作業系統、硬體和應用軟體關係。

四、根據以下小題的要求寫出相應的命令或命令組。

1、 顯示當前目錄下檔名以abc開頭同時以123結尾的檔案。

ls | grep "^abc.*123$"

2、把文字檔案file1複製為file2,然後在file2尾部增加一行內容為「end」。

設定許可權,自己的檔案file1,只允許自己完全訪問和使用,自己之外的人僅有讀許可權。

cp file1 file2

echo "end" >> file2

chmod 744 file1

3、 假設myprog.sh是你所寫的乙個指令碼程式,寫出命令在後台執行它。

sh myprog.sh &

4、用命令或命令組合列出當前目錄下的所有目錄檔案(不列出其他檔案)。

ls -f | grep "/"

ls -l | grep "^d"

5、在上一級目錄的子目錄src中建立乙個空檔案,檔案名叫my_logfile。

touch ../src/my_logfile

6、在當前路徑下建立 /letters/mail的符號鏈結m-soft。

ln -s /letters/mail ./m-soft

7、在螢幕上顯示字串「$abc」。

echo \$abc

五、綜合題(shell指令碼實現方法有很多,這裡只給出我的參考方法哈~)。

1、寫乙個shell指令碼,每隔10秒,檢查當前系統中有沒有程序名字為「firefox」的程序,如果有的話顯示「firefox 程序出現了!」並退出,返回碼設定為等待的秒數。

while true

doprocess = `pgrep -f firefox`

i=0if [ $ -gt 0 ]

then

echo 「firefox程序出現了!」

echo 「等待時間為:$i」

break

else

i = i+10

sleep 10

fidone

2、解釋這行命令的含義。如果輸入123,會顯示什麼?如果輸入1234顯示什麼?

#從標準輸入中讀取abc的值

read abc;

#若abc小於999,則res為too small。否則,res為ok

test $abc -lt 999 && res='too small' || res=ok;

#輸出res

echo $res;

3、編寫乙個shell指令碼,求矩形面積。長、寬引數從命令列傳入。

read width height

area=$(($width*$height))

echo $area

4、寫乙個指令碼,持續監視使用者stu是否登入,如果登入了,就每隔1分鐘把你的使用者名稱和qq號碼發給他,重**送3次為止。

while true

do user=`who | grep -w 「stu」`

if [ $ -gt 0 ]

then

echo 「please enter message and press ctrl + d」

write stu

sleep 60

echo 「please enter message and press ctrl + d」

write stu

sleep 60

echo 「please enter message and press ctrl + d」

write stu

sleep 60

break

fidone

5、給出下指令碼的執行結果。

i=1

while [ 「$i」 –lt 5 ]

do j=$((i*i))

echo 「$j」

i=$((i+1))

done

執行結果為:14

916

6、試解釋以下命令或命令組的含義。(15分)

(1)$grep 『789』 l ppasswd  |  wc –l		

統計帶有789的密碼個數(實際上這個命令根本執行不了)

(2)ls –l | grep 『^d』		

列出ls -l輸出的內容中,d開頭的內容

(3)ls -d ?[!y]*[e-f]		

任意單個字元+非y字元+任意多個字元+e或f結尾

(4)echo $home		

輸出使用者的根目錄

(5)cat file1 file2   > cat.out   2> cat.err		

將file1,2的內容輸出至cat.out,並將錯誤資訊輸出到cat.err

7、假設使用ls命令: $ls –lr 顯示下列資訊

drwxr-xr-x      3  judy  finance   ….     jobs

./jobs:

drwxrwxrwx 2 judy finance …. work

./work:

-rw–r-- r-- 1 judy finance …. joblog

使用者 fred是 finance 組的成員, fred是否可以拷貝 joblog 檔案到自己的目錄下?簡述理由。

可以拷貝檔案,因為joblog的同組使用者有讀許可權,對work目錄和jobs目錄有執行許可權,並且對自己的目錄有寫許可權,所以可以複製。

山東大學 人機互動複習提綱

人機互動是關於設計 評價和實現供人們使用的互動式計算機系統,且圍繞這些方面主要現象進行研究的科學。人機互動經歷了命令列 圖形使用者介面 自然和諧的互動等三個重要歷史發展階段。完整的人機系統中由人機共同作用來完成如下的功能 資訊接受 收集 資訊加工 資訊儲存 訊號反饋 輸入與輸出 視覺感知可以分為兩個...

山東大學Python(3) 容器

使用 jupyter notebook 編寫 本章知識目錄 本節非常簡單,看ppt即可,下面的 為一些測試 考試 非常重要 查詢 增加 刪除 引用 ppt所有的都要看 list list name.remove x 刪除首次出現的值為x的元素,x不存在則丟擲異常 del list name inde...

山東大學 資料科學導論 期末

一.簡答 1.dirty data在哪些過程怎麼產生 2.解釋entity resolution 3.兩個向量,計算距離 歐式,曼哈頓,漢明,切比雪夫,余弦 二.好像也是簡答?1.mapreduce 1 設計map和reduce方法實現表自然連線 2 兩個表的例項,根據表寫mapreduce自然連線...