操作系統(tǒng)原理實(shí)驗(yàn)指導(dǎo)書(shū)_第1頁(yè)
操作系統(tǒng)原理實(shí)驗(yàn)指導(dǎo)書(shū)_第2頁(yè)
操作系統(tǒng)原理實(shí)驗(yàn)指導(dǎo)書(shū)_第3頁(yè)
操作系統(tǒng)原理實(shí)驗(yàn)指導(dǎo)書(shū)_第4頁(yè)
操作系統(tǒng)原理實(shí)驗(yàn)指導(dǎo)書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩91頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、操作系統(tǒng)原理實(shí)驗(yàn)指導(dǎo)書(shū)廣東東軟學(xué)院計(jì)算機(jī)系網(wǎng)絡(luò)工程教研室 編目 錄第一部分 基礎(chǔ)知識(shí)篇第一章 安 裝 Ubutnu8.041第二章 Linux常用命令手冊(cè)18第二部分 基本實(shí)驗(yàn)篇實(shí)驗(yàn)一 UNIX/Linux操作系統(tǒng)的實(shí)際使用22實(shí)驗(yàn)二 命令解釋程序29實(shí)驗(yàn)三 進(jìn)程管理39實(shí)驗(yàn)四 處理器調(diào)度47實(shí)驗(yàn)五 存儲(chǔ)管理51第三部分 綜合實(shí)驗(yàn)篇實(shí)驗(yàn)六 簡(jiǎn)單的數(shù)據(jù)庫(kù)管理系統(tǒng)設(shè)計(jì)58實(shí)驗(yàn)七 輸入/輸出管理83實(shí)驗(yàn)八 Linux文件系統(tǒng)設(shè)計(jì)88附錄:98 第一章 安 裝 Ubutnu8.041、 備份資料 如果以前沒(méi)有安裝過(guò)Ubuntu的可以跳過(guò)這一步。如果你沒(méi)有把 /home目錄單獨(dú)掛載出來(lái),建議你把他備份到

2、一個(gè)安全的地方,至于其他系統(tǒng)分區(qū)、軟件分區(qū)、都可以不管,保留軟件設(shè)置比軟件重要。2、 準(zhǔn)備分區(qū) 這是問(wèn)題最多的地方,如果你以前使用 Windows,那么你需要單獨(dú)給Ubuntu 劃分一個(gè)空白分區(qū),可以使用 Windows 自帶的分區(qū)工具,也可以使用PQ分區(qū)管理工具。建立 Linux分區(qū)的操作建議在Ubuntu安裝過(guò)程中進(jìn)行。如果還是對(duì)硬盤分區(qū)有疑問(wèn)的可以參考這里關(guān) 于 最 簡(jiǎn) 單 可 行 的 分 區(qū) 方 法 1、先在 windows 下,我的電腦上點(diǎn)右鍵-管理-磁盤 管理-刪除最后一個(gè)分區(qū)(先備份再做,也可以進(jìn)行先刪除分區(qū)后再調(diào)整下分區(qū)大小,保 留一個(gè)分區(qū)未分就行) 2、安裝 desktop

3、版 ubuntu,安裝的時(shí)候讓它自動(dòng)分區(qū)并鉤選最大 的連續(xù)空閑空間。3、 詳細(xì)安裝步驟做好了上面的準(zhǔn)備,就可以插入光盤開(kāi)始安裝了,在這里強(qiáng)烈建議在安裝前把先把網(wǎng) 線拔了,這樣后面安裝出錯(cuò)的機(jī)會(huì)大幅降低。做好了上面的3 個(gè)準(zhǔn)備,現(xiàn)在就可以插入光盤開(kāi)始安裝了。見(jiàn)到這個(gè)畫(huà)面時(shí)候記得按 F2 選擇語(yǔ)言為中文:12選擇第一項(xiàng)“試用 Ubuntu 而不改變計(jì)算機(jī)中的任何內(nèi)容”,進(jìn)入 live 桌面后點(diǎn)擊“安裝”圖標(biāo)。1)選擇語(yǔ)言,可以根據(jù)你自己的喜好選擇,當(dāng)然是選擇中文(簡(jiǎn)體)了。2)選擇時(shí)區(qū),默認(rèn)上海就可以,如果你選重慶也沒(méi)問(wèn)題。3)選擇鍵盤布局,一般默認(rèn)U.S.A 就可以。4)準(zhǔn)備分區(qū),這是安裝過(guò)程中

