




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、操作系統原理實驗指導書廣東東軟學院計算機系網絡工程教研室 編目 錄第一部分 基礎知識篇第一章 安 裝 Ubutnu8.041第二章 Linux常用命令手冊18第二部分 基本實驗篇實驗一 UNIX/Linux操作系統的實際使用22實驗二 命令解釋程序29實驗三 進程管理39實驗四 處理器調度47實驗五 存儲管理51第三部分 綜合實驗篇實驗六 簡單的數據庫管理系統設計58實驗七 輸入/輸出管理83實驗八 Linux文件系統設計88附錄:98 第一章 安 裝 Ubutnu8.041、 備份資料 如果以前沒有安裝過Ubuntu的可以跳過這一步。如果你沒有把 /home目錄單獨掛載出來,建議你把他備份到
2、一個安全的地方,至于其他系統分區、軟件分區、都可以不管,保留軟件設置比軟件重要。2、 準備分區 這是問題最多的地方,如果你以前使用 Windows,那么你需要單獨給Ubuntu 劃分一個空白分區,可以使用 Windows 自帶的分區工具,也可以使用PQ分區管理工具。建立 Linux分區的操作建議在Ubuntu安裝過程中進行。如果還是對硬盤分區有疑問的可以參考這里關 于 最 簡 單 可 行 的 分 區 方 法 1、先在 windows 下,我的電腦上點右鍵-管理-磁盤 管理-刪除最后一個分區(先備份再做,也可以進行先刪除分區后再調整下分區大小,保 留一個分區未分就行) 2、安裝 desktop
3、版 ubuntu,安裝的時候讓它自動分區并鉤選最大 的連續空閑空間。3、 詳細安裝步驟做好了上面的準備,就可以插入光盤開始安裝了,在這里強烈建議在安裝前把先把網 線拔了,這樣后面安裝出錯的機會大幅降低。做好了上面的3 個準備,現在就可以插入光盤開始安裝了。見到這個畫面時候記得按 F2 選擇語言為中文:12選擇第一項“試用 Ubuntu 而不改變計算機中的任何內容”,進入 live 桌面后點擊“安裝”圖標。1)選擇語言,可以根據你自己的喜好選擇,當然是選擇中文(簡體)了。2)選擇時區,默認上海就可以,如果你選重慶也沒問題。3)選擇鍵盤布局,一般默認U.S.A 就可以。4)準備分區,這是安裝過程中
4、最重要的一步。系統首先問是選擇“自動分區”還是選擇“手動分區”,強烈建議選擇“手動分區”,以免出現不必要的意外。在空白分區中新建分區,類型選主分區或者邏輯分區都可以,文件系統選擇 ext3 或者 xfs。具體分區大小,可以按照自己的喜好,至少得有2 個分區,一個swap交換分區,一個根分區 /。建議分4個區,以下的分區方案,大家可以參考:1、根分區(mount point 掛載點選擇 /) /:這個分區是用來安裝系統文件的 分區,一般分 20G 足夠,本分區文件系統可以選擇 xfs。2、引導分區(mount point 掛載點 /boot)/boot:這個分區用于存放引導 Linux 的內核
5、文件,一般用戶分 100MB 足夠,想研究 Linux 內核的朋友不妨分大一點,我自己就分200mb,本分區文件系統請選擇 ext2。3、交互分區(在文件系統欄中選擇 swap),本分區一般分 1G 就足夠一般桌面應用4、用戶分區(mount point 掛載點 /home) /home :這個分區是用于存放用戶的一些配置信息,建議可以分大一點。雙擊分區,選擇掛載點。5)這就是傳說中的文件遷移向導6)填寫用戶信息,一看就明白。7)最后一步很人性化,可以讓你確定一下剛才的操作是否正確,特別是分區操作。剩下的就是等待,一刻鐘左右WUBI 安 裝 方 式 在 8.04 的 live 光盤支持 WUB
6、I 安裝方式,在光盤的根目錄,有一個 wubi.exe 的執行文件,只要執行這個程序,就會進行 wubi 安裝,整個安裝過程非常簡單。首先在 windows 下直接執行 Ubuntu8.04 live Cd 光盤中 wubi.exe 程序,會出現以下界面:在這里你需要選擇要把 ubuntu 安裝到哪個分區,設定虛擬硬盤的大小(注意:這里不是分 區大小,你完全可以把它理解成為一個文件夾的容量,ubuntu 系統就裝到這個容量的文件 夾中),最少需要 4G 大小,然后選擇語言,輸入用戶名跟密碼,然后按“安裝”按鈕 然后一切的過程都是自動完成,無須人手參與:提示安裝完畢后,重啟系統,在進入 wind
7、ows 之前會多了一個系統選擇菜單,一個是windows,一個是 ubuntu,我們選擇 ubuntu,就會進入ubuntu 的安裝界面,里面的安裝過程完全自動化,安裝完畢后重啟系統就可以使用 ubuntu 了。硬盤安裝ubuntu方法(不推薦新手使用)硬盤安裝法又分為原系統為: windows 和原系統為 Linux 兩種方法。在 windows 下 硬 盤 安 裝 ubuntu首先把 ubuntu-8.04-desktop.iso 中 casper 文件夾中的 vmlinuz 和 initrd.gz 解 出來,放到主機內置硬盤(注意,不能是 usb 移動硬盤或 U 盤)上某 FAT32 分
8、區根目錄下, iso 文件也放在該分區根目錄。注意 iso 文件不要改名。然后下載 grub4dos,下載頁面: 解出壓縮包中的 grldr 和 menu.lst 文件,放到 C 盤;調整“文件夾選項”使顯示系統文件和隱藏文件,應看到C盤有個boot.ini 文件,修改其屬性,去掉“只讀”;打開它,添一句 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 目錄復制到一個 fat32 格式的分區根目錄下(例如本例中以 sda7 為例),然后再把 casper 目錄下的 vmlinuz 及 initrd.gz 兩個 文件 copy 到同一分區根目錄下,并確定
10、 hardy-desktop-i386.iso 亦在這一分區的根目錄下。4、編輯 menu.lst 文件:代碼:sudo gedit /boot/grub/menu.lst在最后另起一行加上以下內容:title install-ubuntu8.04root (hd0,6)#注意因為文件在 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 啟動項便能引導了(ubuntu8.04live不象以往先 進入系統界面啟動 installer 安裝,而是 installer 在登入 live 之前自動運行,如不習慣可以先取消安裝,進入 live 后再運行 installer 安裝,過程基本上同以往版本一樣。第二章Linux常用命令手冊NO分類PS1命令名用法及參數功能注解對應章節1文件管理#lsls -a列出當前目錄下的所有文件,包括以.頭的隱含文件文件管理#lsls -l或ll列出當前目錄下文件的詳細信息文件管理#pwdpwd查看當
12、前所在目錄的絕對路經文件管理#cdcd .回當前目錄的上一級目錄文件管理#cdcd -回上一次所在的目錄文件管理#cdcd 或 cd回當前用戶的宿主目錄文件管理#cdcd 用戶名回指定用戶的宿主目錄2文件管理#mkdirmkdir 目錄名創建一個目錄文件管理#mkdirmkdir p遞歸式去創建一些嵌套目錄文件管理#rmdirRmdir 空目錄名刪除一個空目錄3文件管理#rmrm 文件名 文件名刪除一個檔或多個檔文件管理#rmrm -rf 非空目錄名遞歸刪除一個非空目錄下的一切,不讓提式-f4文件管理#catcat文件名一屏查看檔內容5文件管理#moremore文件名分頁查看檔內容6文件管理#
13、lessless 文件名可控分頁查看檔內容7文件管理#grepgrep字符 文件名根據字符匹配來查看文件部分內容8文件管理#mvmv 路經/文件 /經/文件移動相對路經下的文件到絕對路經下文件管理#mvmv 文件名 新名稱在當前目錄下改名9文件管理#cpcp /路經/文件 ./移動絕對路經下的文件到當前目錄下10文件管理#findfind 路經 -name “字符串”查找路經所在范圍內滿足字符串匹配的文件和目錄11文件管理#lnln 源文件 鏈接名創建當前目錄源文件的硬鏈接ln /home/test /usr/test1在/usr下建立/home/test的硬鏈接12文件管理#lnLn -s
14、a b創建當前目錄下a的符號鏈接b13文件管理#touchtouch file1 file2創建兩個空文件14磁盤管理#dfdf用于報告文件系統的總容量,使用量,剩余容量。15磁盤管理#dudu -b /home查看目前/HOME目錄的容量(k)及子目錄的容量(k)。16磁盤管理#fdiskfdisk -l查看系統分區信息17磁盤管理#fdiskfdisk /dev/sdb為一塊新的SCSI硬盤進行分區18磁盤管理#mkfs.ext3Mkfs.ext3 /dev/sdb1為第一塊SCSI硬盤的第一主分區格式化成ext3的文件系統mkfs.ext2Mkfs.ext2/dev/sdb2 格式化成e
15、xt2文件系統19磁盤管理#mountmount -t 文件系統類型 設備路經 訪問路經磁盤管理#文件系統類型Iso9660光驅文件系統vfatFat文件系統(windows)掛載光驅#mount t iso9660 /dev/cdrom /mnt/cdrom 掛載FAT#mount t vfat /dev/hda5 /mnt/cdrom 掛第一個ide的第五個邏輯分區17磁盤管理#Umount /mnt/cdrom 卸載/mnt/cdrom為空18文件權限#chmodchmod u+s file為file的屬主加上特殊權限chmod g+r file為file的屬組加上讀權限chmod o+
16、w file為file的其它用戶加上寫權限chmod a-x file為file的所有用戶減去執行權限chmod 765 file 為file的屬主設為完全權限,屬組設成讀寫權,其它用戶具有讀和執心權限19文件權限#chownchown root /home把/home的屬主改成root用戶20文件權限#chgrpchgrp root /home把/home的屬組改成root組21打印管理#redhat-config-printer-tui進入安裝打印機接口22打印管理#lplp d hptr file打印file到hptr的打印機上23打印管理#lpqLpq P 打印機名查看打印機的狀態24
17、打印管理#lprmLprm P 打印機名 a刪除打印機內的打印作業25打印管理 #disableDisable r “changing paper” HPtr 禁用打印機并提示原因26打印管理#enableEnable HPtr重新啟用被禁用的27用戶管理#useraddUseradd創建一個新的用戶28用戶管理#groupaddGroupadd 組名創建一個新的組29用戶管理#passwdPasswd 用戶名為用戶創建密碼30用戶管理#Passwd -dPasswd -d用戶名刪除用戶密碼也能登陸31用戶管理#Passwd -lPasswd -l用戶名鎖定賬號密碼32用戶管理#Passwd
18、-uPasswd -u用戶名解鎖賬號密碼33用戶管理#Passwd -SPasswd -S用戶名查詢賬號密碼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組名 先應刪它的用戶刪除組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服務器包48軟件管理#rpm -qirpm qi 軟件包名稱查看軟件的描述信息49軟
20、件管理#rpm -qlrpm ql軟件包名稱查詢軟件包的文件列表50軟件管理#rpm -qfrpm qf軟件包名稱查詢某個文件所屬的軟件包51軟件管理#rpm -qprpm qp軟件包全名查詢未安裝的軟件包信息52軟件管理#rpm -erpm e 軟件包名稱刪除具體的軟件包53軟件管理#rpm -Urpm Uvh軟件包全名升級軟件包并顯示過程54軟件管理#rpm -ivhrpm ivh 軟件包全名安裝軟件包并顯示過程55軟件管理#rpm -Vrpm V軟件包名稱驗證軟件包的大小,類型等56軟件管理#tar -c 創建包 x 釋放包 -v 顯示命令過程 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非壓縮包的檔恢復62軟件管理#tar zxvftar zxvf benet.tar.gz壓縮包的檔解壓恢復63軟件管理#tar -jxvftar jxvf benet.tar.bz264軟件管理#
22、diffdiff file1 file2 > 補丁名.patch為新舊檔生成補丁檔65軟件管理#diffdiff file1 file2比較兩個文件的區別66軟件管理#Patch Patch file補丁名.patch打補丁67軟件管理#./configure -prefix=/usr/local/編譯前配置68軟件管理#make編譯69軟件管理#make install安裝編譯好的源碼包70啟動管理#rebootInit 6重啟LINUX系統71啟動管理#HaltInit 0Shutdown h now關閉LINUX系統72啟動管理#runlevel顯示系統運行級73啟動管理#Init
23、 0123456 改變系統運行級,7種74啟動管理#Chkconfig -list 服務名稱查看服務的狀態75啟動管理#Chkconfig -level <運行級> <服務名> on|off|set 設置服務的啟動狀態76啟動管理#Chkconfig <服務名> on|off|set設置非獨立服務啟狀態77進程管理#Top動態Ps-aux靜態進程樹pstree 查看系統進程78進程管理#程序名 &后臺運行程序79進程管理#fg把后臺運行的進程調回前臺80進程管理#bg把前臺運行進程調到后臺81進程管理#reniceRenice +1 180 把180
24、號進程的優先級加182進程管理#killKill PID 終止某個PID進程83進程管理#atat 5pm + 3 days/bin/ls指定三天后下午5:00執行/bin/ls84進程管理#crontabCrontab -e用VI的形式來編輯自動周期性任務85進程管理#crontabCrontab -l查看自動周期性任務86進程管理#crontabCrontab -r刪除自動周期性任務87進程管理#crondService crond <start|stop|restart|status>馬上啟動自動周期性服務Service crond <啟動|停止|重啟|狀態>實現
25、磁盤配額(注安裝LINUX時建立/home分區) 目標:對用戶zhao在/home目錄上實現soft limit為5k,hard limit 為10k的磁盤配額 實現步驟: 1. 修改包含/home的行, #vi /etc/fstab, 改為:defaults,usrquota。也就是增加usrquota項。然后保存退出。 2、卸載/home目錄 #umount /home 3. 掛接/home目錄 #mount /home 4、增加用戶zhao #useradd zhao 5、修改密碼 #passwd zhao 6、生成關于/home目錄的quota信息 # quotacheck -cmug
26、 /home #quotacheck -vu /home 7、查看所有用戶的信息 #repquota -au 8、設置配額 #edquota -u zhao 將soft 和hard 分別改為5和10 9、保存并退出 #wq! 10、修改時間 #edquota -t 11、 #wq! 12.開啟/home上的磁盤配額功能 #quotaon /home 13.查詢配額 #quota -u zhao14.驗證配額 #su - zhao $touch myfileuseradd命令的常用選項如下:-c comment:用戶全名或描述。-d home-dir:指定用戶主目錄。-e date:禁用賬戶的日
27、期,格式為:YYYY-MM-DD。-f days:口令過期后,賬戶禁用前的天數。-g group-name:用戶所屬主組群的組群名稱或GID。-G group-list:用戶所屬的附屬組群列表,多個項目用逗號分隔。-m:若主目錄不存在則創建它。-M:不創建用戶主目錄。-n:不要為用戶創建用戶私人組群。-r:創建UID小于500的不帶主目錄的系統賬戶。-p:加密的口令。-s:指定用戶登錄 Shell,默認為 /bin/bash。-u UID:指定用戶的 UID,它必須是唯一的,且大于499。實驗一 UNIX/Linux操作系統的實際使用一實驗目的通過本實驗熟悉UNIX/Linux操作系統常用命令
28、的操作和使用。二實驗內容1.進入和退出UNIX/Linux操作系統;2.常用命令的使用:cat,cd,chmod,cp,df,find,grep,id,ln,ls等;3.全屏幕編輯器vi的熟悉使用。三驗證實驗1實驗要求1)熟悉開機后登錄進入系統和退出系統; 2)常用命令的操作使用; 3)全屏幕編輯器vi的熟悉使用; 4)為以后的上機實驗作好準備。2實驗步驟 1)進入和退出UNIX/Linux操作系統 (1)開機后,執行運行(可通過telnet) (2)進入 login: username password: XXXXX $ (3)退出$logout或exit 2)常用命令 (1)cal-j-y
29、月年 選項 說明 -j 顯示西洋舊歷(計算機系統日歷表示) -y 顯示當年日歷 月 用112表示月份。默認是本月年 可以是19 999(4位數),默認是本年。 (2)cat選項文件列表 用于顯示文件或連接文件。例如: cat ac (將文件ac輸出到屏幕上) cat ac bc>cc (將文件bc加到ac后并建立新文件cc) (3)cd目錄名改變當前工作目錄。 (4)chmod選項模式文件列表 改變文件模式。例如: chmod 777 ac (使文件ac在各個級別擁有所有權限)注:UNIX/Linux有3個安全級:所有者級、組訪問級和其他用戶級。在這3級中,各有3種權限:讀、寫和執行。c
30、hmod o-wr,g-wr ac (對組級和其他用戶級不擁有寫權和讀權) (5)clear清除屏幕。 (6)compress選項文件名 項目 說明 -c 將壓縮或解壓縮的操作結果寫到標準輸出,不改變文件 -C 防止文件細分為塊,這產生一個輸出文件,舊的壓縮版本也可以讀取 -d 解壓縮文件 -f 若輸出文件存在,則覆蓋,不用提示確認。同時,把所有文件(包括沒壓縮的)變為Z文件 -v 在每個文件壓縮完后,打印給出輸入文件被壓縮百分數信息 文件名 要壓縮的文件名稱。例如: compress a (壓縮文件a,并改名為aZ) compress -v*homeusrusrl (壓縮目錄homeusru
31、srl中所有文件,在每個文件壓縮后打印壓縮信息)compress -d aZ(將壓縮文件釋放回原狀態) (7)cp選項 源文件 目標文件 cp選項源文件組 目標目錄 拷貝文件。例如: cp a b (將文件a拷貝到文件名為b的文件)cp -v bet*dd (拷貝所有以bet為開頭的文件到目錄dd) (8)date顯示系統日期和時間。 (9)df 報告磁盤剩余空問數(單位:塊。每塊512字節)。 (10)du選項目錄或文件名稱 顯示指定目錄或文件使用的空間總數。例如:du s usrbin (報告目錄usrbin使用的總空間,以塊-512B為單位) (11)echo-n-e串 本命令把傳給它的
32、參數在標準輸出顯示。 項目 說明 -n 通常,echo使所有輸出都由新行開始,本選項可制止這一點 -e 使串中的如下字符序列的解釋成為可能: a 警告(響鈴) b 退格 c 在行尾,不新起行 f 換頁 n 換行 r 回車 t 制表符 v 垂直制表符 反斜杠mm 字符的八進制ASCII碼是mm串希望輸出的字符串 例如: echo Hello(在標準輸出打印Hello) echo -e“enter Y or Nc” (提示用戶用Y或N回答而不開始新的一行) echo -e“Can you hear this07?”(07代表八進制數,這里八進制數用于使終端振鈴) (12)file選項文件列表 確認
33、文件是否是可執行文件、文本文件和數據文件等。例如: file homeaa(檢測文件homeaa,并報告文件類型) (13)find目錄列表匹配標準 項目 說明 目錄列表 希望查詢的文件或文件集的目錄列表,目錄間用空格分隔 匹配標準 希望查詢的文件的匹配標準或說明 - name文件 告訴find要找什么文件 - type x 此類型為x的文件,x代表:c(字符特殊),b(塊特殊),d(目錄), p(有名管道),|(符號連接),s(套接文件)或f(一般文件) - size n 匹配所有修改時間比file文件更新的文件 例如:find -name“letter*” -print(查找以letter
34、為開頭的文件,并打印) (14)grep串文件列表在文件中查找模式,當找到時報告。例如:grep“hHello”aa (在文件aa中查找hello或Hello)(15)ln源文件 目標文件在兩個文件間建立連接。(16)logname報告用戶登錄到系統上的名字。(17)ls選項文件列表列出文件系統中的文件。 項目 說明 -a 顯示所有文件,包括當前目錄和父目錄 -c 按列輸出,縱向排列 -x 按列輸出,橫向排列 -l 給出長表。長表顯示文件的詳細內容,如文件類型、權限、連接或目錄計數、所有者、組、字節大小、文件的最近修改時間和文件名。文件類型有: - 常規文件 d 目錄 b 塊特殊設備(例如磁盤
35、) c 字符特殊設備(例如終端) s 信號燈 m 共享存儲器 p 有名管道權限有3個串,每串有3個字節,各串分別代表所有者、組和其他的權限,權限如下: r 讀權 w 寫權 x 執行權 -t 按最后修改的時間排序,和-l標志一起使用 -u 按最后訪問的時間排序,和-l標志一起使用 文件列表 用ls要處理的文件列表例如:ls -ltusrspoolaa(給出長表,按最后修改的時間排序) (18)mkdir-p目錄名目錄 在文件系統中建立新目錄。 項目 說明 -p目錄名 建立所有不存在父目錄的目錄 目錄 要建立的新目錄 例如: mkdir letters(建立letters目錄) mkdir -p
36、lettersa lettersb(建立目錄lettersa和lettersb) (19)more選項文件名 按頁顯示文件。 項目 說明 -n n是整數,用于建立大小為n行長的窗口,窗口大小是在屏幕上顯示多少行 -c 用more給文件翻頁時通過從頭清除一行,然后再在最后寫下一行的辦法寫入。通常,more清除屏幕,再寫一行 文件名 希望用more顯示的文件列表 例如: more letter (顯示名為letter的文件) ls -ldev| more(按頁顯示dev目錄下的文件) (20)mv-f-I文件1 文件2 mv-f-I目錄1 目錄2 mv-f-I文件列表 目錄 給文件改名,移動文件到
37、一個新的目錄或給目錄改名。 項目 說明 -f 使mv執行移動而不作顯示 -I 交互模式,在覆蓋寫文件前提示 文件1 源文件名 文件2 目標文件名(新文件名) 目錄1 源目錄名 目錄2 目標目錄名(新目錄名) 文件列表 用空格分開的文件名列表。該選項用于保持文件名移到一個新的目錄 目錄 目標目錄 例如:mv letters letter (將文件letters改名為letter)(21)passwd名字 維護用戶口令。顯示或修改用戶口令(只有系統管理員可以刪除用戶口令)。(22)pwd 顯示當前工作的目錄路徑。(23)rm選項文件列表 從文件系統中刪除文件及整個目錄。 項目 說明 文件列表 希望
38、刪除用空格分開的文件,可以包括目錄名 -r 刪除文件列表中指定的目錄-f 指定強行刪除模式(24)rmdir -p目錄表刪除目錄。 項目 說明 -p 若指定刪除目錄的父目錄為空,則父目錄也被刪除 目錄表 用空格分開的目錄表,要刪除的目錄必須為空目錄(25)vi文件名vi是全屏幕編輯器。vi有兩種工作狀態:命令模式和輸入模式(注意大小寫!)。 a,i,o 進入輸入模式 <Esc> 回到執行命令狀態(工作途中,可作為取消命令或進入命令狀態 的控制) 退出vi: :w 文件名(寫到指定文件名的文件中。如無文件名,將編輯緩沖區 內容寫到磁盤) :q (或ZZ)(退出vi,不寫入磁盤) :w
39、q (寫文件到磁盤,然后退出) :q! (退出不存盤)<u>取消上次編輯命令移動光標: k 向上 j 向下 h 向左 l 向右 <Shift><h> 回第一行 <Shift><l> 到末行 <Shift><m> 到中間 <Shift><g> 到文件最后 <n><Shift><g> 到文件第n行 <$> 到行尾 <> 到行首插人命令: a 在光標后插入 i 在光標前插入 o 在光標下一行插入 O 在光標上一行插入刪除命令: <
40、;x> 刪除光標所在的字符 <X> 刪除光標前面的字符 <d><w> 刪字 <d><$> 刪光標處到行尾 <dd> 刪除一行替換命令: <r> 將光標所在的字符改為后鍵入的字符 <R> 將原來的字符一個一個地用后鍵入的替換 <Shift><r> 替換字符序列 <cc> 整行替換查詢命令:(在冒號后) 待查字符 向前查 ? 待查字符 向前查 <n> 向下繼續重復找 <Shift><n> 往下找拷貝、截取命令: <yy&
41、gt;或<Y> 拷貝當前行 <yx> 拷貝當前光標位置到x位置 <p> 將拷貝的文本置于光標后 <Shift><p> 將拷貝的文本置于光標前 |char<y><w> 拖拉 <y><$> 拉至行尾 <y><y> 一行拉出(26)WC選項文件列表計算文件中的字符、字或行的數量。 項目 說明 文件列表 用空格分開的文件名列表 -c 只計算字符數 -w 只計算字數 -l 只計算行數實驗二 命令解釋程序一實驗目的 通過本實驗熟悉UNIX/Linux操作系統及C語言,熟悉系統
42、調用的編程能力,了解命令解釋程序的基本原理和實現方法。二實驗內容1 了解命令解釋程序的基本原理和實現方法;2 編程實現一個簡單的命令解釋程序。三驗證實驗 1實驗要求 在UNIX/Linux環境下編寫一個簡單的shell程序,具有接收和解釋、執行命令的功能。 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); /*開始獲取輸入*/ li_inputlen = 0; lc_char = getchar(); while (lc_char !='n') if(li_inputlen &
45、lt; BUFFERSIZE) bufferli_inputlen+ = lc_char; lc_char = getchar(); /*命令超長處理*/ 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'/*加上串結束符號,形成字串*/*將命令從緩存拷貝到input中*/inp
46、ut = (char *) malloc(sizeof(char) * (li_inputlen+1);strcpy(input,buffer);/* 獲取命令和參數并保存在arg中*/ for (i = 0,j = 0,k = 0;i <= li_inputlen;i+)/*管道和重定向單獨處理*/ if (inputi = '<' | inputi = '>' | inputi ='|') if (inputi = '|') pipel(input,li_inputlen); else redirect(input,li_inputlen); is_bj = 1; brea
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西省撫州市本年度(2025)小學一年級數學統編版專題練習(上學期)試卷及答案
- 電機原理及應用模擬題(含答案)
- 安徽省安慶市達標名校2025屆高考仿真模擬英語試卷含解析
- 評茶員(中級)考試模擬題(含參考答案)
- 云南省保山市重點中學2025屆高三考前熱身英語試卷含解析
- 皮革制品的品牌推廣考核試卷
- 耐火土石礦山環境保護與礦山環境保護教育培訓考核試卷
- 船用氧氣與乙炔設備安全操作考核試卷
- 淀粉與變性淀粉在食品中的應用考核試卷
- 生物技術前沿與未來趨勢考核試卷
- 2025屆江蘇省南京市建鄴區重點中學中考化學模擬試卷含解析
- 人教版數學八年級下冊17.1《勾股定理》(第1課時)聽評課記錄
- 中職高教版(2023)語文職業模塊-第七單元語文綜合實踐-走進傳統節日-探尋文化根脈【課件】
- 2025屆高考英語讀后續寫提分技巧+講義
- 舞蹈療法在兒童精神疾病康復中的應用-洞察分析
- 重大版小學英語六年級下冊期中試卷(含答案含聽力原文無聽力音頻)
- 糧食熏蒸培訓課件
- 《基于Spring Boot的學生信息管理系統的設計與實現》
- 砂石場生產線承包合同
- 2024秋國家開放大學《四史通講》形考作業、期末大作業試卷ABC參考答案
- 遼寧省第二屆職業技能大賽(健康照護賽項)理論參考試題及答案
評論
0/150
提交評論