linux系統(tǒng)及編程基礎課后答案_第1頁
linux系統(tǒng)及編程基礎課后答案_第2頁
linux系統(tǒng)及編程基礎課后答案_第3頁
linux系統(tǒng)及編程基礎課后答案_第4頁
linux系統(tǒng)及編程基礎課后答案_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第1章 習題答案1. 什么是Linux?答:Linux是一款優(yōu)秀的計算機操作系統(tǒng),支持多用戶、多進程、多線程,實時性好,功能強大且穩(wěn)定。同時,它又具有良好的兼容性和可移植性,被廣泛應用于各種計算機平臺上。作為Internet的產物,Linux操作系統(tǒng)由全世界的許多計算機愛好者共同合作開發(fā),是一個自由的操作系統(tǒng)。2. Linux的主要特點是什么?答:Linux具有UNIX的所有特性并且具有自己獨特的魅力,主要表現在以下幾個方面:l 開放性l 多用戶l 多任務l 出色的穩(wěn)定性能l 良好的用戶界面:Linux向用戶提供了兩種界面:用戶界面和系統(tǒng)調用界面。l 設備獨立性:設備獨立性是指操作系統(tǒng)把所有外

2、部設備統(tǒng)一當作文件來看,只要安裝它們的驅動程序,任何用戶都可以像使用文件那樣操作并使用這些設備,而不必知道它們的具體存在形式。l 豐富的網絡功能:完善的內置網絡是Linux的一大特點,Linux在通信和網絡功能方面優(yōu)于其他操作系統(tǒng)。其他操作系統(tǒng)不包含如此緊密的內核結合在一起的聯(lián)接網絡的能力,也沒有內置這些聯(lián)網特性的靈活性。而Linux為用戶提供了完善的、強大的網絡功能。l 可靠的安全性l 良好的可移植性:可移植性是指將操作系統(tǒng)從一個平臺轉移到另一個平臺,使它仍然能按其自身的方式運行的能力。3. Linux的主要組成包括什么?答:Linux主要組成為:Linux內核(Kernel):內核(Ker

3、nel)是系統(tǒng)的心臟,是運行程序和管理硬件設備的內核程序,決定著系統(tǒng)的性能和穩(wěn)定性,實現操作系統(tǒng)的基本功能。Linux的Shell:Shell是系統(tǒng)的用戶界面,提供用戶與內核進行交互操作的一種接口。Shell是一個命令解釋器,它解釋由用戶輸入的命令并且把他們送到內核執(zhí)行。Shell編程語言具有普通編程語言的很多特點,用這種編程語言編寫shell程序與其他應用程序具有同樣的效果。Linux 文件系統(tǒng):文件系統(tǒng)是文件存放在磁盤等存儲設備上的組織方法。通常是按照目錄層次的方式進行組織,用戶能夠從一個目錄切換到另一個目錄,而且可以設置目錄和文件的權限、文件的共享程度。Linux 實用程序(utilit

4、ies)和應用程序(Applications):標準的Linux系統(tǒng)都有一套成為應用程序的程序集,包括文本編輯器、編程語言、X Window、辦公套件、Internet工具、數據庫等。4. Linux與Windows的主要區(qū)別是什么?答:主要區(qū)別:(1)Linux的應用目標是網絡Linux的設計定位于網絡操作系統(tǒng)。雖然現在已經實現Linux操作系統(tǒng)的圖形界面,但仍然沒有舍棄文本命令行。由于純文本可以非常好地跨越網絡進行工作,所以Linux配置文件和數據都以文本為基礎。(2)可選的GUI目前,許多版本的Linux操作系統(tǒng)具有非常精美的圖形界面。Linux支持高端的圖形適配器和顯示器,完全勝任與圖

5、形相關的工作。但是,圖形環(huán)境并沒有集成到Linux中,而是運行于系統(tǒng)之上的單獨一層。這意味著用戶可以只運行GUI,或者在需要時使用圖形窗口運行GUI。(3)文件名擴展Linux不使用文件名擴展來識別文件的類型,這與Windows操作系統(tǒng)不同。Linux操作系統(tǒng)是根據文件的頭內容來識別其類型。為了提高用戶的可讀性,Linux仍可以使用文件名擴展,這對Linux系統(tǒng)來說沒有任何影響。Linux通過文件訪問權限來判斷文件是否為可執(zhí)行文件,任何一個文件都可以賦予可執(zhí)行權限,程序和腳本的創(chuàng)建者或管理員可以將它們識別為可執(zhí)行文件,這樣做有利于安全,使得保存到系統(tǒng)上的可執(zhí)行文件不能自動執(zhí)行,可以防止許多腳本

6、病毒。(4)重新引導在使用Windows系統(tǒng)時,也許已經習慣出于各種原因而重新引導系統(tǒng)(即重新啟動),但在Linux系統(tǒng)中這一習慣需要改變。一旦開始運行,它將保持運行狀態(tài),直到受到外來因素的影響,比如硬件故障。實際上,Linux系統(tǒng)的設計使得應用程序不會導致內核的崩潰,因此不必經常重新引導,所以除了Linux內核之外,其他軟件的安裝、啟動、停止和重新配置都不用重新引導系統(tǒng)。如果用戶確實重新引導了Linux系統(tǒng),問題很可能得不到解決,甚至還會使問題更加惡化,因此在學習Linux操作系統(tǒng)時,要克服重新引導系統(tǒng)的習慣。另外,可以遠程地完成Linux中的很多工作,只要有一些基本的網絡服務在運行,就可以

