版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> LINUX 大作業(yè)</b></p><p><b> 課程設(shè)計說明書</b></p><p> 題 目 LINUX/UNIX Shell編程 </p><p> 姓 名 </p><p> 學(xué) 號 1 </p
2、><p> 系 別 計算機科學(xué)系 </p><p> 班 級 </p><p> 指導(dǎo)教師 </p><p> 完成日期 2010年6月26日 </p><p><b> 目 錄</b></p&
3、gt;<p><b> 一、引言3</b></p><p><b> 二、需求分析3</b></p><p><b> 1.任務(wù)目標3</b></p><p><b> 2.系統(tǒng)要求3</b></p><p><b>
4、; 3.系統(tǒng)功能3</b></p><p><b> 三、總體設(shè)計4</b></p><p><b> 1.功能圖4</b></p><p><b> 2.流程圖4</b></p><p> 3.2.1menu主菜單4</p>&l
5、t;p> 3.2.2add模塊5</p><p> 3.2.3delete模塊錯誤!未定義書簽。</p><p><b> 四、詳細設(shè)計6</b></p><p> 1.menu主菜單6</p><p> 4.1.1運行主菜單6</p><p> 4.1.2在menu腳
6、本文件里將創(chuàng)建菜單6</p><p> 4.1.3無效輸入6</p><p> 4.1.4無輸入7</p><p> 4.1.5當用戶選擇1時——打印當前所有用戶記錄7</p><p> 4.1.6當用戶選擇2時——打印當前經(jīng)過格式化的用戶記錄后7</p><p> 4.1.7當用戶選擇3時——打印
7、用戶名和用戶ID8</p><p> 4.1.8當用戶選擇4時——打?。ǜ袷交模┯脩裘陀脩鬒D8</p><p> 4.1.9當用戶選擇5時——查找特定的記錄8</p><p><b> 2.a(chǎn)dd文件9</b></p><p> 4.2.1當用戶在主菜單里選擇6時add腳本文件被調(diào)用9</p
8、><p> 4.2.2輸入用戶名9</p><p> 4.2.3輸入密碼9</p><p> 4.2.4用戶ID10</p><p> 4.2.5組ID10</p><p> 4.2.6登錄shell10</p><p> 4.2.7保存記錄10</p><
9、;p> 4.2.8是否繼續(xù)添加11</p><p> 3.delete文件11</p><p> 4.3.1當用戶在主菜單中選擇7時delete腳本文件必須被調(diào)用11</p><p> 4.3.2用戶輸入一個無效的用戶ID11</p><p> 4.3.3用戶簡單的按回車鍵而沒有任何輸入11</p>&
10、lt;p> 4.3.4找不到包含有鍵入用戶ID的記錄11</p><p> 4.3.5繼續(xù)刪除12</p><p><b> 五、代碼12</b></p><p> 1.menu文件錯誤!未定義書簽。</p><p> 2.add文件錯誤!未定義書簽。</p><p>
11、 3.delete文件錯誤!未定義書簽。</p><p><b> 一、引言</b></p><p> 隨著Linux操作系統(tǒng)在網(wǎng)絡(luò)服務(wù)器、嵌入式系統(tǒng)等領(lǐng)域應(yīng)用的迅速發(fā)展。Linux作為多用戶、多任務(wù)的操作系統(tǒng)。任何要使用系統(tǒng)資源者必須先在系統(tǒng)內(nèi)登記、注冊,即開設(shè)用戶賬戶,該賬戶包含用戶名、口令、所有的shell等。為了計算機系統(tǒng)的安全,Linux會對每一個要求
12、進來系統(tǒng)的用戶驗證用戶名和口令。</p><p> 在Linux系統(tǒng)的/etc目錄下有這樣一個文件passwd,該文件里包含系統(tǒng)中所有用戶信息的記錄,記錄里包含每個用戶的如下信息:用戶名、密碼、用戶ID、組ID、用戶全名、用戶主目錄和用戶登錄所用的shell。設(shè)計一個腳本(shell)程序?qū)崿F(xiàn)增加、刪除、查找和顯示特定用戶信息的功能。加深對操作系統(tǒng)原理的理解,掌握實際操作系統(tǒng)的用法,動手實踐,通過循序漸進的學(xué)習(xí)
13、各種管理功能、系統(tǒng)應(yīng)用,用shell編程實現(xiàn)LINUX課程設(shè)計,將理論學(xué)習(xí)付諸實踐,提高操作能力。</p><p><b> 二、需求分析</b></p><p><b> 1.任務(wù)目標</b></p><p> Linux作為多用戶、多任務(wù)的操作系統(tǒng),其系統(tǒng)資源是所有用戶共享的。對用戶的管理是操作系統(tǒng)的重點。LIN
14、UX課程設(shè)計要用shell編程實現(xiàn),將理論學(xué)習(xí)付諸實踐。設(shè)計一個腳本(shell)程序能實現(xiàn)增加、刪除、查找和顯示特定用戶信息的功能。</p><p><b> 2.系統(tǒng)要求</b></p><p> 程序要包括四個文件,即menu,add,delete,passwd四個文件。passwd文件是用來保存用戶信息;menu文件是主菜單,要求運行的時候能顯示一個菜單供
15、用戶選擇;add文件是用來增加信息;delete文件是用來刪除信息。在主Shell腳本文件里(必須以 menu 命名)要有一個多操作選項的菜單以便用戶從中選擇。對于任務(wù)6和7,需要編寫單獨的Shell腳本文件(必須分別命名為add和delete)并且在主腳本menu文件中調(diào)用這些腳本文件。在主目錄下建立一個目錄,并且在作業(yè)中使用它作為工作目錄。</p><p><b> 3.系統(tǒng)功能</b>
16、;</p><p> 在主Shell腳本文件里(即menu 文件)要有一個多操作選項的菜單以便用戶從中選擇。在不同任務(wù)的中,這些操作能自動實現(xiàn)以下功能:</p><p> 在屏幕上顯示當前所有用戶的記錄</p><p> 在屏幕上顯示當前所有用戶(經(jīng)過格式化和排序的)的記錄</p><p> 只在屏幕上顯示用戶名和用戶ID</p
17、><p> 只在屏幕上顯示(經(jīng)過格式化和排序的)用戶名和用戶ID</p><p> 查詢并顯示特定用戶的記錄</p><p> 往passwd文件里增加新的用戶記錄</p><p> 從passwd文件里刪除某個用戶記錄</p><p> 其中: menu文件中的程序完成1,2,3,4,5功能;另外寫一個add腳
18、本文件和delete腳本文件分別實現(xiàn)選項6和7.當用戶做了選擇且所選的操作完成之后,可以再次顯示主菜單以供用戶做下一步選擇。用while循環(huán)和case條件語句配合來完成此操作。</p><p><b> 三、總體設(shè)計</b></p><p><b> 1.功能圖</b></p><p><b> 3.流程圖
19、</b></p><p><b> 3.2.1主菜單</b></p><p> 3.2.2 add模塊</p><p> 3.2.3 delete模塊</p><p><b> 四、詳細設(shè)計</b></p><p><b> 1.menu主菜單
20、</b></p><p><b> 4.1.1主菜單</b></p><p> 4.1.2在menu腳本文件里將創(chuàng)建如下菜單,菜單里包含供用戶選擇的一些操作。</p><p><b> 4.1.3無效輸入</b></p><p> 當用戶做了選擇且所選的操作完成之后,應(yīng)再次顯示主
21、菜單以供用戶做下一步選擇。在以上等待用戶做出選擇的菜單中,如果用戶偶爾輸入了一個代碼而不是1、2、3、4、5、6、7或Q,就有信息提示“無效的代碼,請按回車鍵繼續(xù)”。等用戶按了回車鍵之后,再次顯示主菜單供用戶做其他選擇。如圖: </p><p><b> 4.1.4無輸入</b></p><p> 在以上等待用戶做出選擇的菜單中,如果用戶簡單地按了回車鍵,就會出現(xiàn)
22、信息“無效的代碼"。等用戶按了回車鍵之后,再次顯示主菜單供用戶做其他選擇。</p><p> 4.1.5當用戶選擇了1時——打印當前所有用戶記錄</p><p> 4.1.6當用戶選擇2時——打印當前經(jīng)過格式化的用戶記錄后</p><p> 4.1.7當用戶選擇3時,——打印用戶名和用戶ID</p><p> 4.1.8當用
23、戶選擇4時,——打印(格式化的)用戶名和用戶ID</p><p> 4.1.9當用戶選擇5時,——查找特定的記錄</p><p> 如果輸入的關(guān)鍵字不在記錄里</p><p> 如果用戶簡單地按回車鍵而不是輸入關(guān)鍵字</p><p><b> 2.a(chǎn)dd文件</b></p><p> 4
24、.2.1當用戶在主菜單里選擇6時你的add腳本文件就要被調(diào)用</p><p> 4.2.2輸入用戶名</p><p> 用戶輸入一個無效的用戶名</p><p> 用戶只按回車沒有輸入</p><p><b> 4.2.3輸入密碼</b></p><p><b> 輸入密碼時不
25、顯示</b></p><p> 要求密碼長度至少達到6位以上</p><p> 確認密碼如果與密碼不符應(yīng)該讓用戶重新輸入</p><p><b> 4.2.4用戶ID</b></p><p> 如果用戶只是簡單的按回車鍵</p><p> 如果用戶輸入的是一個無效的ID或者是
26、不符合格式的ID</p><p><b> 4.2.5組ID</b></p><p> 對組ID的要求類似與用戶ID,一個有效的組ID(數(shù)字、一般非超級用戶的ID大等于500)</p><p> 4.2.6登錄shell</p><p> 一個有效的shell必須只能是bash、sh、kash、csh中的一種&l
27、t;/p><p> 如果用戶只按回車沒有輸入的話則顯示信息:“沒有輸入!”,并提示用戶再次輸入shell名</p><p><b> 4.2.7保存記錄</b></p><p> 4.2.8是否繼續(xù)添加</p><p> 3.delete文件</p><p> 4.3.1當用戶在主菜單中選擇
28、7時,你的delete腳本文件必須被調(diào)用</p><p> 4.3.2用戶輸入一個無效的用戶ID</p><p> 4.3.3用戶簡單的按回車鍵而沒有任何輸入</p><p> 4.3.4找不到包含有鍵入用戶ID的記錄</p><p><b> 4.3.5繼續(xù)刪除</b></p><p>
29、<b> 五、代碼</b></p><p> 1、menu主腳本文件代碼</p><p> #! /bin/sh-</p><p> record_file=passwd</p><p> add_file=add</p><p> delete_file=delete</p&g
30、t;<p> while true</p><p><b> do</b></p><p><b> clear</b></p><p> echo " 用戶信息主菜單 "</p><p> ec
31、ho "=============================================="</p><p> echo "1、打印當前所有記錄 "</p><p> echo "2、打印當前所有記錄(格式化后的) "</p>
32、<p> echo "3、打印用戶名和用戶ID "</p><p> echo "4、打印(格式化了的)用戶名和用戶ID "</p><p> echo "5、查詢特定記錄 "<
33、;/p><p> echo "6、增加新記錄 "</p><p> echo "7、刪除記錄 "</p><p> echo "Q--退出
34、 "</p><p> echo -n "你的選擇是:"</p><p> read choice</p><p> case $choice in</p><p> 1)cat $record_file | tr ":" " " ;;
35、</p><p><b> 2)</b></p><p> #awk -F ":" ' ($3==0 || $3 > 499 && $3 < 6000) {printf "%-10s %-3s %-10s %-10s %-10s %-10s %-10s/n", $1,$2,$3,$4,$5
36、,$6,$7}' $record_file </p><p> cat $record_file | tr ":" "\t" | sort -d -k1;; </p><p> 3)cat $record_file | tr ":" "," | cut -f 1,3 -d,;;<
37、/p><p> 4)cat $record_file | cut -f 1,3 -d:| tr ":" "\t";;</p><p> 5)echo -n "輸入關(guān)鍵字:"</p><p><b> read name</b></p><p> while
38、 test -z $name </p><p><b> do</b></p><p> echo "沒有輸入關(guān)鍵字"</p><p> echo -n "輸入關(guān)鍵字:"</p><p><b> read name</b></p>&
39、lt;p><b> done</b></p><p> if( cut -f 1 -d: $record_file | grep -iq ^$name )</p><p><b> then</b></p><p> grep -iw ^$name $record_file</p><
40、p><b> else </b></p><p> echo "沒有找到$name"</p><p><b> fi;;</b></p><p> 6)sh $add_file;;</p><p> 7)sh $delete_file;;</p>&
41、lt;p> Q)break 10;;</p><p> q)break 10;;</p><p> *)echo -n "無效的代碼"</p><p><b> esac</b></p><p> if test "$choice"= "6" -
42、o "$choice"= "7";then</p><p><b> Break;</b></p><p><b> fi</b></p><p> echo -n "按回車鍵繼續(xù)。。"</p><p> read answer&l
43、t;/p><p><b> done </b></p><p> 2、add腳本文件代碼</p><p> #! /bin/sh-</p><p> record_file=passwd</p><p> while true</p><p><b>
44、 do</b></p><p><b> clear</b></p><p> echo " 用戶信息主菜單 "</p><p> echo "==============================================&
45、quot;</p><p> echo "輸入新用戶的具體情況 "</p><p> echo " "</p><p> #======================用戶名====
46、=====================#</p><p> while true</p><p><b> do</b></p><p> echo -n "用戶名:"</p><p><b> read name</b></p><p>
47、if test -z $name</p><p><b> then</b></p><p> echo "沒有輸入用戶名"</p><p><b> continue</b></p><p><b> fi</b></p><p
48、> if test $name = "N" -o $name = "n"</p><p><b> then</b></p><p><b> sh menu</b></p><p><b> exit</b></p><p&
49、gt;<b> fi</b></p><p> if (`echo $name |grep -q '^[A-Za-z0-9]*$'` && `echo $name | grep -q '^[A-Za-z]'` )</p><p><b> then</b></p><p&g
50、t; if (grep -wq ^$name $record_file )</p><p><b> then</b></p><p> echo "該用戶名已存在,請重新輸入!"</p><p><b> else </b></p><p><b> br
51、eak</b></p><p><b> fi</b></p><p><b> else </b></p><p> echo "用戶名只包含字母和數(shù)字,并且要以字母開頭"</p><p><b> continue</b></p
52、><p><b> fi</b></p><p><b> done</b></p><p> #====================密碼==============================#</p><p> while true</p><p><b
53、> do</b></p><p> echo -n "密碼:"</p><p> read -s pwd1</p><p><b> echo</b></p><p> if test -z $pwd1</p><p><b> then
54、</b></p><p> echo "密碼不能為空!請重新輸入!" </p><p><b> continue</b></p><p><b> fi</b></p><p> if test $pwd1 = "N" -o $pwd1
55、= "n"</p><p><b> then</b></p><p> # sh menu</p><p><b> exit</b></p><p><b> fi</b></p><p> if test `expr
56、 length $pwd1` -ge 6</p><p><b> then</b></p><p> echo -n "確認密碼:"</p><p> read -s pwd2</p><p><b> echo </b></p><p>
57、if test $pwd1 = $pwd2</p><p><b> then </b></p><p><b> break</b></p><p><b> else</b></p><p> echo "密碼不一致!請重新輸入!"</p&
58、gt;<p><b> fi</b></p><p><b> else</b></p><p> echo "密碼長度至少要6位!請重新輸入!"</p><p><b> fi</b></p><p><b> done
59、</b></p><p> #=====================用戶ID===========================#</p><p> while true </p><p><b> do</b></p><p> echo -n "用戶ID:"</p&
60、gt;<p><b> read id</b></p><p> if test -z $id</p><p><b> then</b></p><p> echo "沒有鍵入ID"</p><p><b> continue</b>
61、;</p><p><b> fi</b></p><p> if test $id = "N" -o $id = "n"</p><p><b> then</b></p><p><b> # sh menu</b></
62、p><p><b> exit</b></p><p><b> fi</b></p><p> if (`echo $id | grep -q '^[0-9]*$'` && test $id -ge 500 -a $id -le 60000)</p><p>&l
63、t;b> then</b></p><p> if (cut -f 3 -d : $record_file| grep -w $id)</p><p><b> then</b></p><p> echo "ID已存在,請鍵入別的ID"</p><p><b>
64、 continue</b></p><p><b> else </b></p><p><b> break</b></p><p><b> fi</b></p><p><b> else</b></p><p
65、> echo "ID必須大于等于500小于等于60000"</p><p><b> continue</b></p><p><b> fi</b></p><p><b> done</b></p><p> #=============
66、==========組ID==================================#</p><p> while true</p><p><b> do</b></p><p> echo -n "組ID:"</p><p><b> read gid</b&g
67、t;</p><p> if test -z $gid</p><p><b> then</b></p><p> echo "沒有鍵入組ID"</p><p><b> fi</b></p><p> if test $gid = "
68、;N" -o $gid = "n"</p><p><b> then</b></p><p> # sh menu</p><p><b> exit</b></p><p><b> fi</b></p><p&g
69、t; if (`echo $gid | grep -q '^[0-9]*$'` && test $gid -ge 500 -a $gid -le 60000)</p><p><b> then</b></p><p> if(cut -f 3 -d : $record_file | grep -w $gid)</p&
70、gt;<p><b> then</b></p><p> echo "ID已經(jīng)存在,請鍵入別的大于等于500小于60000的數(shù)!"</p><p><b> continue</b></p><p><b> else</b></p><
71、p><b> break</b></p><p><b> fi</b></p><p><b> else</b></p><p> echo "組ID必須大于等于500小于等于60000"</p><p> continue </
72、p><p><b> fi</b></p><p><b> done</b></p><p> #======================主目錄===================================#</p><p> echo 主目錄:$name</p>&
73、lt;p> #======================登錄shell================================#</p><p> while true</p><p><b> do</b></p><p> echo -n 登錄shell:</p><p><b>
74、 read she</b></p><p> if test -z $she</p><p><b> then</b></p><p> echo "沒有輸入!"</p><p><b> continue</b></p><p>&
75、lt;b> fi</b></p><p> if test $she = "N" -o $she = "n"</p><p><b> then</b></p><p><b> sh menu</b></p><p><b&g
76、t; exit</b></p><p><b> fi</b></p><p> if test $she = 'bash' -o $she = 'sh' -o $she = 'kash' -o $she = 'csh'</p><p><b> th
77、en </b></p><p><b> break</b></p><p><b> else</b></p><p> echo "輸入的shell名不在本系統(tǒng)范圍內(nèi)!"</p><p><b> continue</b></p
78、><p><b> fi</b></p><p><b> done</b></p><p> #=====================用戶全名==================================#</p><p> while true</p><p&g
79、t;<b> do</b></p><p> echo -n "用戶全名:"</p><p> read fullname</p><p> if test -z $fullname</p><p><b> then</b></p><p>
80、 echo "沒有輸入!"</p><p><b> continue</b></p><p><b> fi</b></p><p> if test $fullname = "N" -o $fullname = "n"</p><p&
81、gt;<b> then</b></p><p> # sh menu</p><p><b> exit</b></p><p><b> fi</b></p><p><b> break</b></p><p>&
82、lt;b> done</b></p><p> #======================主目錄===================================#</p><p> echo 主目錄:$name</p><p> #======================添加用戶========================
83、=========#</p><p> useradd $name:$pwd1:$id:$gid:$fullname:/home/$name:/bin/$she >>$record_file;</p><p> echo "保存成功!"</p><p> echo "$name $pwd1 $id $gid $ful
84、lname /home/$name /bin/$she" </p><p> echo -n "再增加一個嗎?(Y/N)"</p><p> read choice</p><p> if test $choice = "Y" -o $choice = "y"</p><
85、;p><b> then</b></p><p><b> continue</b></p><p><b> exit</b></p><p><b> else</b></p><p> if test $choice = "
86、N" -o $choice = "n"</p><p><b> then </b></p><p><b> sh menu</b></p><p><b> exit</b></p><p><b> fi</b>
87、</p><p><b> fi</b></p><p><b> done</b></p><p> 3、detele腳本文件代碼</p><p> #! /bin/sh-</p><p> record_file=passwd</p><p&
88、gt;<b> clear</b></p><p> echo "刪除用戶記錄"</p><p> while true</p><p><b> do</b></p><p> echo -n "輸入用戶ID:"</p><p&
89、gt;<b> read uid</b></p><p> if test -z $uid</p><p><b> then </b></p><p> echo "沒有輸入!"</p><p><b> continue</b></p&g
90、t;<p><b> fi</b></p><p> if test $uid = "N" -o $uid = "n" </p><p><b> then</b></p><p> # sh menu</p><p><b>
91、; exit</b></p><p><b> fi</b></p><p> if test $uid -ge 500 -a $uid -le 60000</p><p><b> then </b></p><p> name=`awk -F: '$3==&qu
92、ot;'$uid'"' $record_file | cut -f 1 -d:`</p><p> if (! test -z $name )</p><p><b> then</b></p><p> awk -F: '$3=="'$uid'"' $
93、record_file</p><p> echo -n "確認刪除? Y 或 N :"</p><p><b> read an</b></p><p> if (test $an = "Y" -o $an = "y")</p><p><b>
94、; then</b></p><p> userdel -r $name</p><p> echo "記錄刪除"</p><p> echo -n "再刪除一個? Y 或 N :"</p><p><b> read an2</b></p>
95、<p> if (test $an2 = "Y" -o $an2 = "y")</p><p><b> then</b></p><p><b> continue</b></p><p> elif (test $an = "N" -o $a
96、n = "n")</p><p><b> then</b></p><p> # sh menu</p><p><b> exit</b></p><p><b> fi</b></p><p> elif (test
97、 $an = "N" -o $an = "n") </p><p><b> then</b></p><p> # sh menu</p><p><b> exit</b></p><p><b> else</b><
98、;/p><p><b> # sh menu</b></p><p><b> exit</b></p><p><b> fi</b></p><p><b> else</b></p><p> echo "沒有
99、找到$uid"</p><p><b> fi</b></p><p><b> else </b></p><p> echo "無效的用戶ID" </p><p><b> continue </b></p><p&
100、gt;<b> fi</b></p><p> echo "按回車繼續(xù).."</p><p> read answer</p><p><b> sh menu</b></p><p><b> exit</b></p><p&
101、gt;<b> done </b></p><p> 4、 passwd文件</p><p> root:x:0:0:root:/root:/bin/bash</p><p> bin:x:1:1:bin:/bin:/sbin/nologin</p><p> linux:x:500:500:linux
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- linux shell大作業(yè)
- linux_shell(腳本)編程入門_實例講解詳解
- linux課程設(shè)計 說明書
- linux的應(yīng)用及shell編程
- 數(shù)控編程課程設(shè)計說明書
- linux_bash腳本編程大全
- linux-unix系統(tǒng)編程手冊(上、下冊)-
- 操作系統(tǒng)課程設(shè)計說明書--基于linux的進程之間通信
- Unix-Linux服務(wù)器Shell審計平臺的設(shè)計與實現(xiàn).pdf
- 數(shù)控加工與編程課程設(shè)計說明書
- linux課程設(shè)計論文
- linux課程設(shè)計論文
- linux課程設(shè)計報告
- linux課程設(shè)計76359
- linux課程設(shè)計76359
- 逆向工程大作業(yè)設(shè)計說明書
- linux課程設(shè)計報告--linux操作系統(tǒng)應(yīng)用
- 課程設(shè)計說明書
- 課程設(shè)計說明書
- linux內(nèi)核裁剪課程設(shè)計
評論
0/150
提交評論