《LINUX操作系統(tǒng)》實驗指導(dǎo)書
《《LINUX操作系統(tǒng)》實驗指導(dǎo)書》由會員分享,可在線閱讀,更多相關(guān)《《LINUX操作系統(tǒng)》實驗指導(dǎo)書(58頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、Linux 操作系統(tǒng) 實 驗 指 導(dǎo) 書 徐州師范大學(xué)計算機科學(xué)與技術(shù)學(xué)院 2009 年 11 月 前 言 Linux 操作系統(tǒng)實驗指導(dǎo)書 根據(jù)實驗教學(xué)的需要所編寫,主 要包括 Linux 操作系統(tǒng)基礎(chǔ)以下幾個方面的內(nèi)容:系統(tǒng)安裝、常用 命令、vi 編輯器使用、shell 編程、Samba 服務(wù)器配置和企業(yè)小型局 域網(wǎng)的組建等。 每個實驗,都給出了實驗?zāi)康?、實驗要求和實驗?nèi)容。實驗內(nèi) 容分為示例、必做題和選做題三種形式。通過對示例中內(nèi)容的上機 練習(xí),加深學(xué)生對理論課程中所學(xué)內(nèi)容的理解,并幫助學(xué)生理解實 驗的要求;學(xué)生通過實現(xiàn)必做題的內(nèi)容,提高自己的動手能力,這 部分的內(nèi)容是要求每一位學(xué)生都必須
2、完成的;選做題是為學(xué)有余力 的同學(xué)準(zhǔn)備的,選做題目完成較好的學(xué)生將在期末平時成績中獲得 適當(dāng)?shù)募臃知剟睢?實驗一、實驗五和實驗六為學(xué)生課外實驗,另外,實驗二、實 驗三和實驗四含有部分課外實驗內(nèi)容,有利于課堂實驗課時不夠, 但是課程須要實驗鞏固的要求。本書不僅可以作為普通院校學(xué)生的 Linux 操作系統(tǒng)基礎(chǔ)上機實習(xí)指導(dǎo)教材,也可作為廣大讀者朋友自學(xué) Linux 操作系統(tǒng)基礎(chǔ)的實用教程。 由于時間倉促以及水平有限,錯誤與不足之處難免存在,敬請 使用者給與批評指正! I 目 錄 實驗一 LINUX 操作系統(tǒng)的安裝( 4 課時) .1 一、實驗?zāi)康?.1 二、實驗要求 .1 三、預(yù)備知識 .1 四、實
3、驗內(nèi)容 .2 五、課后思考 .16 實驗二 LINUX 的常用命令( 6 課時) .17 一、實驗?zāi)康?.17 二、實驗要求 .17 三、預(yù)備知識 .17 四、實驗內(nèi)容 .18 五、課后思考 .29 實驗三 LINUX 的 VI 編輯器使用(2 課時) .30 一、實驗?zāi)康?.30 二、實驗要求 .30 三、預(yù)備知識 .30 四、實驗內(nèi)容 .32 五、課后思考 .33 實驗四 LINUX 的 SHELL 編程(6 課時) .34 一、實驗?zāi)康?.34 二、實驗要求 .34 三、預(yù)備知識 .34 四、實驗內(nèi)容 .35 五、課后思考 .45 實驗五 SAMBA 服務(wù)器的配置(2 課時) .46 一
4、、實驗?zāi)康?.46 二、實驗要求 .46 三、預(yù)備知識 .46 四、實驗內(nèi)容 .47 五、課后思考 .48 實驗六 企業(yè)小型局域網(wǎng)的組建(10 課時) .49 一、實驗?zāi)康?.49 二、實驗要求 .49 三、實驗內(nèi)容 .49 四、課后思考 .50 參考文獻(xiàn) .51 1 實驗一 Linux 操作系統(tǒng)的安裝(4 課時) 一、實驗?zāi)康?1.了解 Linux 發(fā)行版本的不同,理解 Linux 內(nèi)核和 Linux 發(fā)行版本的區(qū)別。 2.掌握 Linux 的安裝過程,熟悉 Linux 操作系統(tǒng)安裝過程中的設(shè)定選項的含義,掌 握為安裝進(jìn)行硬盤分區(qū)的方法。 3.掌握 VMWare 軟件的使用,在單獨的虛擬機中
5、完成 Linux 的安裝。 4.了解在已安裝 Windows 系統(tǒng)的虛擬機上安裝 Linux,解決兩個系統(tǒng)選擇啟動的問 題。 5.了解一些 Linux 發(fā)行版本的安裝過程,比較其中的區(qū)別。 二、實驗要求 1.基本層次:在單獨的虛擬機中完成 Linux 的安裝,完成為 Linux 安裝進(jìn)行硬盤分 區(qū)的方法。 2.提高層次:在已安裝 Windows XP 操作系統(tǒng)的虛擬機上安裝 Linux,解決兩個系 統(tǒng)選擇啟動的問題。 三、預(yù)備知識 (一)虛擬機 VMWare 的介紹 虛擬機是指通過軟件模擬的具有完整硬件系統(tǒng)功能的、運行在一個完全隔離環(huán)境 中的完整計算機系統(tǒng)。通過虛擬機軟件,你可以在一臺物理計算
6、機上模擬出一臺或多 臺虛擬的計算機,這些虛擬機完全就像真正的計算機那樣進(jìn)行工作,例如你可以安裝 操作系統(tǒng)、安裝應(yīng)用程序、訪問網(wǎng)絡(luò)資源等等。 虛擬機是在一個操作系統(tǒng)(稱為宿主操作系統(tǒng)-Host OS)上的另一個操作系統(tǒng)(稱 為客戶操作系統(tǒng)-Guest OS) 。Host OS 和 Guest OS 之間交換數(shù)據(jù)的方式有:共享文件 夾和通過網(wǎng)絡(luò)傳輸。 虛擬機的用途有: 1.程序測試。由于 Host OS 和 Guest OS 是兩個獨立的操作系統(tǒng),因此可以在 Guest OS 上進(jìn)行程序測試,以免損壞 Host OS; 2.網(wǎng)絡(luò)實驗或網(wǎng)絡(luò)程序開發(fā)。通常進(jìn)行網(wǎng)絡(luò)實驗或開發(fā)網(wǎng)絡(luò)程序至少需要兩臺 PC,
7、一臺安裝服務(wù)器程序,一臺客戶程序。我們可以使用 Host OS 和 Guest OS 上分 別安裝服務(wù)程序和客戶程序,從而僅僅使用一臺 PC; 3.操作系統(tǒng)安裝和實驗,通常作操作系統(tǒng)的實驗要求對操作系統(tǒng)進(jìn)行全面的配置, 這樣可能會損壞操作系統(tǒng),通過在 Guest OS 上進(jìn)行操作可以避免重新安裝 Host OS; 目前 PC 上的虛擬機軟件有下述三個: 1.VMWare:是一個 “虛擬 PC”軟件.它使你可以在一臺機器上同時運行二個或更 多 Windows、 DOS、LINUX 系統(tǒng)。 (http:/www.VMW) 2.Virtual PC:是一個虛擬機軟件,可以在 Mac OS 和 Win
8、dows 操作系統(tǒng)上虛擬 x86 電腦,并在其中安裝運行操作系統(tǒng)。原來由 Connectix 公司開發(fā),微軟公司于 2003 年收購該軟件,并改稱為 Microsoft Virtual PC。 ( http:/) 3.Virtual Box:是由 Sun Microsystems 公司出品的軟件,原由德國 innotek 公司開 發(fā)。2008 年 2 月 12 日,Sun Microsystems 收購,新版改叫 Sun xVM Virtual Box。 Virtual Box 是開源軟件。 (http:/www.virtualbox.org/) 本課程實驗我們只使用 VMWare。 2 (二
9、)Linux 的發(fā)行版介紹 Linux 是一套免費使用和自由傳播的類 Unix 操作系統(tǒng),它主要用于基于 x86 系列 CPU 的計算機上。 Linux 發(fā)行版 (也被叫做 GNU/Linux 發(fā)行版) 是基于 Linux 內(nèi)核的類 Unix 操作系 統(tǒng)。Linux 發(fā)行版通常包含了包括桌面環(huán)境、辦公套件、媒體播放器、數(shù)據(jù)庫等應(yīng)用軟 件。這些操作系統(tǒng)通常由 Linux 內(nèi)核、以及來自 GNU 計劃的大量的函式庫,和基于 X Window 的圖形界面。有些發(fā)行版考慮到容量大小而沒有預(yù)裝 X Window,而使用更加 輕量級的軟件?,F(xiàn)在有超過 300 個 Linux 發(fā)行版。這些發(fā)行版可以分為商業(yè)
10、發(fā)行版, 比如 Fedora (Red Hat), openSUSE (Novell),Ubuntu (Canonical 公司),和 Mandriva Linux,和社區(qū)發(fā)行版,它們由自由軟件社區(qū)提供支持,如 Debian 和 Gentoo,也有發(fā) 行版既不是商業(yè)發(fā)行版也不是社區(qū)發(fā)行版,其中最有名的是 Slackware。 本課程實驗我們使用 Fedora。 四、實驗內(nèi)容 (一)必做題 在本次實驗中,完成在 VMWare 下 Guest OS 的安裝。設(shè)定機器中的操作系統(tǒng)為 Windows XP(Host OS) ,且已經(jīng)裝好了 VMWare,我們需要安裝的 Guest OS 為 Fedor
11、a Core 6。 1.添加虛擬機 說明:在以下添加虛擬機過程中,如果沒有安裝過程的說明,均使用默認(rèn)方式。 圖 1-1 添加虛擬機 如圖 1-1,在窗口中選擇“新建虛擬機”或點擊菜單“文件”“新建”“虛擬 機” ,建立虛擬機。 3 圖 1-2 新建虛擬機 如圖 1-2,選擇配置方式:“Typical”為典型方式,也是缺省方式,在創(chuàng)建過程中 將加載標(biāo)準(zhǔn)硬件設(shè)備和默認(rèn)設(shè)置;“Custom”為手工方式,用戶在這種方式下可以對 設(shè)備和內(nèi)存進(jìn)行修改。不熟悉配置方式的同學(xué)可選擇“Typical”方式,本指導(dǎo)書選擇 “Custom”方式。 圖 1-3 選擇客戶操作系統(tǒng) 如圖 1-3,設(shè)置操作系統(tǒng)??蛇x的操作
12、系統(tǒng)從 MSDOS 一直到 Windows Server 4 2008。這里選擇 Red Hat Linux。 圖 1-4 設(shè)置虛擬機名字 如圖 1-4,設(shè)置虛擬計算機文件所在的路徑。在 VMWare 中,一臺虛擬機的硬盤 其實是用磁盤文件模擬的,這里需要選擇一個剩余空間較大的分區(qū)(最好剩余 6G 以上) 中的一個目錄。 圖 1-5 設(shè)置虛擬機處理器數(shù)量 5 圖 1-6 設(shè)置虛擬機內(nèi)存大小 如圖 1-5、圖 1-6,設(shè)置虛擬機處理器數(shù)量和虛擬機內(nèi)存大小。這里設(shè)定一個處理 器,內(nèi)存設(shè)定不得超過推薦的范圍,建議可能的話,設(shè)定內(nèi)存大于 512,這樣虛擬機 Guest OS 安裝和運行都較快。 圖 1
13、-7 設(shè)置網(wǎng)絡(luò)連接方式 如圖 1-7,選擇網(wǎng)絡(luò)連接方式。虛擬計算機與宿主計算機之間可以進(jìn)行通訊,共有 四種選擇方式,由于學(xué)校設(shè)置了上網(wǎng)認(rèn)證,且限制多 IP 登陸,因此,如果在機房作此 6 實驗,暫時選擇“NAT”方式,以免認(rèn)證軟件斷開 Host OS 的網(wǎng)絡(luò)鏈接。 圖 1-8 設(shè)置硬盤類型 如圖 1-8,硬盤類型提供兩種,分別是 IDE 類型和 SCSI 類型,其中 SCSI 類型為 默認(rèn)類型。由于有些早期 Linux 發(fā)行版不支持 SCSI 類型硬盤,因此選擇 IDE 硬盤類型。 圖 1-9 設(shè)置硬盤大小 7 如圖 1-9,硬盤大小使用默認(rèn)的 8G,另外,為了便于磁盤文件存放管理,選擇將 磁
14、盤分割成 2G 文件大小。 圖 1-10 虛擬機創(chuàng)建完成 如圖 1-10,虛擬機創(chuàng)建完成! 2.安裝 Linux 系統(tǒng) 說明:在以下添加虛擬機過程中,如果沒有安裝過程的說明,均使用默認(rèn)方式。 在剛添加的虛擬機中,查看并修改該虛擬機的設(shè)備。通過設(shè)備窗口中雙擊相應(yīng)設(shè) 備,可以修改選擇設(shè)備的配置,或通過菜單“虛擬機”“設(shè)置.” ,在彈出的對話框 中可以對虛擬機內(nèi)存、磁盤、光驅(qū)、軟盤、網(wǎng)卡、USB 設(shè)備、鼠標(biāo)、聲卡等進(jìn)行設(shè)置。 如圖 1-11。 8 圖 1-11 查看并修改虛擬機的設(shè)備 設(shè)置安裝光盤為 ISO 文件(該文件包含了安裝光盤的內(nèi)容,安裝光盤可以從網(wǎng)絡(luò) 下載,或由任課老師說明下載地點) 。當(dāng)
15、然,用物理光盤也可以。如圖 1-11。 點擊虛擬機啟動按鈕,啟動該虛擬機。系統(tǒng)引導(dǎo)后,進(jìn)入安裝界面。 圖 1-12 選擇 Linux 安裝模式 如圖 1-12,進(jìn)入系統(tǒng)安裝模式選擇,如果設(shè)定的虛擬機內(nèi)存大于 256M,此處可以 選擇“圖形模式”安裝。 9 圖 1-13 提示是否進(jìn)行安裝介質(zhì)檢測 如圖 1-13,安裝過程詢問是否進(jìn)行安裝介質(zhì)的檢測,為了節(jié)省時間,此處可以選 擇跳過檢測。 圖 1-14 硬盤分區(qū)設(shè)置 如圖 1-14,進(jìn)行硬盤分區(qū)設(shè)置,由于是虛擬機,選擇了自動分區(qū),因此,此處均 選擇默認(rèn)即可。 10 圖 1-15 網(wǎng)絡(luò)設(shè)置 如圖 1-15,此處可以跳過,不進(jìn)行網(wǎng)絡(luò)設(shè)置。 圖 1-16
16、 根用戶口令設(shè)置 如圖 1-16,設(shè)置根用戶的口令,此口令務(wù)必記住,這是所裝系統(tǒng)的超級用戶口令。 11 圖 1-17 安裝選項選擇 如圖 1-17,對于需要有選擇安裝相應(yīng)的服務(wù),可以選擇“軟件開發(fā)”和“網(wǎng)絡(luò)服 務(wù)器” ,并選擇“現(xiàn)在定制” 。定制如圖 1-18。 圖 1-18 定制安裝軟件 12 圖 1-19 進(jìn)入系統(tǒng)安裝過程 如圖 1-19,系統(tǒng)進(jìn)入安裝過程,在此過程中根據(jù)提示,進(jìn)行幾張安裝盤的彈出和 插入(如圖 1-20) 。 圖 1-20 安裝過程中切換安裝光盤 13 圖 1-21 系統(tǒng)已經(jīng)安裝完成 如圖 1-21,系統(tǒng)已經(jīng)安裝完成。點擊“重新引導(dǎo)” ,進(jìn)行系統(tǒng)安裝完成后的第一次 引導(dǎo)。
17、 圖 1-22 第一次引導(dǎo)的向?qū)?如圖 1-22,系統(tǒng)第一次引導(dǎo)后,進(jìn)入此歡迎界面。 14 圖 1-23 防火墻設(shè)置 如圖 1-23,設(shè)置系統(tǒng)的防火墻,對于一些需要提供的服務(wù),使該服務(wù)為信任服務(wù)。 圖 1-24 系統(tǒng)日期和時間設(shè)置 15 如圖 1-24,設(shè)置系統(tǒng)的日期和時間。 圖 1-25 普通用戶創(chuàng)建 如圖 1-25,創(chuàng)建一個普通用戶賬號,供平時使用。這樣避免了一直使用根用戶登 錄,保證了系統(tǒng)的安全性。 圖 1-26 聲卡設(shè)定 如圖 1-26,此處設(shè)定聲卡,無需做其他改變。 16 圖 1-27 系統(tǒng)登錄 至此,系統(tǒng)的第一次引導(dǎo)設(shè)定完畢。如圖 1-27,輸入用戶名進(jìn)行登錄驗證,如果 登錄完成,
18、即可進(jìn)入 Linux 系統(tǒng)。 【注意】組合鍵 Ctrl-Alt-F1 至 F6 可以訪問另外的幾個字符界面的登錄界面,從而 使用 Fedora 的字符界面,這幾個界面叫做虛擬控制臺,使用組合鍵 Ctrl-Alt-F7 還可 以返回到圖形界面。但是在虛擬機中使用組合鍵 Ctrl-Alt-F1 至 F6 時不能切換虛擬控 制臺,原因是在 VMWare 中,Ctrl-Alt 是用來激活或釋放鼠標(biāo)的。因此,需要通過菜 單“編輯”“參數(shù)”“Hot keys”,修改默認(rèn) Hot keys 由 Ctrl-Alt 為 Ctrl-Alt-Shift, 再次啟動虛擬機后設(shè)置啟用。 (二)選做題 在自己的機器中,實
19、現(xiàn)硬盤安裝 Fedora,具體可參考如下步驟: 1.建立分區(qū),以便在此分區(qū)安裝 Linux,在 Windows 里-磁盤管理,騰出一塊磁盤 空間,為“可用空間”即可。 2.把 Fedora 安裝鏡像文件( .iso) ,拷入 Windows 某一盤符根目錄下(如 E:),注意 該分區(qū)應(yīng)該是 Fat32。把第一個鏡像文件中的 initrd.img 和 vmlinuz 兩個文件解壓縮,在 該分區(qū)建立一目錄,把上述兩個文件拷入該目錄(如 E:linux) 。 3.使用 WinGrub 軟件,然后 Tools-Install Grub,點 Systerm Device ,然后在右邊 的選擇框中選 C
20、,然后再點 BOOT FROM BOOT.INI 就好,如果不行就換;在 Title 中寫入 Linux_Install(提示而已) 然后在 Time OUT 寫上 20,點擊 Install 按鈕,這 樣 grub 就安裝好了,配置文件是 c:bootgrubMENU.LST 4.配置 MENU.LST 文件,首先用 WinGrub 軟件查看分區(qū)情況,Tools-Partition List。修改 MENU.LST 文件。如下 timeout 20 17 title Windows at (hd0,0) root (hd0,0) chainloader +1 title fc4install
21、 root (hd0,5) kernel (hd0,5)/linux/vmlinuz initrd (hd0,5)/linux/initrd.img 說明如下:hd0:表示第一塊 IDE 硬盤,如果是移動硬盤則是 hda。hd0 后面的數(shù)字 表示第幾塊分區(qū),從 0 開始,如果不清楚,用 WinGrub 軟件查看分區(qū)的情況設(shè)置。如 果還有其他鏡像安裝,可以繼續(xù)加的。 5.安裝 Fedore 開始,啟動時候出現(xiàn)選擇項 Windows 和 fc4install,選擇 fc4install 后, 視同光盤安裝。有幾點不同: (1)在Installation Method選擇“Hard drive”,
22、Select Partition中, Directory holding images:選入“/dev/sda6” (我把鏡像文件放著 E 盤,這里根據(jù)具體情 況填寫) 。 (2)在選定驅(qū)動上刪除 Liunx 分區(qū)并創(chuàng)建默認(rèn)的分區(qū)結(jié)構(gòu)。 6.安裝完畢,系統(tǒng)會直接啟動到 Linux,需要進(jìn)入 Linux 修改文件 vi /boot/grub/menu.lst。 五、課后思考 1.如何實現(xiàn)多操作系統(tǒng)啟動? 2.為什么要設(shè)置交換分區(qū)?大小又應(yīng)該如何設(shè)置? 3.Linux 中的硬盤大小應(yīng)該如何劃分? 4.安裝 Linux 需要幾個分區(qū)?它們的作用是什么? 18 實驗二 Linux 的常用命令(6 課時
23、) 一、實驗?zāi)康?1.了解 Linux 字符界面的操作特點。 2.驗證 Linux 命令的用途。 3.掌握 Linux 的基本操作、幫助。 二、實驗要求 1.了解 Linux 字符界面的操作特點。 2.掌握使用 telnet 方式或使用 putty 等工具登錄 Linux 服務(wù)器。 3.掌握 Linux 命令的使用方法。 4.掌握 Linux 命令幫助的查看方法。 5.掌握 Linux 中文件和目錄操作命令。 6.了解 Linux 常用的磁盤操作命令。 7.掌握 Linux 中的鏈接文件操作。 8.了解 Linux 中進(jìn)程管理命令。 9.掌握 Linux 中打包和壓縮命令。 三、預(yù)備知識 (一
24、)Shell 命令簡介 操作系統(tǒng)具備 5 個主要功能:處理機管理、存儲器管理、設(shè)備管理、文件管理和 提供友好的用戶接口。前 4 個功能是操作系統(tǒng)對計算機硬件系統(tǒng)的管理功能,操作系 統(tǒng)通過用戶接口與用戶交互,以使用計算機的所有資源。 操作系統(tǒng)提供的用戶接口主要有 3 種:命令接口、程序接口以及圖形用戶接口。 其中,命令接口又稱作命令行解釋程序,或者叫 Shell,它通過字符界面(稱作命令行) 接受用戶輸入的命令,并把操作系統(tǒng)的響應(yīng)以字符方式顯示給用戶;程序接口又叫做 系統(tǒng)調(diào)用,是通過代碼庫的方式提供給用戶程序(比如 C 語言程序) ,以控制和訪問 計算機資源;圖形用戶接口是基于圖標(biāo)、窗口和菜單等
25、圖形界面,用戶以鼠標(biāo)、鍵盤、 或其他設(shè)備,通過控制這些圖形界面,來完成對計算機資源的控制和訪問。大多數(shù)的 操作系統(tǒng)都提供這 3 種用戶接口。 本實驗主要討論 Linux 操作系統(tǒng)的命令接口,因為這個接口消耗資源少、響應(yīng)直 接、查錯容易,所以如果 Linux 作為服務(wù)器的操作系統(tǒng),一般只安裝這個接口。Linux 的命令接口是通過用戶輸入的字符串(稱作“Shell 命令” ,簡稱為“命令” )來接收用 戶的控制的。 Shell 命令一般由兩個部分構(gòu)成:命令名和參數(shù),參數(shù)在一個 Shell 命令中一般是 可選項,一個命令也可能有多個參數(shù)。 (二)有關(guān)常用命令 對于以下列舉的命令,請在課余時間,通過學(xué)
26、習(xí)教材、參考書或查閱網(wǎng)絡(luò)資源進(jìn) 行了解命令的使用。 1.關(guān)機和重啟相關(guān)指令; 2.幫助命令 man 的使用; 3.pwd、ls、mkdir、rmdir、cd、mv、rm 、cp 等文件目錄管理命令; 4.df、du 、fdisk、mount 和 umount 等磁盤管理命令; 5.chmod 和 chown 等文件權(quán)限管理命令; 19 6.gzip、gunzip、tar 與文件壓縮打包命令; 7.ln 等鏈接文件命令; 8.useradd(adduser)、userdel、groupadd、groupdel、passwd、who 、id、whoami、su 等用戶和組管理命令; 9.rpm 軟
27、件包管理命令; 10.其他系統(tǒng)命令,如 date、cal 等。 四、實驗內(nèi)容 (一)系統(tǒng)登錄、注銷和關(guān)機 1.登錄 在本指導(dǎo)書中,Linux 服務(wù)器的 IP 地址為 192.168.148.3,大家在具體做實驗的時 候,服務(wù)器地址由任課老師提供。在客戶機中遠(yuǎn)程登錄 Linux 服務(wù)器,可采用 Windows 中的 telnet 命令或?qū)S玫?Putty 工具。如圖 2-1 和圖 2-2 為使用 telnet 命令登 錄服務(wù)器,圖 2-3 和圖 2-4 為使用 Putty 工具登錄服務(wù)器。 圖 2-1 Window XP 中運行 telnet IP 地址命令 圖 2-2 運行 telnet 后出
28、現(xiàn)的登錄窗口 20 圖 2-3 使用 Putty 工具進(jìn)行登錄 圖 2-4 使用 Putty 工具登錄窗口 圖 2-5 第一次登錄檢查用戶環(huán)境 圖 2-5 中,為用戶第一次登錄服務(wù)器的時候,檢查一下自己的家目錄和當(dāng)前操作 用戶,檢查是否和自己的登錄名相同,以免在批量創(chuàng)建用戶的時候,建立錯誤,影響 以后的學(xué)生實驗。 21 2.注銷 用戶在登錄后,在命令提示符下,只要輸入命令“l(fā)ogout”或“exit”即可退出登 錄。 3.關(guān)機 (由于服務(wù)器權(quán)限等問題,以下“關(guān)機”部分實驗請在自己機器上練習(xí)) (1)分別使用以下幾條關(guān)閉計算機的指令,體會關(guān)機時執(zhí)行的區(qū)別: ashutdown h now bsh
29、utdown h +3 cshutdown h 12:00 dinit 0 ehalt p fhalt h (2)分別使用以下幾條關(guān)閉計算機的指令,體會關(guān)機時執(zhí)行的區(qū)別: ashutdown r now bshutdown r +3 cshutdown r 11:00 dreboot einit 6 (二)在線幫助系統(tǒng)使用 Linux 系統(tǒng)提供在線幫助 man page 來對用戶使用 Shell 命令提供幫助,man page 的 語法為: man Shell 命令名 Linux 系統(tǒng)的在線幫助系統(tǒng)還包括 info page,使用方法與 man page 相同,語法為: info Shell
30、命令名 如圖 2-6,是在 Linux 的命令提示符下,輸入 man ls 并回車所查看到的 ls 命令的幫 助,使用 pagedown 和 pageup 按鈕可以上下翻屏,另外,輸入 q,可以退出幫助狀態(tài)返 回命令輸入接口。 22 圖 2-6 使用 man ls 查看 ls 命令的幫助 (三)文件與目錄管理 1.基本操作類 (1)使用 pwd 命令查看當(dāng)前用戶目錄,若不是,使用 cd 命令切換到用戶主目錄; (2)使用 ls 命令查看當(dāng)前用戶主目錄下的內(nèi)容; (3)使用 mkdir 命令在用戶主目錄中創(chuàng)建三個目錄,分別為 Dir1、Dir2、Dir3; (4)使用 rmdir 命令刪除 Di
31、r3 目錄; (5)使用 cd 命令進(jìn)入 Dir1 目錄; (6)使用 mv 命令將 Dir2 目錄移動至 Dir1 目錄; (7)使用 rm 指令刪除 Dir2 目錄; 23 (8)使用 cp 命令將用戶主目錄下的 .bashrc 文件拷貝至 Dir1 目錄。 2.文件權(quán)限類 使用 chmod 指令,在 Linux 系統(tǒng)中設(shè)置指定文件的權(quán)限。 (說明:以下權(quán)限實驗, 可以通過單雙號同學(xué)合作驗證某些權(quán)限,系統(tǒng)設(shè)定每位同學(xué)賬號的時候,將每個班的 奇偶數(shù)學(xué)號的同學(xué)設(shè)定為不同的兩組。 ) (1)使用符號法設(shè)置文件權(quán)限 a在用戶主目錄下創(chuàng)建目錄 Dir2、Dir3 ; b使用 ls l 命令查看以上兩
32、個目錄的相關(guān)權(quán)限; c使用 chmod 命令,設(shè)置 Dir2 目錄的權(quán)限為所有人都擁有所有權(quán)限; $ 24 d使用 chmod 命令,設(shè)置 Dir3 目錄的權(quán)限為屬主擁有讀寫權(quán)限,組成員有讀和 執(zhí)行權(quán)限,其他用戶沒有任何權(quán)限。 (2)使用八進(jìn)制數(shù)字法設(shè)置文件權(quán)限 a在用戶主目錄下創(chuàng)建目錄 Dir4、Dir5 ; b使用 ls l 命令查看以上兩個目錄的相關(guān)權(quán)限; c使用 chmod 命令,設(shè)置 Dir4 目錄僅為屬主擁有所有權(quán)限,其他用戶沒有任何 權(quán)限; d使用 chmod 命令,設(shè)置 Dir5 目錄的權(quán)限為屬主擁有所有權(quán)限,組成員有讀和 執(zhí)行權(quán)限,其他用戶沒有任何權(quán)限。 (3)使用 chow
33、n 命令,設(shè)置文件的屬主 a創(chuàng)建目錄 Dir6; b使用 ls l 命令查看剛創(chuàng)建目錄的相關(guān)權(quán)限; $ $ 25 c使用 chown 命令將 Dir6 文件的屬主更改為合作的同學(xué)。 3.文件內(nèi)容顯示類 (1)將/tmp 目錄下 a.txt 和 b.txt(這兩個文件及內(nèi)容,已經(jīng)由任課老師準(zhǔn)備好) 拷貝到用戶目錄下; (2)使用 cat 命令將用戶主目錄下的 a.txt 和 b.txt 連接生成 d.txt; (3)使用 more 命令以每頁 8 行的格式顯示文件 d.txt; (4)使用 lessheadtail 命令顯示文件 d.txt 的最后 2 行,頭 2 行。 4.文件(內(nèi)容)查找 (
34、1)使用 grep 命令在文件 d.txt 中搜索模式“l(fā)inux ”; (2)使用 grep 命令在文件 d.txt 搜索并顯示所有包含 kernel 語句的代碼行; (3)使用 locate 命令在根目錄下查找相關(guān)字 linux; $ $ 26 (4)自學(xué) fgrep 和 egrep 命令。 5.文件(名)查找 使用 find 命令完成如下操作: (1)寫出在/usr/bin 下搜索find文件,搜索普通類型文件的指令; (2)寫出在根目錄下查找在系統(tǒng)中最后 10 分鐘訪問的文件; (3)寫出在根目錄下查找在系統(tǒng)中最后 48 小時訪問的文件; (4)寫出在根目錄下查找在系統(tǒng)中為空的文件或者
35、文件夾; (5)寫出在根目錄下查找在系統(tǒng)中屬于 root 組的文件; (6)寫出在根目錄下查找在系統(tǒng)中最后 5 分鐘里修改過的文件; (7)寫出在根目錄下查找在系統(tǒng)中最后 24 小時里修改過的文件; (8)寫出在根目錄下查找在系統(tǒng)中屬于 root 這個用戶的文件。 $ $ 27 6.鏈接文件操作 使用 ln 命令完成如下操作: (1)在用戶主目錄下用 cp 命令創(chuàng)建前面實驗中文件 d.txt 的一個文件副本 link.txt; (2)在用戶主目錄下用 ln 命令創(chuàng)建 link.txt 的符號鏈接文件 symlink.txt; (3)在用戶主目錄下用 ln 命令創(chuàng)建 link.txt 的硬鏈接文
36、件 hardlink.txt; (4)刪除文件 link.txt,觀察 symlink.txt 和 hardlink.txt 文件變化。 (四)文件系統(tǒng)與磁盤管理 1.磁盤操作 (1)使用 df 命令列出服務(wù)器的磁盤空間使用情況以及節(jié)點使用情況; (2)使用 df 命令列出服務(wù)器中文件系統(tǒng)類型為 ext3 的所有文件系統(tǒng); (3)使用 du 命令查看/home/public 目錄內(nèi)各子目錄及文件的大小和總的使用情 $ $ 28 況。 2.光驅(qū)掛載 使用 mount 和 umount 指令,掛載指定的文件系統(tǒng)。掛載光驅(qū)需在自己機器上實驗, 因此,為選做內(nèi)容。 (1)使用 mount 指令加載光驅(qū)
37、設(shè)備,要求在指令中體現(xiàn)文件系統(tǒng)類型,使用的字 符集是 gb2312; (2)使用 umount 指令將光驅(qū)卸載(可以使用兩種方式) 。 (五)打包與壓縮管理 打包和壓縮命令使用 gzip、gunzip、tar 文件壓縮與解壓縮命令,對文檔或目錄進(jìn) 行處理。注意:在使用以下命令時,請及時用 ls 命令觀察當(dāng)前目錄下的文件,并注意 執(zhí)行打包與壓縮的當(dāng)前目錄。 1.tar 命令(存檔和分發(fā)文件) (1)將用戶目錄的文件打包到 mytar.tar; (2)從 mytar.tar 中還原所有文件。 2.gzip/gunzip 命令(文件壓縮和解壓) (1)將剛才的存檔文件 mytar.tar 進(jìn)行壓縮(
38、加-l 參數(shù)顯示壓縮率) ; (2)解壓上步驟生成的壓縮文件。 $ $ $ 29 3.tar 命令再使用 (1)直接使用 tar 命令將用戶目錄的文件打包并壓縮到 mytarzip.tar.zip; (2)直接使用 tar 命令從 mytarzip.tar.zip 中還原所有文件。 (六)ftp 命令 1.使用 ftp 命令登錄到實驗室 ftp 服務(wù)器(服務(wù)器地址和用戶名、密碼均由任課老 師給出) ; 2.使用 cd 命令轉(zhuǎn)換到服務(wù)器的/user/ckj/tmp 目錄; 3.使用 get 命令拷貝該目錄中的 ftpcopy.txt 到你的用戶目錄中(注意你的本地目錄) ; 4.使用 bye 命
39、令退出登錄; 5.退回本地目錄,查看拷貝文件是否在你的用戶目錄中。 (七)進(jìn)程管理 1.使用 ps 命令查看當(dāng)前進(jìn)程狀況, 記錄查看結(jié)果; 2.后臺運行 top 命令; 3.kill 終止進(jìn)程命令,先用 ps 命令查看當(dāng)前進(jìn)程,然后使用 kill 命令殺死 top 進(jìn) 程。 (注意使用 kill -9) 。 $ $ $ 30 (八)用戶和組管理 1.基本命令 who、id、whoami、su 等命令 (1)使用 who 命令查看當(dāng)前登陸系統(tǒng)的用戶; (2)使用 id 命令查看當(dāng)前用戶的 UID 與 GID; (3)使用 whoami 指令查看當(dāng)前使用 shell 的用戶名稱; (4)使用 su
40、 命令從你目前用戶切換至鄰居同學(xué)的用戶,然后切換回自己用戶。 2.用戶和組添加命令 groupadd 和 useradd 等命令(由于服務(wù)器權(quán)限等問題,以下“用戶和組”部分實驗 請在自己機器上練習(xí)) (1)使用 groupadd office 命令添加一個組; (2)使用 tail 命令查看/etc/group 文件,顯示剛才添加的 office 組信息; (3)使用 useradd -g office user1 命令添加一個用戶,設(shè)定他屬于 office 用戶組; (4)使用 passwd user1 命令為該用戶設(shè)置登錄密碼; (5)使用 tail 命令查看/etc/passwd 文件,
41、檢查用戶的設(shè)置。 $ $ 31 (九)rpm 命令 (由于服務(wù)器權(quán)限等問題,以下“rpm 命令”部分實驗請在自己機器上練習(xí)) 1.使用-q 選項查詢系統(tǒng)中是否安裝 ftp 軟件包。 2.分別使用-i、-ivh 選項安裝兩個軟件包,體會兩者的不同區(qū)別。 3.使用-e 選項,刪除 ftp 軟件 4.使用-U 選項,升級 Apache 軟件 5.使用-V 選項,校驗上一個步驟中升級的 Apache 軟件 五、課后思考 1.怎樣使用 Linux 提供的幫助系統(tǒng)來學(xué)習(xí) Linux 的使用? 2.Linux 將命令設(shè)置不同的執(zhí)行權(quán)限有何意義? $ 32 實驗三 Linux 的 vi 編輯器使用( 2 課時
42、) 一、實驗?zāi)康?1.了解 Linux 操作系統(tǒng)中的常用的文本編輯器。 2.熟練掌握 Linux 下最常用的編輯工具 vi 編輯器的使用。 3.了解 Linux 下使用 gcc 編程過程。 二、實驗要求 1.能使用編輯器 vi 完成一篇英文短文的錄入。 2.練習(xí)多種 vi 命令模式命令和末行模式命令。 3.初步學(xué)會在 Linux 下使用 gcc 編程。 三、預(yù)備知識 (一)vi 的基本概念 vi 編輯器是 Linux 系統(tǒng)下的標(biāo)準(zhǔn)編輯器,vi 可以分為三種狀態(tài),分別是命令行 模式、插入模式和末行模式,各模式的功能區(qū)分如下: 命令行模式:控制屏幕光標(biāo)的移動,字符、字或行的刪除,移動復(fù)制某區(qū)段及進(jìn)
43、 入插入模式下,或者到末行模式。 插入模式:只有在插入模式下,才可以做文字輸入,按 ESC 鍵可回到命令行模式。 末行模式:將文件保存或退出 vi,也可以設(shè)置編輯環(huán)境,如尋找字符串、列出行 號等。 在使用時通常把 vi 簡化成兩個模式,將末行模式也算入命令行模式。 (二)vi 的基本操作 1.啟動與退出 啟動 vi :在系統(tǒng)提示符號輸入 vi 及文件名稱后,就進(jìn)入 vi 全屏幕編輯畫面: $ vi myfile 注意::進(jìn)入 vi 之后,處于命令行模式,要切換到插入模式才能夠輸入文字,在 命令行模式下按下字母 i 進(jìn)入插入模式。 退出 vi 及保存文件:在命令行模式下,按一下冒號:鍵進(jìn)入底行模
44、式,例如: : w filename (輸入 w filename 將文件以指定文件名 filename 保存) : wq (輸入 wq,存盤并退出 vi) : q! (輸入 q!, 不存盤強制退出 vi) 2.命令模式功能鍵 (1)插入模式 按 i 進(jìn)入插入模式后,是從光標(biāo)當(dāng)前位置開始輸入文字; 按 a 進(jìn)入插入模式后,是從目前光標(biāo)所在位置的下一個位置開始輸入文字; 按 o 進(jìn)入插入模式后,是插入新的一行,從行首開始輸入文字。 從插入模式切換為命令行模式,按 ESC 鍵。 (2)移動光標(biāo) vi 可以直接用鍵盤上的光標(biāo)來上下左右移動,但正規(guī)的 vi 是用小寫英文字母 h、j、k、l,分別控制光
45、標(biāo)左、下、上、右移一格。 按 ctrl+b:屏幕往后移動一頁。 按 ctrl+f:屏幕往前移動一頁。 33 按 ctrl+u:屏幕往后移動半頁。 按 ctrl+d:屏幕往前移動半頁。 按數(shù)字 0:移到文章的開頭。 按 G:移動到文章的最后。 按$:移動到光標(biāo)所在行的行尾。 按:移動到光標(biāo)所在行的行首。 按 w:光標(biāo)跳到下個字的開頭。 按 e:光標(biāo)跳到下個字的字尾。 按 b:光標(biāo)回到上個字的開頭。 按#l:光標(biāo)移到該行的第#個位置,如:5l,56l。 (3)刪除文字 x:每按一次,刪除光標(biāo)所在位置的后面一個字符。 #x:例如,6x 表示刪除光標(biāo)所在位置的后面6 個字符。 X:大寫的 X,每按一次
46、,刪除光標(biāo)所在位置的前面一個字符。 #X:例如,20X 表示刪除光標(biāo)所在位置的前面20 個字符。 dd:刪除光標(biāo)所在行。 #dd:從光標(biāo)所在行開始刪除#行。 (4)復(fù)制 yw:將光標(biāo)所在之處到字尾的字符復(fù)制到緩沖區(qū)中。 #yw:復(fù)制#個字到緩沖區(qū) yy:復(fù)制光標(biāo)所在行到緩沖區(qū)。 #yy:例如,6yy 表示拷貝從光標(biāo)所在的該行往下數(shù)6 行文字。 p:將緩沖區(qū)內(nèi)的字符貼到光標(biāo)所在位置。注意:所有與y有關(guān)的復(fù)制命令都必 須與p配合才能完成復(fù)制與粘貼功能。 e替換 r:替換光標(biāo)所在處的字符。 R:替換光標(biāo)所到之處的字符,直到按下 ESC 鍵為止。 u:回復(fù)上一次操作如果誤執(zhí)行一個命令,可以馬上按下 u
47、,回到上一個操作。按 多次u可以執(zhí)行多次回復(fù)。 cw:更改光標(biāo)所在處的字到字尾處 c#w:例如,c3w 表示更改 3 個字 3.末行模式下命令 在使用末行模式之前,先按 ESC 鍵確定已經(jīng)處于命令行模式下后,再按:冒號即 可進(jìn)入末行模式。 列出行號 set nu:輸入 set nu 后,會在文件中的每一行前面列出行號。 跳到文件中的某一行#:#號表示一個數(shù)字,在冒號后輸入一個數(shù)字,再按回車鍵 跳到該行,如輸入數(shù)字 15,再回車,就會跳到文章的第 15 行。 查找字符 /關(guān)鍵字:先按/鍵,再輸入您想尋找的字符,如果第一次找的關(guān)鍵字不是想要的, 可以一直按 n 會往后尋找到要的關(guān)鍵字為止。 ?關(guān)鍵
48、字:先按?鍵,再輸入想尋找的字符,如果第一次找的關(guān)鍵字不是想要的, 可以一直按 n 會往前尋找到您要的關(guān)鍵字為止。 (三)Linux 下 GCC 簡介 Linux 系統(tǒng)下的 gcc(GNU C Compiler)是 GNU 推出的功能強大、性能優(yōu)越的多平 34 臺編譯器,是 GNU 的代表作品之一。gcc 是可以在多種硬體平臺上編譯出可執(zhí)行程序的 超級編譯器,其執(zhí)行效率與一般的編譯器相比平均效率要高 20%30%。 gcc 編譯器能將 C、C+語言源程序、匯程式化序和目標(biāo)程序編譯、連接成可執(zhí)行 文件,如果沒有給出可執(zhí)行文件的名字,gcc 將生成一個名為 a.out 的文件。在 Linux 系統(tǒng)
49、中,可執(zhí)行文件沒有統(tǒng)一的后綴,系統(tǒng)從文件的屬性來區(qū)分可執(zhí)行文件和不可執(zhí) 行文件。 雖然我們稱 gcc 是 C 語言的編譯器,但使用 gcc 由 C 語言源代碼文件生成可執(zhí)行 文件的過程不僅僅是編譯的過程,而是要經(jīng)歷四個相互關(guān)聯(lián)的步驟預(yù)處理(也稱預(yù)編 譯,Preprocessing)、編譯(Compilation)、匯編(Assembly)和連接(Linking)。 gcc 的基本用法和選項 在使用 gcc 編譯器的時候,我們必須給出一系列必要的調(diào)用參數(shù)和文件名稱。gcc 編譯器的調(diào)用參數(shù)大約有 100 多個,其中多數(shù)參數(shù)我們可能根本就用不到,這里只介 紹其中最基本、最常用的參數(shù)。 gcc 最基
50、本的用法是gcc options filenames 其中 options 就是編譯器所需要的參數(shù),filenames 給出相關(guān)的文件名稱。 -c,只編譯,不連接成為可執(zhí)行文件,編譯器只是由輸入的.c 等源代碼文件生成. o 為后綴的目標(biāo)文件,通常用于編譯不包含主程序的子程序文件。 -o output_filename,確定輸出文件的名稱為 output_filename,同時這個名稱不 能和源文件同名。如果不給出這個選項,gcc 就給出預(yù)設(shè)的可執(zhí)行文件 a.out。 -g,產(chǎn)生符號調(diào)試工具(GNU 的 gdb)所必要的符號資訊,要想對源代碼進(jìn)行調(diào)試, 我們就必須加入這個選項。 -O,對程序進(jìn)
51、行優(yōu)化編譯、連接,采用這個選項,整個源代碼會在編譯、連接過 程中進(jìn)行優(yōu)化處理,這樣產(chǎn)生的可執(zhí)行文件的執(zhí)行效率可以提高,但是,編譯、連接 的速度就相應(yīng)地要慢一些。 -O2,比-O 更好的優(yōu)化編譯、連接,當(dāng)然整個編譯、連接過程會更慢。 -Idirname,將 dirname 所指出的目錄加入到程序頭文件目錄列表中,是在預(yù)編譯 過程中使用的參數(shù)。C 程序中的頭文件包含兩種情況 A)#include B)#include “myinc.h” 其中,A 類使用尖括號(),B 類使用雙引號(“ ”)。對于 A 類,預(yù)處理程序 cpp 在系統(tǒng)預(yù)設(shè)包含文件目錄(如/usr/include)中搜尋相應(yīng)的文件,而
52、對于 B 類,cpp 在當(dāng)前目錄中搜尋頭文件,這個選項的作用是告訴 cpp,如果在當(dāng)前目錄中沒有找到需 要的文件,就到指定的 dirname 目錄中去尋找。在程序設(shè)計中,如果我們需要的這種 包含文件分別分布在不同的目錄中,就需要逐個使用-I 選項給出搜索路徑。 四、實驗內(nèi)容 (一)vi 的基本使用 在用戶目錄中 vi 和想要編輯(或建立)的文件名,便可進(jìn)入 vi。 例: 1.鍵入命令: $ vi file.c 2.進(jìn)入 vi 后,按下 i 進(jìn)入插入模式。 3.編輯內(nèi)容如圖 3-1。 35 4.按下 esc 進(jìn)入命令模式,輸入“:wq”就可以保存文件并退出。 ( write and quit )
53、 (二)vi 的命令模式練習(xí) 使用 vi 打開步驟 1 的編輯文件,在命令模式下練習(xí)如下操作: 1.練習(xí)基本的移動命令 2.復(fù)制最后一行,將其拷貝為文章新的最后一行 3.更改新的最后一行中“ID”為“name” ,將學(xué)號改為姓名(漢語拼音字符串) 4.刪除倒數(shù)第二行 5.保存編輯后的文件,并退出 圖 3-1 vi 編輯內(nèi)容 (三)vi 的末行命令練習(xí) 再次使用 vi 打開步驟 2 的編輯文件,在末行模式下練習(xí)如下操作: 1.設(shè)置行號、取消行號,并觀察文本變化 2.跳轉(zhuǎn)到第 4 行,將第 4 至 9 行寫到外部文件 “file1.txt” 中 3.將外部文件 “file1.txt” 再寫到當(dāng)前文
54、件的末尾 4.將文件“file.c”中所有的“This”替換成“It” 5.將文件的最后兩行刪除 6.保存修改過的文件,退出 (四)Linux 編程實現(xiàn)步驟 1.$ vi hello.c This is line1 This is line2 (空一行) This is line4 (空一行) (空一行) This is line7 This is line8 My ID is * 36 2.按下 i 進(jìn)入編輯狀態(tài) 3.輸入內(nèi)容如圖 3-2 圖 3-2 hello.c 內(nèi)容 4.按 ESC 進(jìn)入命令狀態(tài),輸入:“:wq” 保存文件并退出 5.編譯 hello.c ,將并將文件輸出到 hello
55、.out $ gcc -o hello.out hello.c 6.執(zhí)行編譯文件 $ ./hello.out 7.你將會看到輸出結(jié)果 I try to use linux! 五、課后思考 1.Linux 系統(tǒng)中,除 vi 編輯器外,還有哪些文本編輯器? 2.如果退出 vi 編輯器時需要覆蓋原有文件,該如何操作(提示:與強制退出類似) ? #include main() printf(“I try to use linux! n”); 37 實驗四 Linux 的 shell 編程(6 課時) 一、實驗?zāi)康?1.熟悉 shell 程序的編程過程。 2.掌握 shell 基本語法。 二、實驗要求
56、1.掌握創(chuàng)建和執(zhí)行 shell 程序的過程; 2.熟悉編寫命令集的 shell 程序; 3.熟悉 shell 編程中變量的使用; 4.掌握 shell 的輸入和輸出重定向; 5.熟練應(yīng)用 shell 程序的控制語句; 6.掌握 shell 的菜單編寫方法; 7.掌握 shell 程序的函數(shù)編寫和使用; 8.能夠簡單調(diào)試 shell 腳本。 三、預(yù)備知識 (一)shell 概述 盡管在 Linux 中有各種各樣的圖形化工具,但是 shell 仍然是 Linux 中一個非常 靈活實用的工具,shell 比較擅長完成系統(tǒng)管理任務(wù),尤其適合完成那些易用性,可維 護(hù)性和便攜性比執(zhí)行效率要求更重要的任務(wù)。
57、 BASH 是 Linux 默認(rèn)的 Shell,程序為 bash,其他的 Shell 如表 4-1。本指導(dǎo)書中 只介紹 BASH,后文中若沒有加上下文,則簡稱 BASH 環(huán)境中的 Shell 程序為 Shell 程序 或者 Shell 腳本(Shell Script) 。 在 Linux 中,sh 程序是 bash 的別名,后文中不加說明的話,sh 也就是 bash。 表 4-1 Linux 中的各種 shell shell 名稱描述 位置 ash 一個小 shell(和 sh 類似) /bin/ash ash.static 一個不依靠軟件庫的 ash 版本 /bin/ash.static b
58、ash BourneAgainShell /bin/bash bash2 BourneAgainShell 的新版本 /bin/bash2 bsh ash 的一個符號鏈接 /bin/bsh csh Cshell,tcsh 的一個符號鏈接 /bin/csh ksh 公共域受限制的 shell(針對網(wǎng)絡(luò)操 作) /usr/bin/ksh sh bash 的一個符號鏈接 /bin/sh tcsh 和 csh 兼容的 shell /bin/tcsh zsh 一個和 csh,ksh 和 sh 兼容的 shell /bin/zsh (二)shell 執(zhí)行和調(diào)試 執(zhí)行 Shell 程序的方法有兩種:一是將
59、Shell 程序文件設(shè)置為可執(zhí)行,然后直接執(zhí) 行該文件;二是指明使用 bash 解釋、執(zhí)行該 Shell 程序文件。實際上,第一種方式中, 待運行的 Shell 程序文件的第一行必須指明解釋、執(zhí)行該命令文件的程序。該行通常寫 成: !/bin/bash 38 #!用來指示哪個程序要解釋命令文件。它必須是文件的第一行。 例如 example.sh 為 Shell 程序文件,設(shè)置該文件為可執(zhí)行后,在 Shell 下鍵入: ./example.sh 就可以執(zhí)行該 Shell 程序文件。 最簡單的調(diào)試命令當(dāng)然是使用 echo 命令??梢允褂?echo 在任何懷疑出錯的地方打 印任何變量值。這也是絕大多
60、數(shù)的 shell 程序員要花費 80%的時間來調(diào)試程序的原因。 Shell 程序的好處在于不需要重新編譯,插入一個 echo 命令也不需要多少時間。 查錯 Shell 程序文件的方法是使用第二種執(zhí)行方式,比如執(zhí)行 example.sh 文件, 在 Shell 下鍵入: bash example.sh 就可以執(zhí)行該 Shell 程序文件。不過,排錯需要使用 bash 的選項: -x 在變量替換之后但執(zhí)行之前,顯示命令文件的每一行。 -v 在執(zhí)行之前顯示命令文件的每一行,就像你輸入一樣。 -n 解譯但不執(zhí)行命令。 +x 關(guān)閉追蹤。 因此,查錯 example.sh 的方法為使用如下命令: bash
61、 -x example.sh (三)編寫 shell 程序的注意事項 因為 Linux 中命令使用小寫字母,所以 shell 編程中一般使用大寫字母表示變量以 示區(qū)別; Shell 語句中必須加入必要的注釋,注釋以#開頭; 在 shell 語句中當(dāng)有特殊字符時,要用轉(zhuǎn)義字符 進(jìn)行轉(zhuǎn)義。 四、實驗內(nèi)容 首先在你的用戶目錄下建立一個名為“shell”的目錄,本次實驗的所有 shell 腳本 必須存放在此目錄下。 (一)編寫一個命令集的 shell 程序 1.例子 編寫一個 shell 程序,文件名為 exp4-1.sh。腳本主要功能為:顯示當(dāng)前的日期時間、 執(zhí)行路徑、用戶賬號及所在的目錄位置。 編
62、程過程: 在用戶主目錄的 shell 目錄下,通過 vi exp4-1.sh,進(jìn)入編輯腳本模式。如圖 4-1。 圖 4-1 編輯例子腳本 exp4-1.sh 39 在編輯模式下,輸入腳本內(nèi)容,如圖 4-2: 圖 4-2 腳本 exp4-1.sh 內(nèi)容 編輯完腳本,返回到命令提示符下,用三種方法執(zhí)行 shell 腳本,結(jié)果如圖 4-3: 圖 4-3 腳本 exp4-1.sh 三種執(zhí)行方法下的結(jié)果 2.作業(yè) 要求:寫一個備份用戶目錄的 shell,腳本名為 lab4_1.sh。shell 腳本中主要功能有: a在/tmp 目錄中建立用戶的備份文件存放目錄,目錄名為用戶登錄名;(使用 LOGNAME
63、 環(huán)境變量) b將用戶目錄打包并壓縮,壓縮包名為“用戶名.tar.gz”格式;(使用 HOME 環(huán) 境變量) c將用戶目錄打包并壓縮的文件移動至在第 a 步建立的存放目錄中。 40 運行你寫的 shell 程序,并觀察結(jié)果。 (二)編寫一個使用變量的 shell 程序 1.例子 編寫一個 shell 程序,文件名為 exp4-2.sh。內(nèi)容如圖 4-4: 圖 4-4 腳本 exp4-2.sh 內(nèi)容 !/bin/bash $ 41 執(zhí)行腳本結(jié)果如圖 4-5: 圖 4-5 腳本 exp4-2.sh 執(zhí)行結(jié)果 2.作業(yè) 要求:編寫一個 shell 程序,腳本名為 lab4_2.sh。使它具有如下功能
64、: 輸入兩個數(shù),比較其大小,按照先大后小的次序輸出兩個數(shù)。 注:數(shù)字比較符及其含義如表 4-2. 表 4-2 數(shù)字比較符及其含義 -eq 等于 -ne 不等于 -gt 大于 -ge 大于等于 -lt 小于 -le 小于等于 42 (三)編寫一個使用控制語句的 shell 程序 1.例子 編寫一個 shell 程序,文件名為 exp4-3.sh。內(nèi)容如圖 4-6: 圖 4-6 腳本 exp4-3.sh 內(nèi)容 執(zhí)行腳本結(jié)果如圖 4-7: !/bin/bash 43 圖 4-7 腳本 exp4-3.sh 執(zhí)行結(jié)果 2.作業(yè) 1 要求: 編寫三個 shell 腳本,分別用 for、while 、unt
65、il 三種循環(huán)實現(xiàn)求 100(含)以內(nèi)的 偶數(shù)的和。 注: afor 循環(huán)腳本文件名為 lab4_3.sh。 !/bin/bash 45 bwhile 循環(huán)腳本文件名為 lab4_4.sh。 !/bin/bash 46 cuntil 循環(huán)腳本文件名為 lab4_5.sh。 2.作業(yè) 2 要求: 編寫一個 shell 程序,腳本文件名為 lab4_6.sh,使它具有以下功能: a輸入小寫字母時顯示 “l(fā)ower case letter”; b輸入大寫字母時顯示 “upper case letter”; c輸入數(shù)字顯示 “digit”; d輸入其它字符顯示 “error”。 提示:表示區(qū)間常量時用
66、a-b,如3-5。 !/bin/bash !/bin/bash 47 (四)編寫一個含有菜單的 shell 程序 要求: 編寫一個簡單的目錄菜單,并實現(xiàn)菜單對應(yīng)功能,文件名為 lab4_6.sh,使它具有 以下功能: 1.顯示目錄下的文件; 2.改變目錄; 3.編輯文件(vi) ; 4.刪除文件; 5.退出菜單。 !/bin/bash 48 (五)編寫一個應(yīng)用函數(shù)的 shell 程序 1.例子 編寫一個 shell 程序,文件名為 exp4-4.sh。內(nèi)容如圖 4-8: 圖 4-8 腳本 exp4-4.sh 內(nèi)容 執(zhí)行腳本結(jié)果如圖 4-9: 圖 4-9 腳本 exp4-4.sh 執(zhí)行結(jié)果 2.作業(yè) 要求: 編寫一個 shell 腳本,文件名為 lab4_7.sh,通過函數(shù)調(diào)用的形式顯示如下內(nèi)容: (1)I Like Linux (2)I Like ShellScript 注:即函數(shù)參數(shù)為用戶輸入的喜歡內(nèi)容,如 Linux、ShellScript 等。 !/bin/bash 49 (六)shell 腳本調(diào)試 要求: 使用 set 命令輔助調(diào)試上面 lab4_6.sh 和 lab4_7.s
- 溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案