7、進入到那個系統(tǒng)。而且,如果系統(tǒng)中一個特定的服務出現了問題,用戶還可以在進行故障診斷的同時讓其他服務繼續(xù)運行。當用戶在一個系統(tǒng)上同時運行多個服務的時候,這種管理方式更為重要。(5)命令區(qū)分大小寫所有的Linux命令和選項都區(qū)分大小寫。5. 什么是Linux的內核版本和發(fā)行版本?答:Linux的內核版本是指在Linus Torvalds領導下開發(fā)小組開發(fā)出的系統(tǒng)內核的版本號。內核版本號由3個數字組成,形式如下:l major:目前發(fā)布的Kernel主版本號。l minor:為次版本號,一般來說minor位為偶數的版本標明這是一個可以使用的穩(wěn)定版本,如;minor位為奇數的版本一般加入了一些新的內容

8、,不一定很穩(wěn)定,是測試版本,如2.5.11。l patchlevel:表示對當前版本的修補次數發(fā)行版本是一些組織或廠家將Linux系統(tǒng)內核與應用軟件和文檔封裝起來,并提供一些安裝界面和系統(tǒng)設定管理工具的一個軟件包的集合。目前已經有了幾百種發(fā)行版本。6. Linux系統(tǒng)的用戶有哪些?答:Linux是多用戶系統(tǒng),用戶分為根用戶(系統(tǒng)管理員)和普通用戶兩大類。每個用戶在系統(tǒng)中都有唯一的用戶名稱,該用戶名稱為用戶賬號,使用戶使用系統(tǒng)的憑證。根用戶(系統(tǒng)管理用)又稱為超級用戶,用戶賬號為root,在系統(tǒng)中擁有最高權限,主要負責系統(tǒng)的管理工作。普通用戶賬號有根用戶創(chuàng)建,命名時不能以數字和下劃線作為第一個字

9、符。普通用戶是系統(tǒng)的使用者,只在自己的目錄下工作,沒有系統(tǒng)管理權限。7. 什么是運行級別?Linux有哪些運行級別?答:所謂運行級別就是操作系統(tǒng)當前正在運行的功能級別。這個級別從0到6,具有不同的功能,在/etc/inittab 文件中定義。七個運行級別為:1) 0 - 關機(千萬不要把initdefault 設置為0 ) 2) 1 - 單用戶模式 3) 2 - 多用戶模式,但是沒有 NFS 4) 3 - 完全多用戶模式 5) 4 - 沒有用到 6) 5 - X11 7) 6 - 重啟(千萬不要把initdefault 設置為6 )8. 如何更改默認的運行級別?答:運行級別可以由超級用戶通過

10、telinit 命令來轉換,此命令可以將轉換信號傳遞給init,告訴它切換到哪個運行級別。也可以通過修改/etc/inittab文件來進行缺省運行級別的修改。9. 如何登錄和注銷?答:(1)登錄圖形界面:圖形提示用戶名+口令字符界面:輸入用戶名+口令(2)注銷圖形界面:運行“系統(tǒng)-注銷”命令字符界面:logout或ctrl+d或exit10. 如何安全關閉系統(tǒng)?答:圖形界面:系統(tǒng)關機文本界面:有shutdown、halt、reboot、init。11. 簡述X Window的原理。答:X Window系統(tǒng)由三部分構成。(1)X Server:控制實際的顯示與輸入設備(2)X Client:向X

11、 Server發(fā)出請求以完成特定的窗口操作。(3)通信通道:負責X Server與X Client之間的通信。X Server是用來控制實際的顯示設備和輸入設備(鍵盤和鼠標或其他輸入設備)的軟件。X Serve可以建立窗口、在窗口中畫圖形、圖像和文字;響應X Client的需求。它不會自己執(zhí)行動作,只有在X Client提出請求后才完成動作。每一個顯示設備只有一個唯一的X Server。X Server一般由系統(tǒng)的供應廠商提供,用戶通常無法修改。對操作系統(tǒng)而言,X Server只是一個普通的用戶程序而已,因此很容易更換一個新的版本,甚至可編譯運行由第三方廠商提供的原始程序。X Client是指

12、使用系統(tǒng)窗口功能的一些應用程序。把X下的應用程序稱作X Client,原因是它們是X Server的客戶,X Client要求服務器應它的請求完成特定的動作。X Client無法直接影響窗口或顯示,它們只能向X Server發(fā)送請求,讓X Server來完成它們的需求。用戶可以使用不同來源的X Client:一些是由系統(tǒng)提供的(例如時鐘) ,一些來自于第三方廠商,一些是用戶為了特殊應用而編寫的自己的客戶程序。通信通道是X Server和X Client之間傳遞信息的通道,憑借這個通道,X Client發(fā)送請求給X Server,而X Server借助于它向X Client回送狀態(tài)及一些其他的信