4、最重要的一步。系統(tǒng)首先問(wèn)是選擇“自動(dòng)分區(qū)”還是選擇“手動(dòng)分區(qū)”,強(qiáng)烈建議選擇“手動(dòng)分區(qū)”,以免出現(xiàn)不必要的意外。在空白分區(qū)中新建分區(qū),類型選主分區(qū)或者邏輯分區(qū)都可以,文件系統(tǒng)選擇 ext3 或者 xfs。具體分區(qū)大小,可以按照自己的喜好,至少得有2 個(gè)分區(qū),一個(gè)swap交換分區(qū),一個(gè)根分區(qū) /。建議分4個(gè)區(qū),以下的分區(qū)方案,大家可以參考:1、根分區(qū)(mount point 掛載點(diǎn)選擇 /) /:這個(gè)分區(qū)是用來(lái)安裝系統(tǒng)文件的 分區(qū),一般分 20G 足夠,本分區(qū)文件系統(tǒng)可以選擇 xfs。2、引導(dǎo)分區(qū)(mount point 掛載點(diǎn) /boot)/boot:這個(gè)分區(qū)用于存放引導(dǎo) Linux 的內(nèi)核

5、文件,一般用戶分 100MB 足夠,想研究 Linux 內(nèi)核的朋友不妨分大一點(diǎn),我自己就分200mb,本分區(qū)文件系統(tǒng)請(qǐng)選擇 ext2。3、交互分區(qū)(在文件系統(tǒng)欄中選擇 swap),本分區(qū)一般分 1G 就足夠一般桌面應(yīng)用4、用戶分區(qū)(mount point 掛載點(diǎn) /home) /home :這個(gè)分區(qū)是用于存放用戶的一些配置信息,建議可以分大一點(diǎn)。雙擊分區(qū),選擇掛載點(diǎn)。5)這就是傳說(shuō)中的文件遷移向?qū)?)填寫(xiě)用戶信息,一看就明白。7)最后一步很人性化,可以讓你確定一下剛才的操作是否正確,特別是分區(qū)操作。剩下的就是等待,一刻鐘左右WUBI 安 裝 方 式 在 8.04 的 live 光盤支持 WUB

6、I 安裝方式,在光盤的根目錄,有一個(gè) wubi.exe 的執(zhí)行文件,只要執(zhí)行這個(gè)程序,就會(huì)進(jìn)行 wubi 安裝,整個(gè)安裝過(guò)程非常簡(jiǎn)單。首先在 windows 下直接執(zhí)行 Ubuntu8.04 live Cd 光盤中 wubi.exe 程序,會(huì)出現(xiàn)以下界面:在這里你需要選擇要把 ubuntu 安裝到哪個(gè)分區(qū),設(shè)定虛擬硬盤的大小(注意:這里不是分 區(qū)大小,你完全可以把它理解成為一個(gè)文件夾的容量,ubuntu 系統(tǒng)就裝到這個(gè)容量的文件 夾中),最少需要 4G 大小,然后選擇語(yǔ)言,輸入用戶名跟密碼,然后按“安裝”按鈕 然后一切的過(guò)程都是自動(dòng)完成,無(wú)須人手參與:提示安裝完畢后,重啟系統(tǒng),在進(jìn)入 wind

7、ows 之前會(huì)多了一個(gè)系統(tǒng)選擇菜單,一個(gè)是windows,一個(gè)是 ubuntu,我們選擇 ubuntu,就會(huì)進(jìn)入ubuntu 的安裝界面,里面的安裝過(guò)程完全自動(dòng)化,安裝完畢后重啟系統(tǒng)就可以使用 ubuntu 了。硬盤安裝ubuntu方法(不推薦新手使用)硬盤安裝法又分為原系統(tǒng)為: windows 和原系統(tǒng)為 Linux 兩種方法。在 windows 下 硬 盤 安 裝 ubuntu首先把 ubuntu-8.04-desktop.iso 中 casper 文件夾中的 vmlinuz 和 initrd.gz 解 出來(lái),放到主機(jī)內(nèi)置硬盤(注意,不能是 usb 移動(dòng)硬盤或 U 盤)上某 FAT32 分

8、區(qū)根目錄下, iso 文件也放在該分區(qū)根目錄。注意 iso 文件不要改名。然后下載 grub4dos,下載頁(yè)面: 解出壓縮包中的 grldr 和 menu.lst 文件,放到 C 盤;調(diào)整“文件夾選項(xiàng)”使顯示系統(tǒng)文件和隱藏文件,應(yīng)看到C盤有個(gè)boot.ini 文件,修改其屬性,去掉“只讀”;打開(kāi)它,添一句 c:grldr = GRUB4DOS ,可酌情修改timeout ,下面是示例: boot loader timeout=10 default=multi(0)disk(0)rdisk(0)partition(1)WINDOWSoperating systemsmulti(0)disk(0)

9、rdisk(0)partition(1)WINDOWS="DeepinXP-V4" /noexecute=optin/fastdetectc:grldr = GRUB4DOS保存后重啟,選擇 GRUB4DOS 即可。(注意:此硬盤安裝方法不適合 vista 使用)在 linux 下 硬 盤 安 裝 ubuntu首先把 hardy-desktop-.iso 光盤中的.disk 目錄復(fù)制到一個(gè) fat32 格式的分區(qū)根目錄下(例如本例中以 sda7 為例),然后再把 casper 目錄下的 vmlinuz 及 initrd.gz 兩個(gè) 文件 copy 到同一分區(qū)根目錄下,并確定

