《LinuxOperatingSystem》課程實(shí)驗(yàn)指導(dǎo)書(參考資料).doc_第1頁
《LinuxOperatingSystem》課程實(shí)驗(yàn)指導(dǎo)書(參考資料).doc_第2頁
《LinuxOperatingSystem》課程實(shí)驗(yàn)指導(dǎo)書(參考資料).doc_第3頁
《LinuxOperatingSystem》課程實(shí)驗(yàn)指導(dǎo)書(參考資料).doc_第4頁
《LinuxOperatingSystem》課程實(shí)驗(yàn)指導(dǎo)書(參考資料).doc_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Linux Operating System課程實(shí)驗(yàn)指導(dǎo)書實(shí)驗(yàn)一 Linux基本命令一、實(shí)驗(yàn)?zāi)康恼莆誰inux平臺(tái)下的基本命令(40個(gè))二、實(shí)驗(yàn)說明 在介紹所有的命令之前,先介紹一下Linux的在線幫助man。在Linux下,當(dāng)你要查找一個(gè)命令的用法的,你可以通過 man 命令名 來源得命令的詳細(xì)說明。因?yàn)槊總€(gè)Linux都有一份man文檔,所以介紹命令的時(shí)候我們只是簡(jiǎn)直介紹一下命令的學(xué)用選項(xiàng)。如果想查看命令的詳細(xì)說明,請(qǐng)自己看man。下面是man各小節(jié)的內(nèi)容:1用戶命令。2系統(tǒng)調(diào)用。3庫函數(shù)。4特殊文件(設(shè)備和網(wǎng)絡(luò)接口)。5文件格式。6游戲和演示。7系統(tǒng)環(huán)境、表格和宏。8系統(tǒng)管理和相關(guān)命令。 三、命令說明1. apropos 依據(jù)所給關(guān)鍵字查找相關(guān)的命令和系統(tǒng)調(diào)用 格式:apropos keyword例:查找與ftp相關(guān)的命令和系統(tǒng)調(diào)用$apropos ftp注:類似的命令有man -k。man -k 其實(shí)就是執(zhí)行apropos2. at 在某一特定時(shí)間執(zhí)行指定的命令 格式:at -V-q 隊(duì)列-f 文件-m time 選項(xiàng)說明:-V 顯示標(biāo)準(zhǔn)的錯(cuò)誤輸出。-f 可將作業(yè)存在一個(gè)文件中,用這個(gè)選項(xiàng)指定文件。例如一個(gè)shell文件。-q 指定隊(duì)列名稱,默認(rèn)為c。-m 執(zhí)行后給用戶發(fā)郵件。 time 指定開始執(zhí)行的時(shí)間。時(shí)間格式為: HH:MM,日期格式:MM/DD/YY或MM.DD.YY或MMDDYY。 下面的例子演示了在2004年3月11日21點(diǎn)34分執(zhí)行一個(gè)at命令。 $at 21:34 03/11/04執(zhí)行這條命令后會(huì)得到一條warning:commands will be executed using (in order) a)$SHELL b) login shell c)/bin/sh。然后就出現(xiàn)“at”的提示符。這時(shí)你就可以輸入你要執(zhí)行的命令了,結(jié)束后按Ctrl+d。你就可以去喝茶了,到時(shí)間后系統(tǒng)會(huì)自動(dòng)執(zhí)行它。 相關(guān)配置文件:/etc/at.allow 如果這個(gè)文件存在,僅允許這個(gè)文件里列出的用戶使用at。 /etc/at.deny 如果這個(gè)文件存在,該文件列出的用戶都不能使用at服務(wù)。當(dāng) 這個(gè)文件為空時(shí),任何用戶都可以使用at,這是默認(rèn)配置。 當(dāng)運(yùn)行at命令時(shí),先檢查/etc/at.allow文件是否存在,如果不存在,再檢查 /etc/at.deny文件是否存在。不管這兩個(gè)文件是不是存在,root用戶都可以執(zhí)行at命令。 相關(guān)命令:atq:列出用戶待執(zhí)行的任務(wù),除了root用戶的外,每個(gè)用戶的任務(wù)都將被列出。atrm:通過任務(wù)號(hào)刪除at任務(wù)。batch:當(dāng)系統(tǒng)負(fù)載允許的時(shí)候執(zhí)行命令。比如當(dāng)負(fù)載低于0.8或者一個(gè)指定的值時(shí),指行atrun。3. cat 查看文件內(nèi)容,從鍵盤讀取數(shù)據(jù),合并文件等 格式:cat -b-A-E-T-n-s-v 文件名選項(xiàng)說明:-b 不顯示文件中的空行。-A 相當(dāng)于 -v -E -T (-vET)。-E 在文件的每一行行尾加上“$”字符。-T 將文件中的Tab鍵用字符“I”來顯示。-n 在文件的每行前面顯示行號(hào)。-s 將連續(xù)的多個(gè)空行用一個(gè)空行來顯示。-v 顯示除Tab和Enter之外的所有字符。 下面的命令演示了如何顯示file文件中的行號(hào) $cat -n file4. chmod 修改文件權(quán)限 格式:chmod 選項(xiàng) 文件或目錄名選項(xiàng)說明:u 文件所有者g 文件所屬組o 其它用戶+ 增加權(quán)限- 取消權(quán)限= 賦給權(quán)限a 所有用戶r 讀權(quán)限w 寫權(quán)限x 執(zhí)行權(quán)限 下面的命令演示了如何使所有用戶都可以讀寫file文件 $chmod a+rw file5. chown 改變文件所有者 格式:chown -R-c用戶名組名 文件或目錄名選項(xiàng)說明:-c 文件屬主改變時(shí)顯示說明。-R/r 改變目錄下的文件及其子目錄下所有文件的屬主。 下面的命令演示了如何改變 dir 目錄下的文件及其子目錄下的文件的屬主為bugboy $chown -R bugboy dir6. cp 復(fù)制文件 格式:cp 選項(xiàng) 源文件名 目標(biāo)文件名選項(xiàng)說明:-R 復(fù)制整個(gè)目錄。-f 刪除己存在的目標(biāo)文件。-i 使用-f遇到刪除文件時(shí)給出提示。 下面的命令演示了如何把 file 文件復(fù)制到當(dāng)前用戶的根目錄下 $cp file /7. crontab 制定計(jì)劃任務(wù) crontab通過cron服務(wù)使用戶能夠在指定的時(shí)間執(zhí)行某些程序,它通過cron復(fù)制,創(chuàng)建列出,刪除crontab文件來管理用戶權(quán)限和計(jì)劃。 命令格式:crontab -u username -l -e -r選項(xiàng)說明:-e 編輯當(dāng)前用戶的crontab文件,或者當(dāng)一個(gè)crontab文件不存在時(shí),創(chuàng)建一個(gè)crontab 文件。編輯并保存后文件被當(dāng)前用戶的crontab安裝。-l 列出當(dāng)前crontab文件內(nèi)容。-r 刪除當(dāng)前用戶的crontab文件。-u username 指定用戶名。 crontab文件格式:crontab文件有六個(gè)域,每個(gè)域之間用空格或者Tab鍵分開,前五個(gè)域都是整數(shù)或者*,格式如下(括號(hào)里面是取值范圍): 分鐘(0-59)小時(shí)(0-23) 日(1-31) 月(1-12) 星期(0-6) 要執(zhí)行的命令其中星期取值0指星期日,其它取值遞推。前面五個(gè)域,每個(gè)域都可以用*表示所有合法的值,或者用一個(gè)列表列出合法的值,各值之間用“,”隔開,也可以用“-”表示一個(gè)范圍。下面的命令演示每個(gè)星期,星期日到星期四晚上23:30分關(guān)機(jī)。 30 23 * * 0-4 halt -p下面的例子示出每星期星期一到星期五3:15分清除用戶目錄下的core文件 15 3 * * 1-5 find $HOME -name core 2/dev/null |xargs rm -f下面是一個(gè)crontab文件的例子,請(qǐng)用crontab -e 命令編輯。SHELL=/bin/bashPATH=/usr/bin:/bin:/usr/sbin:/sbinMAILTO=bugboyHOME=/home/bugboy30 23 * * 0-4 halt -p前面四行定義環(huán)境變量,最后一行是執(zhí)行的命令,你可以定義要執(zhí)行多個(gè)命令。如果你的crontab文件已經(jīng)正確編輯,保存退出后會(huì)得到一條crontab:installing new crontab 的信息。相關(guān)文件:/etc/cron.d/cron.allow 如果這個(gè)文件存在,文件中包含的用戶名可以使用crontab。/etc/cron.d/cron.deny 如果這個(gè)文件存在,文件中包含的用戶不能使用crontab。你可以自己編輯這兩個(gè)文件,注意每個(gè)用戶名占一行。8. df 查看磁盤剩余空間 格式:df -t-x-k-p-a-mfilename選項(xiàng)說明:-t 只輸出類型列在fstype中的文件系統(tǒng)。-x 只輸出類型沒有列在fstype中的文件系統(tǒng)。-k 顯示空間以K為單位。-m 顯示空間以M為單位。-a 將空間為0的文件系統(tǒng)也輸出。filename 指定要查看的文件的大小。 9. fdisk/sfdisk查看硬盤分區(qū)信息 10. 格式:fdisk -l -u device .11. fdisk -s partition選項(xiàng)說明:-u列出分區(qū)表的時(shí)候以扇區(qū)的大小代替柱面大小。-l列出給定設(shè)備的分區(qū)表,如果沒有給定設(shè)備,則列出/proc/partions中設(shè)備的分區(qū)表。-s partition給出partition分區(qū)的大小(以塊為單位)。 12. file 識(shí)別文件類型 格式:file 文件名13. find 查找文件 格式:find 路徑匹配表達(dá)示其中匹配表達(dá)示有幾種類型:-name filename 查找指定名稱的文件。-user username 查找指定用戶名的文件。-group grpname 查找指定級(jí)名的文件。-print 顯示查找的結(jié)果。-size n 查找大小為n塊的文件,一塊等于512字節(jié)。符號(hào)“+n”表示查找大小大于n塊的文件;符號(hào)“nc”表示查找大小為n個(gè)字符的文件,同樣的也有符號(hào)“+nc”。-inum n 查找索引結(jié)點(diǎn)號(hào)(i-node)為n的文件。-atime n 查找n天前被訪問的文件?!?n”表示超過n天前被訪問的文件;“-n”表示不超過n天前被訪問的文件。-mtime n 類似于atime,但是檢查的是文件內(nèi)容被修改的時(shí)間。-ctime n類似于atime,但檢查的是文件索引結(jié)點(diǎn)被改變的時(shí)間。-perm mode 查找與給定權(quán)限匹配的文件,必須以八進(jìn)制的形式給出訪問權(quán)限。-newer file 查找比指定文件新的文件,即最后修改時(shí)間離現(xiàn)在較近。-exec command 對(duì)匹配文件執(zhí)行command命令,command后用了個(gè)大括號(hào)包括文件名。command必須以反斜杠和一個(gè)分號(hào)結(jié)尾。-ok command 執(zhí)行command的時(shí)候請(qǐng)求用戶確認(rèn)。其它與-exec相同。 例:查找當(dāng)前目錄下所有以.bak結(jié)尾的文件,并刪除它們 $find . -name *.bak -exec rm ;注:這里*.bak必須要用單引號(hào)或者雙引號(hào)引起來,或者可以寫成*.bak。14. head 輸出文件內(nèi)容前面的部分 格式:head 選項(xiàng)文件選項(xiàng)說明:-n 輸出文件的前n行,默認(rèn)輸出10行。-c 指定輸出文件的大小,單位為byte。 15. kill 終止進(jìn)程 格式:kill -s|p-a PID選項(xiàng)說明:-s 指明發(fā)送給進(jìn)程的信號(hào)。例如-9(強(qiáng)行終止),默認(rèn)發(fā)送TERM信號(hào)。-p 顯示進(jìn)程的ID,不發(fā)送信號(hào)。-a 終止所有進(jìn)程。0 給所有在當(dāng)前進(jìn)程組中的進(jìn)程發(fā)送信號(hào)。-1 給所有進(jìn)程號(hào)大于1的進(jìn)程發(fā)送信號(hào)。 16. less 交互式顯示文件內(nèi)容 格式:less 文件名說明:可以通過C-v(Page-Down)、C-b(Page-Up)向后向前翻頁,C-p、C-n向后向前移一行。這個(gè)命令和后面要說的more命令都可以按q鍵退出。17. ln 在文件之間建立鏈接 格式:ln -b-d-F-f-i-n-s-v 源文件 目錄文件或目錄 選項(xiàng)說明:-b 為刪除的文件建立備份。-d 允許root用戶建立硬鏈接。-F 與b相同。-f 強(qiáng)行刪除目標(biāo)文件。-i 在刪除文件時(shí)給出提示。-n 當(dāng)目標(biāo)文件是目錄的符號(hào)鏈接時(shí),替代該符號(hào)鏈接。-s 用符號(hào)鏈接代替硬鏈接(建立符號(hào)鏈接)。-v 輸出被鏈接文件的文件名。 18. ls 用于瀏覽目錄,查看當(dāng)前目錄下的文件和文件名 格式:ls 選項(xiàng)選項(xiàng)說明:-a 顯示所有文件(包括隱藏文件)。-l 顯示文件的詳細(xì)信息。-k 顯示文件大小,以K為單位。-color 顯示文件時(shí)用不同顏色加以區(qū)別文件類型。-d 將根目錄作為文件顯示。 19. more 一頁一頁地顯示文件內(nèi)容 格式:more 選項(xiàng) 文件名選項(xiàng)說明:+n 由第n行開始顯示+/str 由含有str字符串的地方開始顯示。 20. mount 加載文件系統(tǒng) 格式:mount 磁盤或分區(qū)的設(shè)備文件 載入點(diǎn) 選項(xiàng)選項(xiàng)說明:-t 文件系統(tǒng)類型(fat32為vfat)-o 選項(xiàng) 常用的選項(xiàng)有codepage,iocharset(對(duì)于中文codepage=936,iocharset=gb2312)-loop 掛載ISO文件時(shí)用 舉個(gè)例子,掛載/dev/hda5到/mnt/wind目錄下并且目錄支持中文,命令如下: #mount -t vfat /dev/hda5 /mnt/wind -o codepage=936,iocharset=gb231221. mv 重命名文件或移動(dòng)文件 格式:mv -b-f-i-u-v 源文件 目標(biāo)文件或文件夾選項(xiàng)說明:-b 為源文件作備份-f 文件重命名時(shí)強(qiáng)制覆蓋己有文件。-i 覆蓋文件時(shí)給出提示。-u 目標(biāo)文件比源文件新時(shí)不覆蓋。-v 移動(dòng)文件時(shí)給出相應(yīng)的提示。 22. oggenc壓縮音樂文件為.ogg格式 格式:oggenc 文件名把*.wav文件壓縮為*.ogg格式$oggenc *.wav同等條件下,ogg會(huì)比mp3獲得較好的音樂效果23. ps 查看進(jìn)程狀態(tài) 格式:ps 選項(xiàng)選項(xiàng)說明:-e/A 列出所有進(jìn)程。-u 選擇有效的用戶ID。-p 選擇指定終端下的進(jìn)程。-C 選擇指定的文件名。-f 列出所有詳細(xì)信息。-l 按長(zhǎng)格式顯示。-j 按job格式顯示。-x 選擇沒有控制終端的進(jìn)程。 24. quota 顯示磁盤的使用情況,一般用戶可以查看自己使用磁盤的權(quán)限 格式:quota -g-u-v-p 用戶名或組名選項(xiàng)說明:-g 顯示用戶所在組使用磁盤的權(quán)限。-u 顯示用戶自己使用磁盤的權(quán)限。-p 使顯示信息簡(jiǎn)潔化。 25. rename批量修改文件名 格式:rename from to file.選項(xiàng)說明:from源字符。to 目標(biāo)字符。file要改名的文件 下面的命令演示了把所有文件的后輟由rm改為rmvb$rename .rm .rmvb *下面的命令把所有文件名中的大寫改為小寫$rename tr/A-Z/a-z/ *26. rpm redhat軟件包管理工具 格式:rpm 選項(xiàng) 文件名|軟件包名選項(xiàng)說明:-version 獲得rpm程序的版本信息。-vv 獲得詳細(xì)的幫助信息。-v 打印冗長(zhǎng)的信息,常與-i選項(xiàng)合用,獲得安裝進(jìn)度。-i 安裝軟件包。-U 升級(jí)軟件包,如果沒有舊版的軟件包就安裝它。-F 更新軟件包,當(dāng)有舊的軟件包的時(shí)候。-force 相當(dāng)于-replacepkgs,-repalcefiles,-oldpackage。-nodigest 不驗(yàn)證軟件包的獨(dú)立性。-nosignature 不驗(yàn)證軟件包或者頁眉簽名。-nodeps 不檢查軟件包的安裝路徑。-oldpackage 用新軟件包替換舊軟件包。-prefixPATH 指定軟件包的安裝路徑。-relocate OLDPATH=NEWPATH 把原來安裝在“OLDPATH”下的軟件包重新安裝到“NEWPATH”去。-replacefiles 安裝軟件包,即使它們替換掉其它的文件。-replacepkgs 替換掉已經(jīng)安裝的同名軟件包。-e|-erase 軟件包名 刪除軟件包。-allmatches 刪除軟件包的所有版本。-q 查詢已經(jīng)安裝的軟件包。-a 選擇所有軟件包。-h 當(dāng)解開軟件包時(shí),打印50個(gè)標(biāo)記,通常與iv選項(xiàng)一起用。 特別說明:在刪除軟件包時(shí),軟件包的名稱不等于安裝時(shí)的文件名。通常一個(gè)rpm包由軟件包名稱+版本號(hào)+發(fā)行號(hào)+發(fā)行平臺(tái)+后輟構(gòu)成。比如有個(gè)文件名為bugboy-1.01-1.i386.rpm,那么它的軟件包名稱是bugboy,版本號(hào)是1.0.1,發(fā)行號(hào)是1,發(fā)行平臺(tái)是intel 386。27. rm 刪除文件或者目錄 格式:rm -d-i-r-v-f 文件名或目錄名選項(xiàng)說明:-d 使用這個(gè)選項(xiàng)后,rm大體想當(dāng)于unlink。-i 刪除每個(gè)文件時(shí)給用戶提示。-r 刪除整個(gè)目錄,包括文件和子目錄。-v 刪除每個(gè)文件時(shí)給出提示。-f 強(qiáng)制刪除,并且不給提示。 28. sox 轉(zhuǎn)換音頻文件 格式:sox 選項(xiàng) from 選項(xiàng) to選項(xiàng)說明:-t文件格式。-r采樣頻率。 例:把file1.wav轉(zhuǎn)換成file1.au文件 $sox file1.wav file1.au把file1.wav 轉(zhuǎn)換成file1.voc文件,并把采樣頻率由10000 Hz降為5000 Hz$sox -r 10000 file1.wav -r 5000 file1.voc減小文件噪音,讓文件通過低通濾波器$sox file1.wav file1.voc lowp 2200注:對(duì)于一些沒有許可授權(quán)的文件格式,sox不支持29. su 改變當(dāng)前用戶的ID。 30. tail 輸出文件內(nèi)容后面的部分 格式:tail 選項(xiàng) 文件名選項(xiàng)說明:-n 只顯示后面的n行。-f 動(dòng)太顯示,常用于跟蹤消息文件。 31. tar 解壓或壓縮文件 格式:tar 選項(xiàng) 文件文件1 目錄目錄1選項(xiàng)說明:-A 將一個(gè)tar文件追加到一個(gè)存檔中。-c 生成一個(gè)新的存檔文件。-delete 從存檔中刪除。-r 將文件添加到一個(gè)存檔的末尾。-l 列出一個(gè)存檔的內(nèi)容。-u 僅將些存檔中內(nèi)容較新的文件添加到存檔中。-x 從存檔中解壓縮文件。-v 詳細(xì)地列出處理過的文件的信息。-z 用gzip來處理文件。-remove-files 將文件解壓之后就刪除它們。-Z 用compress來處理文件。 注意:選項(xiàng)中必須包含有Acdrtux中的一個(gè)或多個(gè)。32. top 查看CPU的使用率,修改進(jìn)程運(yùn)行優(yōu)先級(jí) 格式:top 選項(xiàng)選項(xiàng)說明:-d delay 指定刷新的秒數(shù)。-p pid 查看指定pid的CPU使用率。 默認(rèn)情況下進(jìn)程按CPU使用率排序,可按PID(N),時(shí)限(A),常駐內(nèi)存使用率(M),時(shí)間(T),和CPU使用率(P)來排序。33. type 查看一個(gè)命令所在路徑 格式:type command 例:查找ls命令所在路徑$type ls34. umount 卸載系統(tǒng) 格式:umount 磁盤或分區(qū)的設(shè)備文件(也可以是載入點(diǎn))35. useradd 添加用戶或更新新創(chuàng)建用戶的默認(rèn)信息 格式:useradd 選項(xiàng) 選項(xiàng)說明:-c comment 描述新用戶帳號(hào),通常為用戶全名。-d home_dir 設(shè)置用戶主目錄,默認(rèn)值為用戶的登錄名,并放在/home目錄下。-D 創(chuàng)建新帳號(hào)后保存為新帳號(hào)設(shè)置的默認(rèn)信息。-e expire_date 用MM/DD/YYYY格式設(shè)置帳號(hào)過期日期。-f inactivity 設(shè)置口令失效時(shí)間,該值為0使口令失效后帳號(hào)立即失效,為-1使該選項(xiàng)失效。-g 設(shè)置基本組。-k skel_dir 設(shè)置框架目錄,該目錄包含用戶的初始配置文件,創(chuàng)建用戶時(shí)該目錄下的文件都被復(fù)制到用戶主目錄下。-m 自動(dòng)創(chuàng)建用戶主目錄,并把框架目錄(默認(rèn)為/etc/skel)下的文件復(fù)制到用戶主目錄下。-M 不創(chuàng)建用戶主目錄。-r 允許保留的系統(tǒng)帳號(hào)使用用戶ID創(chuàng)建一個(gè)新帳號(hào)。 -s shell指定用戶的登錄shell。-u user_id 設(shè)置用戶ID。 例:#useradd -m -g users -G Wheel,student -s /bin/sh -c Yan Dingcheng bugboy例用usermod修改用戶帳號(hào)時(shí)各選項(xiàng)與useradd命令相似。36. userdel 刪除用戶帳號(hào) 格式:userdel username選項(xiàng)說明:-r 刪除帳號(hào)時(shí)連同帳號(hào)主目錄一起刪除。 注意:刪除用戶帳號(hào)時(shí)非用戶主目錄下的用戶文件并不會(huì)被刪除,管理員必須以find命令搜索刪除這些文件。下面這條命令刪除bugboy用戶的所有文件:#find / -user bugboy -exec rm ;37. whatis 查看可以使用的man page和命令的基本功能介紹 例:$whatis top38. whereis 定位可執(zhí)行文件、源代碼文件、幫助文件在文件系統(tǒng)中的位置 格式:whereis -bmsu BMS 目錄名 -f 文件名選項(xiàng)說明:-b 定位可執(zhí)行文件。-m 定位幫助文件。-s 定位源代碼文件。-u 搜索默認(rèn)路徑下除可執(zhí)行文件、源代碼文件、幫助文件以外的其它文件。-B 指定搜索可執(zhí)行文件的路徑。-M 指定搜索幫助文件的路徑。-S 指定搜索源代碼文件的路徑。 39. w 查看登錄用戶和他們正在做什么 格式:w -hsfV user選項(xiàng)說明:-h 不打印信息頭。-s 使用短格式顯示信息。-f 打印用戶來源。-V 顯示版本信息。 40. who 查看當(dāng)前用戶的便當(dāng)情況 格式:who -i-u-m選項(xiàng)說明:-i 顯示用戶的活動(dòng)狀況。-u 與-i相同。-m 顯示用戶自身的情況。四、補(bǔ)充說明本次實(shí)驗(yàn)很難完成所有命令的操作,建議參考Linux命令大全(修改版),掌握linux平臺(tái)下的所有命令。 實(shí)驗(yàn)二 shell編程一、實(shí)驗(yàn)?zāi)康氖炀氄莆誗hell Script編程,加深對(duì)linux系統(tǒng)的理解二、實(shí)驗(yàn)要求1 知道如何執(zhí)行shell程序2 在shell腳本中要體現(xiàn)條件控制(如if結(jié)構(gòu)和條件分支)3 在shell腳本中要體現(xiàn)循環(huán)(for,while和until循環(huán))4 掌握shell程序的調(diào)試三、Shell腳本舉例1)趕走一些你不希望進(jìn)入的用戶while truedo kill -9 $(ps -aux |grep bigman | awk print $2 )done 2)一個(gè)簡(jiǎn)單的目錄菜單while true do echo List Directory.1 echo Change Directory.2 echo Edit File.3 echo Remove File.4 echo Exit Menu.5 read choice case $choice in 1) ls; 2) echo Enter target directory read dir cd $dir ;3) echo Enter file name read file vi $file ; 4) echo Enter file name read file 3.函數(shù)調(diào)用 #!/bin/bash function func() echo $1 echo $2 return 1 func Hello function 4 Shell腳本的感染 for file in *doif test -f $filethenif test -x $filethenif test -w $filethencp $file .$filehead -n 15 $0$filecat .$file$filefififidon實(shí)驗(yàn)三 進(jìn)程控制一、實(shí)驗(yàn)?zāi)康?了解與進(jìn)程控制相關(guān)的各種系統(tǒng)調(diào)用,加深對(duì)進(jìn)程的狀態(tài)變遷與進(jìn)程調(diào)度的理解。二、實(shí)驗(yàn)要求 1.掌握進(jìn)程的創(chuàng)建fork系統(tǒng)調(diào)用的原理。 2.掌握exec系統(tǒng)調(diào)用的原理。 3.掌握exit系統(tǒng)調(diào)用的原理。 4.掌握wait系統(tǒng)調(diào)用的原理。三、代碼范例 1Fork main() int pid; printf(Just 1 process now.n); printf(Calling fork()n); pid=fork(); if(pid = = 0) /*子進(jìn)程 */ printf(Im the child.n); else if pid0) /*父進(jìn)程*/ printf(Im the parent.n); else print(fork failed.n); print(Program end.n); 2. exec調(diào)用 main( )int pid;printf(Just 1 process now.n);printf(Calling fork( ). . . n);pid=fork( ); If (pid = = 0) /* 子進(jìn)程*/ printf(Im the child. n);execl(/bin/ ls,ls,1,fork_test.c,0);perror(exec error)exit(1) /*子進(jìn)程終止*/else if (pid 0) /*父進(jìn)程 */ printf(Im the parent.n );else /*pid0,fork 失敗 */ printf(fork failed.n);wait(0); printf (programe end.n); /*父進(jìn)程等待進(jìn)程終止*/3. wait調(diào)用# includemain( ) int i,j,status; i= fork ( ); if( i = 0) /子進(jìn)程 */ execlp(“ysh”, “ysh”, “c”, “expr.sh 1st 2st 3rd 4th”,NULL);/ * 執(zhí)行失敗,錯(cuò)誤返回* / perror(“exec error”); exit(5); wait (&status); / * 父進(jìn)程接收子進(jìn)程返回狀態(tài)度* / printf(“status returned : %xH n”,status); printf(“that is %x in exit (). n”,status8);實(shí)驗(yàn)四 網(wǎng)絡(luò)編程一、實(shí)驗(yàn)?zāi)康?了解與linux下socket編程相關(guān)的各種系統(tǒng)調(diào)用,加深對(duì)tcp/udp協(xié)議的理解。二、實(shí)驗(yàn)要求 1.掌握linux下socket編程相關(guān)的各種系統(tǒng)調(diào)用n socketn bindn connectn listenn acceptn read, recvfromn write, sendton close 2理解tcp與udp通訊機(jī)制的區(qū)別三、代碼范例 1)一個(gè)簡(jiǎn)單的TCP Server #include #include #include #include #include #include #include #include #define MYPORT 3490 /* 監(jiān)聽端口 */#define BACKLOG 10 /* listen的請(qǐng)求接收隊(duì)列長(zhǎng)度 */void main()int sockfd, new_fd; /* 監(jiān)聽端口,數(shù)據(jù)端口 */struct sockaddr_in my_addr; /* 自身的地址信息 */struct sockaddr_in their_addr; /* 連接對(duì)方的地址信息 */int sin_size;if (sockfd = socket(AF_INET, SOCK_STREAM, 0) = -1) perror(socket);exit(1);my_addr.sin_family = AF_INET; my_addr.sin_port = htons(MYPORT); /* 網(wǎng)絡(luò)字節(jié)順序 */my_addr.sin_addr.s_addr = INADDR_ANY; /* 自動(dòng)填本機(jī)IP */bzero(&(my_addr.sin_zero), 8); /* 其余部分置0 */if (bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr) = -1) perror(bind);exit(1);if (listen(sockfd

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論