13、息。第2章 習題答案1簡述Linux文件系統(tǒng)的特點。答:Linux文件系統(tǒng)具有如下5個主要的特點。 (1)Linux文件系統(tǒng)采用樹形結構,從根目錄root (/)開始。 (2)Linux的虛擬文件系統(tǒng)允許眾多不同類型文件系統(tǒng)共存,并支持跨文件系統(tǒng)的操作。 (3)Linux的文件是無結構字符流式文件,不考慮文件內部的邏輯結構,只把文件簡單地看作是一系列字符的序列。 (4)Linux的文件可由文件擁有者或超級用戶設置相應的訪問權限而受到保護。 (5)Linux把所有的外部設備都看做文件,可以使用與文件系統(tǒng)相同的系統(tǒng)調用和函數來讀寫外部設備。2什么是虛擬文件系統(tǒng),Linux為什么采用虛擬文件系統(tǒng)?答

14、:虛擬文件系統(tǒng)是Linux 內核中的一個軟件層,用于給用戶空間的程序提供文件系統(tǒng)接口;同時,它也提供了內核中的一個抽象功能,允許不同的文件系統(tǒng)共存。虛擬文件系統(tǒng)既沒有文件,也不直接管理文件,它只是用戶與實際文件系統(tǒng)之間的接口。它并不需要保存在永久存儲介質中,只是在需要時由內核在內存內存 內存的正式叫法是內存儲器,以此來與外存儲器區(qū)分開。物理上它安裝在計算機內部,通常安裝在主板上,所以稱為內存。它的作用是供暫時存儲處理器需要處理的數據或處理后的結果,可見內存是計算機處理器的工作空間。它是處理器運行的程序和數據必須駐留于其中的一個臨時存儲區(qū)域,是計算機十分重要的部件。 中創(chuàng)建起來的一個文件系統(tǒng),所

15、以叫做虛擬文件系統(tǒng)。Linux 允許眾多不同類型的文件系統(tǒng)共存,并支持跨文件系統(tǒng)的操作,這是由于虛擬文件系統(tǒng)的存在。系統(tǒng)中所有的文件系統(tǒng)不但依賴虛擬文件系統(tǒng)共存,而且也依靠虛擬文件系統(tǒng)協(xié)同工作。3在所用的Linux系統(tǒng)上,根目錄下主要含有哪些子目錄,各子目錄的含義?答:l /bin:存放二進制可執(zhí)行命令目錄;l /home:用戶主目錄的基點目錄,默認情況下每個用戶的主目錄都設在該目錄下,如默認情況下用戶user01的主目錄就是/home/user01;l /lib:存放標準程序設計庫目錄,又叫動態(tài)鏈接共享庫目錄,目錄中存放的文件作用類似windows里的.dll文件;l /etc:存放系統(tǒng)管理

16、和配置文件目錄;l /dev:存放設備特殊文件目錄,如聲卡文件、磁盤文件等;l /usr:最龐大的目錄,存放應用程序和文件目錄,其中包含如下目錄:/usr/local/bin:存放本地增加的命令目錄;/usr/local/lib:存放本地增加的庫目錄;/usr/X11R6:存放X window目錄;/usr/bin:存放眾多的應用程序目錄;/usr/sbin:存放超級用戶的一些管理程序目錄;/usr/doc:存放linux文檔目錄;/usr/include:存放Linux下開發(fā)和編譯應用程序所需頭文件目錄;/usr/lib:存放常用的動態(tài)鏈接庫和軟件包的配置文件目錄;/usr/man:存放幫助

17、文檔目錄;/usr/src:存放源代碼目錄,Linux內核的源代碼就放在/usr/src/linux子目錄中;l /proc:虛擬目錄,是系統(tǒng)內存的映射,可直接訪問這個目錄來獲取系統(tǒng)信息;l /root:系統(tǒng)管理員的主目錄;l /var:存放系統(tǒng)產生的經常變化文件目錄,例如打印機、郵件、新聞等假脫機目錄、日志文件、格式化后的手冊頁以及一些應用程序的數據文件等等;l /tmp:存放公用臨時文件目錄。4什么是文件?Linux下主要有哪些類型文件?答:文件是指由創(chuàng)建者定義的,具有文件名的一組相關元素的集合,文件可以是文本文檔、圖片、程序等。Linux下的文件類型包括:普通文件,也稱為常規(guī)文件,是Li

18、nux中最一般格式的文件,包括系統(tǒng)文件、用戶文件和庫函數;目錄文件,是由文件目錄信息構成的特殊文件,目錄文件的內容不是應用程序和數據,而是用來檢索普通文件的目錄信息;設備文件,在Linux中輸入輸出設備被看做特殊文件,設備文件分兩類,字符設備文件和塊設備文件;符號鏈接文件,是一種特殊類型的文件,它的內容只是一個字符串,該字符串可能指向一個存在的文件也可能什么都不指向。5什么是工作目錄、用戶主目錄 ?答:工作目錄是用戶在登錄到Linux系統(tǒng)中后所處于的目錄,也稱為當前目錄。工作目錄用“.”表示,其父目錄用“.”表示??捎胮wd命令查看工作目錄,可用cd命令改變工作目錄。 用戶主目錄是系統(tǒng)管理員增