10、 hardy-desktop-i386.iso 亦在這一分區(qū)的根目錄下。4、編輯 menu.lst 文件:代碼:sudo gedit /boot/grub/menu.lst在最后另起一行加上以下內(nèi)容:title install-ubuntu8.04root (hd0,6)#注意因?yàn)槲募?sda7,所以這里為 hd0,6kernel /vmlinuz boot=casper iso-scan/filename=/hardy-desktop-i386.iso quiet splash ro automatic-ubiquity locale=zh_CN.UTF-8 noprompt -initr

11、d /initrd.gz boot然后保存退出。5、重起電腦,選擇 install-ubuntu8.04 啟動(dòng)項(xiàng)便能引導(dǎo)了(ubuntu8.04live不象以往先 進(jìn)入系統(tǒng)界面啟動(dòng) installer 安裝,而是 installer 在登入 live 之前自動(dòng)運(yùn)行,如不習(xí)慣可以先取消安裝,進(jìn)入 live 后再運(yùn)行 installer 安裝,過(guò)程基本上同以往版本一樣。第二章Linux常用命令手冊(cè)NO分類PS1命令名用法及參數(shù)功能注解對(duì)應(yīng)章節(jié)1文件管理#lsls -a列出當(dāng)前目錄下的所有文件,包括以.頭的隱含文件文件管理#lsls -l或ll列出當(dāng)前目錄下文件的詳細(xì)信息文件管理#pwdpwd查看當(dāng)

12、前所在目錄的絕對(duì)路經(jīng)文件管理#cdcd .回當(dāng)前目錄的上一級(jí)目錄文件管理#cdcd -回上一次所在的目錄文件管理#cdcd 或 cd回當(dāng)前用戶的宿主目錄文件管理#cdcd 用戶名回指定用戶的宿主目錄2文件管理#mkdirmkdir 目錄名創(chuàng)建一個(gè)目錄文件管理#mkdirmkdir p遞歸式去創(chuàng)建一些嵌套目錄文件管理#rmdirRmdir 空目錄名刪除一個(gè)空目錄3文件管理#rmrm 文件名 文件名刪除一個(gè)檔或多個(gè)檔文件管理#rmrm -rf 非空目錄名遞歸刪除一個(gè)非空目錄下的一切,不讓提式-f4文件管理#catcat文件名一屏查看檔內(nèi)容5文件管理#moremore文件名分頁(yè)查看檔內(nèi)容6文件管理#

13、lessless 文件名可控分頁(yè)查看檔內(nèi)容7文件管理#grepgrep字符 文件名根據(jù)字符匹配來(lái)查看文件部分內(nèi)容8文件管理#mvmv 路經(jīng)/文件 /經(jīng)/文件移動(dòng)相對(duì)路經(jīng)下的文件到絕對(duì)路經(jīng)下文件管理#mvmv 文件名 新名稱在當(dāng)前目錄下改名9文件管理#cpcp /路經(jīng)/文件 ./移動(dòng)絕對(duì)路經(jīng)下的文件到當(dāng)前目錄下10文件管理#findfind 路經(jīng) -name “字符串”查找路經(jīng)所在范圍內(nèi)滿足字符串匹配的文件和目錄11文件管理#lnln 源文件 鏈接名創(chuàng)建當(dāng)前目錄源文件的硬鏈接ln /home/test /usr/test1在/usr下建立/home/test的硬鏈接12文件管理#lnLn -s

14、a b創(chuàng)建當(dāng)前目錄下a的符號(hào)鏈接b13文件管理#touchtouch file1 file2創(chuàng)建兩個(gè)空文件14磁盤管理#dfdf用于報(bào)告文件系統(tǒng)的總?cè)萘?,使用量,剩余容量?5磁盤管理#dudu -b /home查看目前/HOME目錄的容量(k)及子目錄的容量(k)。16磁盤管理#fdiskfdisk -l查看系統(tǒng)分區(qū)信息17磁盤管理#fdiskfdisk /dev/sdb為一塊新的SCSI硬盤進(jìn)行分區(qū)18磁盤管理#mkfs.ext3Mkfs.ext3 /dev/sdb1為第一塊SCSI硬盤的第一主分區(qū)格式化成ext3的文件系統(tǒng)mkfs.ext2Mkfs.ext2/dev/sdb2 格式化成e

15、xt2文件系統(tǒng)19磁盤管理#mountmount -t 文件系統(tǒng)類型 設(shè)備路經(jīng) 訪問(wèn)路經(jīng)磁盤管理#文件系統(tǒng)類型Iso9660光驅(qū)文件系統(tǒng)vfatFat文件系統(tǒng)(windows)掛載光驅(qū)#mount t iso9660 /dev/cdrom /mnt/cdrom 掛載FAT#mount t vfat /dev/hda5 /mnt/cdrom 掛第一個(gè)ide的第五個(gè)邏輯分區(qū)17磁盤管理#Umount /mnt/cdrom 卸載/mnt/cdrom為空18文件權(quán)限#chmodchmod u+s file為file的屬主加上特殊權(quán)限chmod g+r file為file的屬組加上讀權(quán)限chmod o+

16、w file為file的其它用戶加上寫(xiě)權(quán)限chmod a-x file為file的所有用戶減去執(zhí)行權(quán)限chmod 765 file 為file的屬主設(shè)為完全權(quán)限,屬組設(shè)成讀寫(xiě)權(quán),其它用戶具有讀和執(zhí)心權(quán)限19文件權(quán)限#chownchown root /home把/home的屬主改成root用戶20文件權(quán)限#chgrpchgrp root /home把/home的屬組改成root組21打印管理#redhat-config-printer-tui進(jìn)入安裝打印機(jī)接口22打印管理#lplp d hptr file打印file到hptr的打印機(jī)上23打印管理#lpqLpq P 打印機(jī)名查看打印機(jī)的狀態(tài)24

17、打印管理#lprmLprm P 打印機(jī)名 a刪除打印機(jī)內(nèi)的打印作業(yè)25打印管理 #disableDisable r “changing paper” HPtr 禁用打印機(jī)并提示原因26打印管理#enableEnable HPtr重新啟用被禁用的27用戶管理#useraddUseradd創(chuàng)建一個(gè)新的用戶28用戶管理#groupaddGroupadd 組名創(chuàng)建一個(gè)新的組29用戶管理#passwdPasswd 用戶名為用戶創(chuàng)建密碼30用戶管理#Passwd -dPasswd -d用戶名刪除用戶密碼也能登陸31用戶管理#Passwd -lPasswd -l用戶名鎖定賬號(hào)密碼32用戶管理#Passwd

18、-uPasswd -u用戶名解鎖賬號(hào)密碼33用戶管理#Passwd -SPasswd -S用戶名查詢賬號(hào)密碼34用戶管理#Usermod -lUsermod -l 新用戶名 老用戶名為用戶改名35用戶管理#Usermod -LUsermod -L 要鎖定用戶名鎖定用戶登陸36用戶管理#Usermod -UUsermod U解鎖用戶名解鎖用戶登陸37用戶管理#Usermod -uUsermod u 501用戶名改變用戶UID38用戶管理#UserdelUserdelr 用戶名刪除用戶一切39用戶管理#Groupmod -nGroupmod n新用戶名 老用戶名為組改名40用戶管理#Groupmo

19、d -gGroupmod g 501 組名改變組GID41用戶管理#groupdelGroupdel組名 先應(yīng)刪它的用戶刪除組42用戶管理#gpasswd -agpasswd -a 用戶名 組名增加用戶到組43用戶管理#Id id 用戶名查用戶信息44軟件管理#rpm -qarpm qa | less查詢已安裝RPM45軟件管理#rpm qa | grep ftp查詢指定RPM46軟件管理#rpm -qrpm -q 已安裝的RPM包查是否安裝47軟件管理#rpm -q telnet-server查看telnet服務(wù)器包48軟件管理#rpm -qirpm qi 軟件包名稱查看軟件的描述信息49軟

20、件管理#rpm -qlrpm ql軟件包名稱查詢軟件包的文件列表50軟件管理#rpm -qfrpm qf軟件包名稱查詢某個(gè)文件所屬的軟件包51軟件管理#rpm -qprpm qp軟件包全名查詢未安裝的軟件包信息52軟件管理#rpm -erpm e 軟件包名稱刪除具體的軟件包53軟件管理#rpm -Urpm Uvh軟件包全名升級(jí)軟件包并顯示過(guò)程54軟件管理#rpm -ivhrpm ivh 軟件包全名安裝軟件包并顯示過(guò)程55軟件管理#rpm -Vrpm V軟件包名稱驗(yàn)證軟件包的大小,類型等56軟件管理#tar -c 創(chuàng)建包 x 釋放包 -v 顯示命令過(guò)程 z 代表壓縮包57軟件管理#tar -cf

21、tar cvf benet.tar /home/benet把/home/benet目錄打包58軟件管理#tar -czftar zcvf benet.tar.gz /mnt把目錄打包并壓縮59軟件管理#tar tftar tf benet.tar看非壓縮包的檔列表60軟件管理#tar tzftar tf benet.tar.gz看壓縮包的檔列表61軟件管理#tar xftar xf benet.tar非壓縮包的檔恢復(fù)62軟件管理#tar zxvftar zxvf benet.tar.gz壓縮包的檔解壓恢復(fù)63軟件管理#tar -jxvftar jxvf benet.tar.bz264軟件管理#

22、diffdiff file1 file2 > 補(bǔ)丁名.patch為新舊檔生成補(bǔ)丁檔65軟件管理#diffdiff file1 file2比較兩個(gè)文件的區(qū)別66軟件管理#Patch Patch file補(bǔ)丁名.patch打補(bǔ)丁67軟件管理#./configure -prefix=/usr/local/編譯前配置68軟件管理#make編譯69軟件管理#make install安裝編譯好的源碼包70啟動(dòng)管理#rebootInit 6重啟LINUX系統(tǒng)71啟動(dòng)管理#HaltInit 0Shutdown h now關(guān)閉LINUX系統(tǒng)72啟動(dòng)管理#runlevel顯示系統(tǒng)運(yùn)行級(jí)73啟動(dòng)管理#Init

23、 0123456 改變系統(tǒng)運(yùn)行級(jí),7種74啟動(dòng)管理#Chkconfig -list 服務(wù)名稱查看服務(wù)的狀態(tài)75啟動(dòng)管理#Chkconfig -level <運(yùn)行級(jí)> <服務(wù)名> on|off|set 設(shè)置服務(wù)的啟動(dòng)狀態(tài)76啟動(dòng)管理#Chkconfig <服務(wù)名> on|off|set設(shè)置非獨(dú)立服務(wù)啟狀態(tài)77進(jìn)程管理#Top動(dòng)態(tài)Ps-aux靜態(tài)進(jìn)程樹(shù)pstree 查看系統(tǒng)進(jìn)程78進(jìn)程管理#程序名 &后臺(tái)運(yùn)行程序79進(jìn)程管理#fg把后臺(tái)運(yùn)行的進(jìn)程調(diào)回前臺(tái)80進(jìn)程管理#bg把前臺(tái)運(yùn)行進(jìn)程調(diào)到后臺(tái)81進(jìn)程管理#reniceRenice +1 180 把180

24、號(hào)進(jìn)程的優(yōu)先級(jí)加182進(jìn)程管理#killKill PID 終止某個(gè)PID進(jìn)程83進(jìn)程管理#atat 5pm + 3 days/bin/ls指定三天后下午5:00執(zhí)行/bin/ls84進(jìn)程管理#crontabCrontab -e用VI的形式來(lái)編輯自動(dòng)周期性任務(wù)85進(jìn)程管理#crontabCrontab -l查看自動(dòng)周期性任務(wù)86進(jìn)程管理#crontabCrontab -r刪除自動(dòng)周期性任務(wù)87進(jìn)程管理#crondService crond <start|stop|restart|status>馬上啟動(dòng)自動(dòng)周期性服務(wù)Service crond <啟動(dòng)|停止|重啟|狀態(tài)>實(shí)現(xiàn)

25、磁盤配額(注安裝LINUX時(shí)建立/home分區(qū)) 目標(biāo):對(duì)用戶zhao在/home目錄上實(shí)現(xiàn)soft limit為5k,hard limit 為10k的磁盤配額 實(shí)現(xiàn)步驟: 1. 修改包含/home的行, #vi /etc/fstab, 改為:defaults,usrquota。也就是增加usrquota項(xiàng)。然后保存退出。 2、卸載/home目錄 #umount /home 3. 掛接/home目錄 #mount /home 4、增加用戶zhao #useradd zhao 5、修改密碼 #passwd zhao 6、生成關(guān)于/home目錄的quota信息 # quotacheck -cmug

26、 /home #quotacheck -vu /home 7、查看所有用戶的信息 #repquota -au 8、設(shè)置配額 #edquota -u zhao 將soft 和hard 分別改為5和10 9、保存并退出 #wq! 10、修改時(shí)間 #edquota -t 11、 #wq! 12.開(kāi)啟/home上的磁盤配額功能 #quotaon /home 13.查詢配額 #quota -u zhao14.驗(yàn)證配額 #su - zhao $touch myfileuseradd命令的常用選項(xiàng)如下:-c comment:用戶全名或描述。-d home-dir:指定用戶主目錄。-e date:禁用賬戶的日

27、期,格式為:YYYY-MM-DD。-f days:口令過(guò)期后,賬戶禁用前的天數(shù)。-g group-name:用戶所屬主組群的組群名稱或GID。-G group-list:用戶所屬的附屬組群列表,多個(gè)項(xiàng)目用逗號(hào)分隔。-m:若主目錄不存在則創(chuàng)建它。-M:不創(chuàng)建用戶主目錄。-n:不要為用戶創(chuàng)建用戶私人組群。-r:創(chuàng)建UID小于500的不帶主目錄的系統(tǒng)賬戶。-p:加密的口令。-s:指定用戶登錄 Shell,默認(rèn)為 /bin/bash。-u UID:指定用戶的 UID,它必須是唯一的,且大于499。實(shí)驗(yàn)一 UNIX/Linux操作系統(tǒng)的實(shí)際使用一實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)本實(shí)驗(yàn)熟悉UNIX/Linux操作系統(tǒng)常用命令