19、加用戶時創(chuàng)建的(以后也可以改變),每個用戶都有自己的主目錄。普通用戶的主目錄在/home下,root用戶作為系統(tǒng)管理員,因為身份特殊所以有自己的主目錄,在/root下。6根據下圖,圓圈代表目錄,方框代表文件,當前目錄為n,用相對路徑法和絕對路徑放分別寫出文件g、o、z的路徑。答:文件g的相對路徑為:././e/g;絕對路徑為:/e/g文件o的相對路徑為:././e/i/o;絕對路徑為:/e/i/o文件z的相對路徑為:./v/x/z;絕對路徑為:/f/n/v/x/z7舉例說明cat、more和less命令的用法。答:cat命令可以把多個文件連接后輸出到標準輸出(屏幕)或加 “ 文件名”輸出到另一

20、個文件中。如顯示當前目錄下文件testfile1的內容可用如下命令:cat testfile1。more命令顯示文本文件的內容,一次顯示一屏,滿屏后停下來,可按鍵繼續(xù)。如顯示/etc/profile文件的內容,每屏10行可用如下命令:more -10 /etc/profile。less命令與more命令相似,分屏顯示文件的內容。less命令允許用戶向前(PageUp)或向后(PageDown)瀏覽文件。如文件/etc/profile中查找字符串“HOSTNAME”,并從該字符串后顯示可以如下命令:less -p HOSTNAME /etc/profile。 8將主目錄下的文件.bashrc復制

21、到/tmp下,并重命名為bashrc,用命令實現上述過程。答:cp /.bashrc /tmp/bashrc。9.舉例說明比較文件的異同使用哪些命令?答: comm命令對兩個已經排好序的文件進行比較,comm從文件1和文件2中讀取正文行進行比較,生成三行輸出:在兩個文件中都出現的行,僅在文件1中出現的行,僅在文件2中出現的行。如比較當前目錄下的已排好序的兩文件memo1和memo2的異同用命令:comm memo.1 memo.2。 diff命令比較文本文件,并找出它們的不同。diff命令比comm命令更強大,不要求文件預先排好序。如果兩個文件完全一樣,該命令不顯示任何輸出。如比較當前目錄下的

22、未排好序的兩文件memo1和memo2的異同可用如下命令:diff memo.1 memo.2。10舉例說明怎樣對文件進行壓縮和備份?答:對文件壓縮的命令主要有bzip2和gzip;對文件備份的命令主要有tar。如用bzip2命令壓縮當前目錄下的文件memo.1:bzip2 memo.1。用gzip命令壓縮壓縮當前目錄下的文件memo.1:gzip memo.1。用tar命令將當前目錄下的文件memo.1、memo.2、memo.3備份到文件memo.tar中:tar cvf memo.tar memo.1 memo.2 memo.3。11將/home/stud1/wang目錄做歸檔壓縮,壓縮

23、后生成wang.tar.gz文件,并將此文件保存到/home目錄下,用命令實現上述過程。答:,實現此任務的tar命令格式為tar zcvf /home/wang.tar.gz /home/stud1/wang 。12在Linux下有一文件列表內容如下:(1)要完整顯示如上文件類別信息,應該使用什么命令?答:ls -l(2)上述文件列表內容的第一列內容“l(fā)rwxrwxrwx”中的“l(fā)”是什么含義?對于其它類型的文件或目錄還可能出現什么字符,它們分別表示什么含義?答;“l(fā)”表示該文件是符號鏈接文件。“-”表示該文件是普通文件,“d”表示該文件是目錄,“b”表示該文件是塊設備文件,“c”表示該文件是

24、字符設備文件。(3)上述文件列表內容的第一列內容“l(fā)rwxrwxrwx”中的第一、二、三個“rwx”分別代表什么含義?答:第一個“rwx”表示該文件的文件主人具有讀寫執(zhí)行的權限,第二個“rwx”表示該文件的主人同組用戶具有讀寫執(zhí)行的權限,第三個“rwx”表示該文件的其他用戶具有讀寫執(zhí)行的權限。(4)上述文件列表內容的第五列內容“6”是什么含義?答:表示該文件的鏈接數。(5)上述文件列表內容的最后一列內容“nurse2-nurse1”是什么含義?答:表示文件nurse2是符號鏈接文件,其鏈接到文件nurse1。13在根目錄下創(chuàng)建目錄gdc,并設置權限為gdc的主人具有讀寫執(zhí)行權限,與主人同組用戶

25、可讀寫,其它任何用戶則只能讀。答:mkdir /gdc;chmod u=rwx,g=rw,o=r。14在用戶user的主目錄下新建目錄software,并將路徑/etc下所有以h開頭的文件及目錄拷貝到software中,用命令實現上述過程。答:mkdir /home/user/software; cp /etc/h* /home/user/software15什么是符號鏈接,什么是硬鏈接?符號鏈接與硬鏈接的區(qū)別是什么?答: 符號鏈接文件包含到另一個文件的路徑名。當用戶需要在不同的目錄下用到相同的文件時,不需要在每一個目錄下都存放該文件,只要在某個固定的目錄下存放,然后在其它的目錄下用命令鏈接(

26、link)它即可,不必重復的占用磁盤空間, 硬鏈接指通過索引節(jié)點來進行的鏈接。在Linux系統(tǒng)中,內核為每一個新創(chuàng)建的文件分配一個Inode(索引結點),文件屬性保存在索引結點里,系統(tǒng)是通過索引節(jié)點(而不是文件名)來定位每一個文件。在Linux系統(tǒng)中,可以通過命令讓多個文件名指向同一索引節(jié)點,這多個文件即為硬鏈接文件。 符號鏈接可以建立對于文件和目錄的鏈接,硬鏈接只能建立對文件的鏈接;符號鏈接可以跨文件系統(tǒng),即可以跨磁盤分區(qū),硬鏈接不可以跨文件系統(tǒng);符號鏈接的文件類型位是l,鏈接文件具有新的i節(jié)點,硬鏈接的文件類型位是“-”,且硬鏈接文件的i節(jié)點同被鏈接文件相同。第3章 習題答案1vim有幾種

27、工作模式?各模式之間如何轉換?答:2進入vim有幾種方式?退出vim有幾種方式?答:進入:vi或者vi+filename退出:命令模式ZZ,末行模式:q或者q!3在命令模式下如何將光標定位到指定行?如何刪除文本中的字符、行?如何查找匹配某個模式的行?答:定位到指定行:nG。刪除字符:命令模式下x;刪除行:命令模式下dd。查找:命令模式下/+pattern。4在末行模式下如何復制一段文本?移動一段文本?替換一段文本?答:末行模式下復制:n1,n2 co n3。移動:n1,n2 m n3。替換:n1,n2 s/pattern1/pattern25舉例說明插入命令、附加命令和打開命令的區(qū)別。答:插入

28、:當前光標前插入字符。附加:當前光標后插入字符。打開:當前行下一行行首插入字符。6將文本To err is human. a computer.變成To err is human,在vim中如何操作?答:命令模式下:將光標移到computer前,按dw。7將文本There is something wrong here中的wrong刪除,在vim中如何操作?答:命令模式下:將光標移動到wrong前,5x。8使用哪個命令可以在當前工作編輯環(huán)境中向后搜索以單詞hello開始的行?答:使用命令方式下:/hello。9使用哪個命令可以將所有出現的“HELLO”替換為“hello”?答:末行命令:1,$

29、 s/hello/HELLO/gc10如何撤銷上次操作?答:命令方式下:u第4章 習題答案1. 簡述Linux系統(tǒng)引導過程。答:2. 在Linux系統(tǒng)中運行級別分為幾級?分別有何特點?答:系統(tǒng)的運行級別是系統(tǒng)運行時所處的一種狀態(tài),不同的運行級別在用戶登錄及使用上有一些不同。Linux系統(tǒng)提供7種運行級別,7種運行級別定義如下:運行級別0:系統(tǒng)停機狀態(tài),系統(tǒng)默認運行級別不能設為0,否則不能正常啟動。運行級別1:單用戶工作狀態(tài),root權限,用于系統(tǒng)維護,禁止遠程登陸。運行級別2:多用戶狀態(tài)(沒有NFS支持)運行級別3:完全的多用戶狀態(tài)(有NFS),標準運行級別,登錄后進入命令行模式。運行級別4:

30、系統(tǒng)未使用,保留。運行級別5:多用戶模式,X11控制臺,登錄后進入圖形GUI模式。運行級別6:系統(tǒng)正常關閉并重啟,默認運行級別不能設為6,否則不能正常啟動。3. 關閉系統(tǒng)的shutdown、halt、reboot、init命令各有何特點?答:(1)shutdown命令使用shutdown命令可以安全的關閉Linux系統(tǒng),shutdown命令是用shell編寫的程序,必須由超級用戶才能執(zhí)行,shutdown命令執(zhí)行后,會以廣播的形式通知正在系統(tǒng)中工作的所有用戶,系統(tǒng)將在指定的時間內關閉,請保存文件,停止作業(yè),注銷用戶。shutdown命令的語法格式:shutdown -fFhknrc(參數名稱)

31、 -t 秒數 時間 警告信息(2)halt命令halt是最簡單的關機命令,相當于shutdown h組合,halt執(zhí)行時,kill掉所有應用程序,然后調用系統(tǒng)指令sync,sync將所有內存信息通過文件系統(tǒng)寫入硬盤,然后停止內核。Halt命令格式:# halt(3)reboot命令reboot命令的執(zhí)行過程與halt基本類似,不同的是halt是用于關機,而reboot是關機后引發(fā)系統(tǒng)重啟。命令格式:# reboot(4)init命令init進程是所有進程的祖先,其進程號始終為1,init命令主要用于系統(tǒng)不同運行級之間的切換,切換的工作是立即完成的。4. Linux系統(tǒng)用戶的類型都有哪些?答:(