28、的操作和使用。二實(shí)驗(yàn)內(nèi)容1.進(jìn)入和退出UNIX/Linux操作系統(tǒng);2.常用命令的使用:cat,cd,chmod,cp,df,find,grep,id,ln,ls等;3.全屏幕編輯器vi的熟悉使用。三驗(yàn)證實(shí)驗(yàn)1實(shí)驗(yàn)要求1)熟悉開(kāi)機(jī)后登錄進(jìn)入系統(tǒng)和退出系統(tǒng); 2)常用命令的操作使用; 3)全屏幕編輯器vi的熟悉使用; 4)為以后的上機(jī)實(shí)驗(yàn)作好準(zhǔn)備。2實(shí)驗(yàn)步驟 1)進(jìn)入和退出UNIX/Linux操作系統(tǒng) (1)開(kāi)機(jī)后,執(zhí)行運(yùn)行(可通過(guò)telnet) (2)進(jìn)入 login: username password: XXXXX $ (3)退出$logout或exit 2)常用命令 (1)cal-j-y

29、月年 選項(xiàng) 說(shuō)明 -j 顯示西洋舊歷(計(jì)算機(jī)系統(tǒng)日歷表示) -y 顯示當(dāng)年日歷 月 用112表示月份。默認(rèn)是本月年 可以是19 999(4位數(shù)),默認(rèn)是本年。 (2)cat選項(xiàng)文件列表 用于顯示文件或連接文件。例如: cat ac (將文件ac輸出到屏幕上) cat ac bc>cc (將文件bc加到ac后并建立新文件cc) (3)cd目錄名改變當(dāng)前工作目錄。 (4)chmod選項(xiàng)模式文件列表 改變文件模式。例如: chmod 777 ac (使文件ac在各個(gè)級(jí)別擁有所有權(quán)限)注:UNIX/Linux有3個(gè)安全級(jí):所有者級(jí)、組訪問(wèn)級(jí)和其他用戶級(jí)。在這3級(jí)中,各有3種權(quán)限:讀、寫(xiě)和執(zhí)行。c