32、1)超級用戶(2)普通用戶(3)特殊用戶5. Linux用戶管理有哪幾種方法?答:Linux系統(tǒng)對用戶管理一般提供三種方法:(1)通過GUI方式管理(2)通過修改用戶管理相關配置文件管理(3)通過系統(tǒng)管理命令管理6. Linux用戶管理相關的文件有哪些?解釋文件內容。答:在Linux系統(tǒng)中,主要使用/etc目錄下的三個文件來維護用戶及用戶組的相關信息。(1)/etc/passwd文件,其中存放關于賬戶相關的信息(2)/etc/shadow文件,/etc/passwd的影子文件,來存放用戶的加密口令。(3)/etc/group文件,其中存放用戶組相關的信息資料。7. 使用useradd命令添加用

33、戶student,然后使用userdel刪除該用戶。答:useradd studentpasswd studentuserdel student8. Linux系統(tǒng)中設備如何標識?答:用戶是通過文件系統(tǒng)與設備接口的,所有設備都作為設備文件,設備文件的文件名一般由兩部分構成,第一部分是主設備號,第二部分是次設備號。其中,主設備號代表設備的類型,可以唯一地確定設備的驅動程序和界面,如hd表示IDE硬盤,sd表示SCSI硬盤,tty表示終端設備,lp表示打印機等;次設備號代表同類設備中的序號,如hda表示IDE主硬盤,hdb表示IDE從硬盤,tty0表示編號為0的終端,lp0表示第一個打印機等。9.

34、 如何進行u盤掛載?卸載?答:掛載u盤設備(假設u盤標識為sdb1)到/mnt/usb目錄。#mount /dev/sdb1 /mnt/usb10. 什么是進程?答: “進程”(Process)來描述程序動態(tài)執(zhí)行過程。11. 練習使用進程管理命令對進程進行查看、調度、終止。答:ps,at,kill12. Linux系統(tǒng)的日志分為哪幾類?答:Linux系統(tǒng)中的有三個主要的日志子系統(tǒng):(1)連接時間日志子系統(tǒng)(2)進程統(tǒng)計日志子系統(tǒng)(3)錯誤日志子系統(tǒng)13. Linux系統(tǒng)中主要的日志文件有哪些?解釋其文件內容。答:(1)/var/log/dmesg/var/log/dmesg文件保存內核啟動的信

35、息,在這個文件里,用戶可以看到內核和各種驅動程序的加載,加載硬件驅動時系統(tǒng)也會顯示出相應的信息。(2)/var/log/messages/var/log/messages文件是Linux系統(tǒng)中最全面的log文件,它記錄了內核和應用程序發(fā)生錯誤時的信息和系統(tǒng)運行的一般信息。第5章 習題答案1. 為什么Red Hat Enterprise Linux更適合于做網絡操作系統(tǒng)?答:Linux應網絡而生,先天最大的優(yōu)點在于其作為服務器的強大功能。Red Hat Enterprise Linux更是小紅帽公司的旗艦產品,面向企業(yè)用戶,針對網絡應用做出優(yōu)化,可靠性,安全性高。作為主流的Linux網絡操作系統(tǒng)

36、,現在已成為Linux服務器應用市場的主流。2. Ping命令的返回值有哪些?各有什么含義?答:有三個返回值值icmp_seq,ttl,time。icmp_seq表示當前是第幾個icmp包,ttl表示最大生存周期(time to live),time表示這個icmp包從發(fā)出到返回所花的時間。例如:icmp_seq=1 ttl=64 time=2.03 ms。3. 使用Nslookup 命令進行域名解析的全過程?答:nslookup是DNS客戶端,當在本機終端輸入Nslookup 之后,本機先發(fā)DNS查詢數據包到本機所指定的DNS服務器,DNS服務器收到查詢包后進行解析,如果本地網絡內的DNS服

37、務器無此條記錄,本地DNS服務器會向互聯(lián)網上的其它DNS服務器提出解析請求,得到最終結果,如沒有就返回錯誤。本地DNS在緩存此條記錄的同時把此解析結果返回給本機。本機得到了的真實IP或者是無法解析的結果。4. NFS和samba有什么異同點?答:兩者都是為了實現網絡文件共享,不同點就是NFS是文件系統(tǒng),samba是網絡協(xié)議;NFS只能用于Unix,Linux類系統(tǒng)內部的共享,而samba還可以在Unix,Linux類系統(tǒng)與windows系統(tǒng)之間實現文件共享。5. 有哪幾種虛擬Web主機技術,各起什么作用?答:有三種:基于域名,基于IP地址和基于端口號?;谟蛎梢詫崿F多個域名分別指向同一臺主機

38、上不同WEB應用;基于IP可以給主機設置多個不同的IP區(qū)別不同的WEB應用;基于端口可以讓主機通過不同的端口來區(qū)分不同的WEB應用。6. 郵件服務器有哪幾種服務器?哪些是發(fā)郵件,哪些是收郵件的?答:郵件服務器有三種:smtp,pop,imap。Smtp是發(fā)郵件服務器,pop,imap是收郵件服務器,其中pop和imap相比允許將郵件收到本地客戶端。7. 練習郵件服務器的配置過程,查找資料學會outlook郵件客戶端的設置和使用?答:以用outlook設置test這個郵箱為例,第一步得了解收發(fā)郵件服務器域名或者地址,啟動outlook填入用戶名和郵箱地址,設置pop服務器為,設置smtp服務器為

39、下一步下一步。最后別忘了在工具-帳戶里選中此郵箱并且右鍵屬性設置其smtp服務器需要驗證,不然會導致發(fā)郵件發(fā)不出去。8. 練習FTP服務器的配置過程,學會字符界面下ftp命令連接服務器上下載文件的基本使用方法。答:以通過ftp命令連接為例:先在cmd中輸入ftp進入到ftp命令行狀態(tài)。輸入open 回車連接上服務器,在提示下輸入用戶名anonymous,密碼隨便,成功后輸入dir查看遠程服務器上的文件目錄,用cd 目錄名稱的方式進入到下一級目錄,用cd .回到上一層目錄,用pwd查看當前在服務器的那個目錄下,用lcd查看本地當前目錄和改變本地目錄。9. 查找資料了解什么是LAMP服務器?它的需

40、要哪些程序?答:Linux+Apache+Mysql+Perl/PHP/Python一組常用來搭建動態(tài)網站或者服務器的開源軟件,本身都是各自獨立的程序,但是因為常被放在一起使用,擁有了越來越高的兼容度,共同組成了一個強大的Web應用程序平臺。隨著開源潮流的蓬勃發(fā)展,開放源代碼的LAMP已經與J2EE和.Net商業(yè)軟件形成三足鼎立之勢,并且該軟件開發(fā)的項目在軟件方面的投資成本較低,因此受到整個IT界的關注。從網站的流量上來說,70%以上的訪問流量是LAMP來提供的,LAMP是最強大的網站解決方案。要安裝LAMP服務器步驟是要依次安裝apache、mysql和PHP。第6章 習題答案1什么是she

41、ll?Linux的shell主要有哪幾種類型?答:Shell是一個用戶接口,是一個命令解釋器,除此之外,shell命令本身還可以作為程序設計語言,將多個shell命令組合起來,編寫能實現系統(tǒng)或用戶所需功能的程序。Shell類型:bash,bsh,csh,tcsh,ksh,ash,zsh2如何編輯一個shell腳本、shell腳本的執(zhí)行方式有哪些?答:Vi+shellscriptname執(zhí)行方式:(1)為腳本文件加上可執(zhí)行權限,然后在命令行直接輸入shell腳本文件名執(zhí)行。(2)sh shell腳本名(3). shell腳本名3shell變量都有哪些?答:在shell編程中可以使用四種變量:用戶

42、自定義變量、環(huán)境變量、位置變量和特殊變量。4shell中都有哪些引號,他們之間的區(qū)別是什么?答:在shell中引號分為三種:單引號,雙引號和反引號。 單引號 () 由單引號括起來的字符都作為普通字符出現。特殊字符用單引號括起來以后也會失去原有意義,而只作為普通字符解釋。雙引號(“)由雙引號括起來的字符,除“$”、“”、“”、和“”這幾個字符仍是特殊字符并保留其特殊功能外,其余字符作為普通字符對待。反引號()反引號括起來的字符串被shell解釋為命令,在執(zhí)行時,shell首先執(zhí)行該命令,并以它的標準輸出結果取代整個反引號(包括兩個反引號)部分。5一個shell腳本,內容如下:#!/bin/bas

43、h# finduser-尋找是否有第一個參數指定的用戶登錄if $# -ne 1 thenecho usage: finduser username &2exit 1 fi who | grep $1 驗證該腳本執(zhí)行結果。答:6一個shell腳本內容如下:echo “enter username: ”read useruntil who | grep “$user” /dev/nulldosleep 30done驗證該腳本執(zhí)行結果。答:7一個shell腳本,內容如下:#!/bin/bashif $# -ne 2 then echo “usage: $0 mdays size ” 1&2 exi

44、t 1fiif $1 lt 0 o $1 gt 30 then echo “mdays is out of range” exit 2fiif $2 le 20 then echo “size is out of range” exit 3fifind / -xdev mtime $1 size +$2 print驗證該腳本執(zhí)行結果。答:從根目錄開始查找所有$1小時前修改,大小大于$2塊的文件。8一個shell腳本,內容如下:echo n “which color do you like?”read colorcase “$color” inBbl?) echo I feel $color e

45、cho The sky is $color;Ggree*)echo $color is for trees echo $color is for seasick;red | orange)echo $color is very warm!;*)echo no such color as $color;esacecho “out of case”驗證該腳本執(zhí)行結果。答:9設計一個shell腳本:求命令行上所有整數和。答:sum=0while $# != 0 do let sum=sum+$1 shiftdoneecho “the sum of arguments is $sum”10設計一個sh