30、hmod o-wr,g-wr ac (對(duì)組級(jí)和其他用戶級(jí)不擁有寫(xiě)權(quán)和讀權(quán)) (5)clear清除屏幕。 (6)compress選項(xiàng)文件名 項(xiàng)目 說(shuō)明 -c 將壓縮或解壓縮的操作結(jié)果寫(xiě)到標(biāo)準(zhǔn)輸出,不改變文件 -C 防止文件細(xì)分為塊,這產(chǎn)生一個(gè)輸出文件,舊的壓縮版本也可以讀取 -d 解壓縮文件 -f 若輸出文件存在,則覆蓋,不用提示確認(rèn)。同時(shí),把所有文件(包括沒(méi)壓縮的)變?yōu)閆文件 -v 在每個(gè)文件壓縮完后,打印給出輸入文件被壓縮百分?jǐn)?shù)信息 文件名 要壓縮的文件名稱。例如: compress a (壓縮文件a,并改名為aZ) compress -v*homeusrusrl (壓縮目錄homeusru

31、srl中所有文件,在每個(gè)文件壓縮后打印壓縮信息)compress -d aZ(將壓縮文件釋放回原狀態(tài)) (7)cp選項(xiàng) 源文件 目標(biāo)文件 cp選項(xiàng)源文件組 目標(biāo)目錄 拷貝文件。例如: cp a b (將文件a拷貝到文件名為b的文件)cp -v bet*dd (拷貝所有以bet為開(kāi)頭的文件到目錄dd) (8)date顯示系統(tǒng)日期和時(shí)間。 (9)df 報(bào)告磁盤剩余空問(wèn)數(shù)(單位:塊。每塊512字節(jié))。 (10)du選項(xiàng)目錄或文件名稱 顯示指定目錄或文件使用的空間總數(shù)。例如:du s usrbin (報(bào)告目錄usrbin使用的總空間,以塊-512B為單位) (11)echo-n-e串 本命令把傳給它的