46、ell腳本:判斷當前工作目錄下所有的文件類型,如果是目錄顯示目錄名,如果是文件查看文件內容,如果都不是,顯示提示信息。答:for file in ./*do if -d “$file” then ls “$file” elif -f “file” then more “$file” else echo “$fiel is not a directory or a regular file.s” done第7章 習題答案1gcc編譯過程一般分為哪幾個階段?各階段的主要工作是什么?答:gcc編譯過程一般分為預處理、編譯、匯編、鏈接四個階段,各階段的主要工作如下:(1)預處理階段在該階段,編譯器將上

47、述代碼中的stdio.h編譯進來。GCC首先調用cpp進行預處理,根據以字符#開頭的命令修改原始的C程序。如hello.c中#include 指令告訴預處理器讀系統(tǒng)頭文件stdio.h的內容,并把它直接插入到程序文本中去。結果就得到經過編譯預處理的源代碼hello.i。但實際工作中通常不用專門生成這種文件,因為基本上用不到。若非要生成這種文件不可,可以利用下面的示例命令。$gcc -E hello.c -o hello.i (2)編譯階段GCC調用cc1檢查代碼的規(guī)范性,是否有語法錯誤等,以確定代碼實際要做的工作,在檢查無誤后,把代碼翻譯成匯編語言,生成匯編處理后的匯編代碼hello.s。這個

48、階段對應的GCC命令如下所示。$gcc -S hello.i -o hello.s 匯編語言是非常有用的,它為不同高級語言不同編譯器提供了通用的語言。如:C編譯器和Fortran編譯器產生的輸出文件用的都是一樣的匯編語言。(3)匯編階段GCC調用as把編譯階段生成的hello.s文件轉成編譯后的目標文件hello.o,但hello.c中所引用的其他文件中函數(如printf)的內存位置尚未定義。這個階段對應的GCC命令如下所示:$gcc -c hello.s -o hello.o (4)鏈接階段GCC調用ld將程序的目標文件與所需的所有附加的目標文件連接起來,最終生成可執(zhí)行文件。如GCC找到h

49、ello.c所調用的函數printf函數庫所在位置/user/lib,把函數的實現鏈接進來,生成最終的可執(zhí)行文件hello??梢岳孟旅娴氖纠钔瓿?。$gcc hello.o -o hello 如果我們不想生成中間的各類型文件,可用如下命令由源文件直接編譯鏈接成可執(zhí)行文件。$gcc hello.c -o hello2簡述GNU gdb的功能。答:gdb是Linux系統(tǒng)中一個功能強大的GNU調試程序,它可以調試C和C+程序,使程序開發(fā)者在程序運行時觀察程序的內部結構和內存的使用情況。gdb提供如下功能:(1)運行程序,設置所有的能影響程序運行的參數和環(huán)境;(2)控制程序在指定的條件下停止運行;

50、 (3)當程序停止時,可以檢查程序的狀態(tài);(4)修改程序的錯誤,并重新運行程序; (5)動態(tài)監(jiān)視程序中變量的值; (6)可以單步逐行執(zhí)行代碼,觀察程序的運行狀態(tài);(7)分析崩潰程序產生的core文件。3用gdb調試下面的程序。#include #include #includemain () char my_string = hello there; my_print (my_string); my_print2 (my_string); my_print (char *string) printf (The string is %sn, string); my_print2 (char *s

51、tring) char *string2; int size, i; size = strlen (string); string2 = (char *) malloc (size + 1); for (i = 0; i size; i+) string2size - i = stringi; string2size+1 = 0; printf (The string printed backward is %sn, string2);答:gcc -g -o greeting greeting.c 這個程序執(zhí)行時顯示結果: The string is hello there The strin

52、g printed backward is 輸出的第一行是正確的, 但第二行打印出的東西并不是我們所期望的。我們所設想的輸出應該是: The string printed backward is ereht olleh。 由于某些原因, my_print2 函數沒有正常工作。用gdb 看調試程序, 先鍵入如下命令: gdb greeting-注意: 記得在編譯 greeting 程序時把調試選項打開. - 用gdb的run命令運行greeting。(gdb) runStarting program: /root/greetingThe string is hello thereThe stri

53、ng printed backward isProgram exited with code 040 這個輸出和在 gdb 外面運行的結果一樣。 問題是,為什么反序打印沒有工作? 為了找出癥結所在, 在 my_print2 函數的 for 語句后設一個斷點, 具體的做法是在 gdb 提示符下鍵入 list 命令三次, 列出源代碼:(gdb) list(gdb) list(gdb) list 第一次鍵入 list 命令的輸出如下: 如果按下回車, gdb 將再執(zhí)行一次 list 命令, 給出下列輸出: 再按一次回車將列出 greeting 程序的剩余部分: 根據列出的源程序, 你能看到要設斷點的地方在第21行, 在 gdb 命令行提示符下鍵入如下命令設置斷點: (gdb) break 21 gdb 將作出如下的響應: 現在再鍵入 run 命令, 將產生如下的輸出: 你能通過設置一個觀察 string2size - i 變量的值的觀察點來看出錯誤是怎樣產生的, 做法是: 現在可以用 next 命令來一步步的執(zhí)行 for 循環(huán)了: (gdb) next經過第一次循環(huán)后, gdb 告訴我們 string2size - i 的值是 h. gdb 用如下的顯示來告訴你這個信息: 這個值正是期望的,后來的數次循環(huán)的結果都是正確的。當

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論