32、參數(shù)在標(biāo)準(zhǔn)輸出顯示。 項(xiàng)目 說(shuō)明 -n 通常,echo使所有輸出都由新行開(kāi)始,本選項(xiàng)可制止這一點(diǎn) -e 使串中的如下字符序列的解釋成為可能: a 警告(響鈴) b 退格 c 在行尾,不新起行 f 換頁(yè) n 換行 r 回車 t 制表符 v 垂直制表符 反斜杠mm 字符的八進(jìn)制ASCII碼是mm串希望輸出的字符串 例如: echo Hello(在標(biāo)準(zhǔn)輸出打印Hello) echo -e“enter Y or Nc” (提示用戶用Y或N回答而不開(kāi)始新的一行) echo -e“Can you hear this07?”(07代表八進(jìn)制數(shù),這里八進(jìn)制數(shù)用于使終端振鈴) (12)file選項(xiàng)文件列表 確認(rèn)

33、文件是否是可執(zhí)行文件、文本文件和數(shù)據(jù)文件等。例如: file homeaa(檢測(cè)文件homeaa,并報(bào)告文件類型) (13)find目錄列表匹配標(biāo)準(zhǔn) 項(xiàng)目 說(shuō)明 目錄列表 希望查詢的文件或文件集的目錄列表,目錄間用空格分隔 匹配標(biāo)準(zhǔn) 希望查詢的文件的匹配標(biāo)準(zhǔn)或說(shuō)明 - name文件 告訴find要找什么文件 - type x 此類型為x的文件,x代表:c(字符特殊),b(塊特殊),d(目錄), p(有名管道),|(符號(hào)連接),s(套接文件)或f(一般文件) - size n 匹配所有修改時(shí)間比f(wàn)ile文件更新的文件 例如:find -name“l(fā)etter*” -print(查找以letter

34、為開(kāi)頭的文件,并打印) (14)grep串文件列表在文件中查找模式,當(dāng)找到時(shí)報(bào)告。例如:grep“hHello”aa (在文件aa中查找hello或Hello)(15)ln源文件 目標(biāo)文件在兩個(gè)文件間建立連接。(16)logname報(bào)告用戶登錄到系統(tǒng)上的名字。(17)ls選項(xiàng)文件列表列出文件系統(tǒng)中的文件。 項(xiàng)目 說(shuō)明 -a 顯示所有文件,包括當(dāng)前目錄和父目錄 -c 按列輸出,縱向排列 -x 按列輸出,橫向排列 -l 給出長(zhǎng)表。長(zhǎng)表顯示文件的詳細(xì)內(nèi)容,如文件類型、權(quán)限、連接或目錄計(jì)數(shù)、所有者、組、字節(jié)大小、文件的最近修改時(shí)間和文件名。文件類型有: - 常規(guī)文件 d 目錄 b 塊特殊設(shè)備(例如磁盤

35、) c 字符特殊設(shè)備(例如終端) s 信號(hào)燈 m 共享存儲(chǔ)器 p 有名管道權(quán)限有3個(gè)串,每串有3個(gè)字節(jié),各串分別代表所有者、組和其他的權(quán)限,權(quán)限如下: r 讀權(quán) w 寫(xiě)權(quán) x 執(zhí)行權(quán) -t 按最后修改的時(shí)間排序,和-l標(biāo)志一起使用 -u 按最后訪問(wèn)的時(shí)間排序,和-l標(biāo)志一起使用 文件列表 用ls要處理的文件列表例如:ls -ltusrspoolaa(給出長(zhǎng)表,按最后修改的時(shí)間排序) (18)mkdir-p目錄名目錄 在文件系統(tǒng)中建立新目錄。 項(xiàng)目 說(shuō)明 -p目錄名 建立所有不存在父目錄的目錄 目錄 要建立的新目錄 例如: mkdir letters(建立letters目錄) mkdir -p

36、lettersa lettersb(建立目錄lettersa和lettersb) (19)more選項(xiàng)文件名 按頁(yè)顯示文件。 項(xiàng)目 說(shuō)明 -n n是整數(shù),用于建立大小為n行長(zhǎng)的窗口,窗口大小是在屏幕上顯示多少行 -c 用more給文件翻頁(yè)時(shí)通過(guò)從頭清除一行,然后再在最后寫(xiě)下一行的辦法寫(xiě)入。通常,more清除屏幕,再寫(xiě)一行 文件名 希望用more顯示的文件列表 例如: more letter (顯示名為letter的文件) ls -ldev| more(按頁(yè)顯示dev目錄下的文件) (20)mv-f-I文件1 文件2 mv-f-I目錄1 目錄2 mv-f-I文件列表 目錄 給文件改名,移動(dòng)文件到

37、一個(gè)新的目錄或給目錄改名。 項(xiàng)目 說(shuō)明 -f 使mv執(zhí)行移動(dòng)而不作顯示 -I 交互模式,在覆蓋寫(xiě)文件前提示 文件1 源文件名 文件2 目標(biāo)文件名(新文件名) 目錄1 源目錄名 目錄2 目標(biāo)目錄名(新目錄名) 文件列表 用空格分開(kāi)的文件名列表。該選項(xiàng)用于保持文件名移到一個(gè)新的目錄 目錄 目標(biāo)目錄 例如:mv letters letter (將文件letters改名為letter)(21)passwd名字 維護(hù)用戶口令。顯示或修改用戶口令(只有系統(tǒng)管理員可以刪除用戶口令)。(22)pwd 顯示當(dāng)前工作的目錄路徑。(23)rm選項(xiàng)文件列表 從文件系統(tǒng)中刪除文件及整個(gè)目錄。 項(xiàng)目 說(shuō)明 文件列表 希望

38、刪除用空格分開(kāi)的文件,可以包括目錄名 -r 刪除文件列表中指定的目錄-f 指定強(qiáng)行刪除模式(24)rmdir -p目錄表刪除目錄。 項(xiàng)目 說(shuō)明 -p 若指定刪除目錄的父目錄為空,則父目錄也被刪除 目錄表 用空格分開(kāi)的目錄表,要?jiǎng)h除的目錄必須為空目錄(25)vi文件名vi是全屏幕編輯器。vi有兩種工作狀態(tài):命令模式和輸入模式(注意大小寫(xiě)!)。 a,i,o 進(jìn)入輸入模式 <Esc> 回到執(zhí)行命令狀態(tài)(工作途中,可作為取消命令或進(jìn)入命令狀態(tài) 的控制) 退出vi: :w 文件名(寫(xiě)到指定文件名的文件中。如無(wú)文件名,將編輯緩沖區(qū) 內(nèi)容寫(xiě)到磁盤) :q (或ZZ)(退出vi,不寫(xiě)入磁盤) :w

39、q (寫(xiě)文件到磁盤,然后退出) :q! (退出不存盤)<u>取消上次編輯命令移動(dòng)光標(biāo): k 向上 j 向下 h 向左 l 向右 <Shift><h> 回第一行 <Shift><l> 到末行 <Shift><m> 到中間 <Shift><g> 到文件最后 <n><Shift><g> 到文件第n行 <$> 到行尾 <> 到行首插人命令: a 在光標(biāo)后插入 i 在光標(biāo)前插入 o 在光標(biāo)下一行插入 O 在光標(biāo)上一行插入刪除命令: <

40、;x> 刪除光標(biāo)所在的字符 <X> 刪除光標(biāo)前面的字符 <d><w> 刪字 <d><$> 刪光標(biāo)處到行尾 <dd> 刪除一行替換命令: <r> 將光標(biāo)所在的字符改為后鍵入的字符 <R> 將原來(lái)的字符一個(gè)一個(gè)地用后鍵入的替換 <Shift><r> 替換字符序列 <cc> 整行替換查詢命令:(在冒號(hào)后) 待查字符 向前查 ? 待查字符 向前查 <n> 向下繼續(xù)重復(fù)找 <Shift><n> 往下找拷貝、截取命令: <yy&

41、gt;或<Y> 拷貝當(dāng)前行 <yx> 拷貝當(dāng)前光標(biāo)位置到x位置 <p> 將拷貝的文本置于光標(biāo)后 <Shift><p> 將拷貝的文本置于光標(biāo)前 |char<y><w> 拖拉 <y><$> 拉至行尾 <y><y> 一行拉出(26)WC選項(xiàng)文件列表計(jì)算文件中的字符、字或行的數(shù)量。 項(xiàng)目 說(shuō)明 文件列表 用空格分開(kāi)的文件名列表 -c 只計(jì)算字符數(shù) -w 只計(jì)算字?jǐn)?shù) -l 只計(jì)算行數(shù)實(shí)驗(yàn)二 命令解釋程序一實(shí)驗(yàn)?zāi)康?通過(guò)本實(shí)驗(yàn)熟悉UNIX/Linux操作系統(tǒng)及C語(yǔ)言,熟悉系統(tǒng)

42、調(diào)用的編程能力,了解命令解釋程序的基本原理和實(shí)現(xiàn)方法。二實(shí)驗(yàn)內(nèi)容1 了解命令解釋程序的基本原理和實(shí)現(xiàn)方法;2 編程實(shí)現(xiàn)一個(gè)簡(jiǎn)單的命令解釋程序。三驗(yàn)證實(shí)驗(yàn) 1實(shí)驗(yàn)要求 在UNIX/Linux環(huán)境下編寫(xiě)一個(gè)簡(jiǎn)單的shell程序,具有接收和解釋、執(zhí)行命令的功能。 2參考源代碼/*a simple shell*/* use command 'leave' to exit*/#include <unistd.h>#include <sys/types.h>#include <sys/wait.h>#include <stdlib.h>#in

43、clude <sys/stat.h>#include <fcntl.h>#define BUFFERSIZE 80extern char *get_current_dir_name(void);extern char *getenv(const char *name);extern pid_t waitpid(pid_t pid, int *status, int options);char bufferBUFFERSIZE+1;main() char *path, *arg10, *input; int li_inputlen, is_bj, is_back, i,

44、j, k, pid, status; char lc_char; while (1) /* initiations */ is_bj = 0; /*redirection flag*/ is_back = 0; /*background*/ /* shell prompt */ path = get_current_dir_name(); printf("%s>$",path); /*開(kāi)始獲取輸入*/ li_inputlen = 0; lc_char = getchar(); while (lc_char !='n') if(li_inputlen &

45、lt; BUFFERSIZE) bufferli_inputlen+ = lc_char; lc_char = getchar(); /*命令超長(zhǎng)處理*/ if (li_inputlen >= BUFFERSIZE) printf("Your command is too long! Please re-enter your command!n"); li_inputlen = 0;/*reset */ continue; else bufferli_inputlen = '0'/*加上串結(jié)束符號(hào),形成字串*/*將命令從緩存拷貝到input中*/inp

46、ut = (char *) malloc(sizeof(char) * (li_inputlen+1);strcpy(input,buffer);/* 獲取命令和參數(shù)并保存在arg中*/ for (i = 0,j = 0,k = 0;i <= li_inputlen;i+)/*管道和重定向單獨(dú)處理*/ if (inputi = '<' | inputi = '>' | inputi ='|') if (inputi = '|') pipel(input,li_inputlen); else redirect(input,li_inputlen); is_bj = 1; brea

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論