天天看點

Linux 鳥叔的私房菜 基礎學習篇(第四版) 課後習題答案

文章目錄

  • ​​第零章 計算機概論​​
  • ​​第一章 Linux是什麼與如何學習​​
  • ​​第二章 主機劃分與磁盤分區​​
  • ​​第三章 安裝CentOs 7.x​​
  • ​​第四章 首次登陸與線上求助​​
  • ​​第五章 Linux的檔案權限與目錄配置​​
  • ​​第六章 Linux檔案與目錄管理​​
  • ​​第七章 Linux磁盤與檔案系統管理​​
  • ​​第八章 檔案與檔案系統的壓縮(答案暫缺)​​
  • ​​第九章 vim程式編輯器​​
  • ​​第十章 認識與學習BASH​​
  • ​​第十一章 正規表達式與檔案格式化處理​​
  • ​​第十二章 學習shell腳本​​
  • ​​第十三章 Linux賬号管理與ACL權限設定​​
  • ​​第十四章 磁盤配額(Quota)與進階檔案系統管理​​
  • ​​第十五章 計劃任務(crontab)​​
  • ​​第十六章 程序管理與SELinux初探​​
  • ​​第十七章 認識系統服務(daemon)​​
  • ​​第十八章 認識與分析日志檔案​​
  • ​​第十九章 啟動流程、子產品管理與Loader​​
  • ​​第二十章 基礎系統設定與備份政策​​
  • ​​第二十一章 基礎系統設定與備份政策(答案暫缺)​​
  • ​​第二十二章 軟體安裝PRM、SPRM與YUM​​
  • ​​第二十三章 X Window設定介紹​​
  • ​​第二十四章 Linux核心編譯與管理​​

第零章 計算機概論

1.根據本章中的說明,請找出目前全世界跑得最快的超級電腦的:(1)系統名稱;(2)所在位置;(3)使用的CPU型号與規格;(4)總共使用的CPU數量;(5)全功率運作1天時,可能使用的電費。

解:(1)Summit;(2)美國;(3)IBM Power9,22核心,主頻為3.07GHZ,總計使用了103752顆,核心數量達到2282544個;(4)2CPU + 6GPU;(5)Summit的功耗為8805.5kw,按照0.5/度的電價,每日需要花費105666元。

2.利用軟體:假設你不想拆開主機機箱,但想了解你的主機内部各元件的資訊時,該如何是好呢?如果使用的是Windows作業系統,可使用CPU-Z這個軟體,如果是Linux環境下,可以使用cat /proc/cpuinfo及使用lspci等指令來檢視各項元件的型号。

解:硬體資訊如下。

CPU:Inter Core i7 5500U;2.4GHZ

記憶體:8GBytes;DDR3

顯示卡:PCI Express 3.0;2GBytes

主機闆:ASUSTEK COMPUTER INC;Intel Broadwell-u(北橋),Intel Broadwell-u PCH L-P(南橋);American Megatrends Inc;內建了網卡和聲霸卡。

硬碟:SATA3;128GB;讀483MB/S,寫136MB/S;6GBPS

3.找出第四代Intel i7 4790 CPU的:(1)與南橋溝通的DMI帶寬有多大?(2)二級緩存的容量有多大?(3)最大PCIe通道數量有多少?并據以說明主機闆上面PCIe插槽的數量限制。

解:(1)DMI2 56T/S;(2)三級緩存 8MB;(3)16條PCIe 通道。

4.找出Intel SSD 520固态硬碟相關的功能清單,了解:(1)連接配接接口;(2)最大讀寫速度,以及(3)最大随機讀寫資料(IOPS)等資訊。

解:(1)SATA3(6Gbps);(2)讀:280MB/S(SATA2),550MB/S(SATA3);寫:260MB/S(SATA2),520MB/S(SATA3);(3)IOPS的值為:6187(讀),17740(寫)。

第一章 Linux是什麼與如何學習

實踐題部分

1.請上網找出目前Linux核心的最新穩定版與開發中版本的版本号碼,請注明查詢的日期與對應的版本。

解:(1)最新穩定版:5.0.2,2019-3-13(2)開發中版本:5.0,2019-3-3。

2.請上網找出Linux吉祥物企鵝的名字,以及最原始的圖形檔案。

解:企鵝的名字為TUX(tuxedo)

3.請上網找出Andriod與Linux核心版本間的關系。

解:關系如下

Android Version | API Level |Linux Kernel in AOSP

1.5 Cupcake |3 |2.6.27

1.6 Donut |4 |2.6.29

2.0/1 Eclair |5-7 |2.6.29

2.2.x Froyo |8 |2.6.32

2.3.x Gingerbread |9, 10 |2.6.35

3.x.x Honeycomb |11-13 |2.6.36

4.0.x Ice Cream San|14, 15 |3.0.1

4.1.x Jelly Bean |16 |3.0.31

4.2.x Jelly Bean |17 |3.4.0

4.3 Jelly Bean |18 |3.4.39

4.4 Kit Kat |19, 20 |3.10

5.x Lollipop |21, 22 |3.16.1

6.0 Marshmallow |23 |3.18.10

7.0 Nougat |24 |4.4.1

7.1 Nougat |25 |4.4.1 (To be updated)

簡答題部分

1.你在你的主機上面安裝了一塊網卡,但是開機之後,系統卻無法使用,你确定網卡是好的,那麼可能出現的問題出在哪裡?該如何解決?

解:硬體問題——網卡的PCI插槽沒有插好,重新插好即可。軟體問題——①沒有禁用主機闆自帶網卡,導緻新裝網卡無法識别,禁用即可;②網卡過新,原有網卡驅動程式版本老舊導緻系統無法識别,更新驅動程式即可;③網卡驅動未安裝,安裝驅動即可。

2.一個作業系統至少要能夠完整控制整個硬體,請問作業系統應該要控制硬體的哪些單元?

解:運算單元、控制單元、寄存器組、總線接口單元、輸入/輸出單元。作業系統隻是在管理整個硬體資源,包括CPU、記憶體、輸入輸出裝置及檔案系統,是以作業系統要控制的就是這些硬體的内部單元。

3.我在Windows上面玩的遊戲可不可以拿到Linux去玩?

解:不能。遊戲軟體也是個應用程式,應用程式是參考作業系統提供的開發接口所開發出來的軟體,與作業系統的關系相當密切。

4.Linux本身僅是一個核心與相關的核心工具而已,不過,它已經可以驅動所有的硬體,是以,可以算是一個很陽春的作業系統了。經過其他應用程式的開發之後,被整合成為Linux distributions。請問衆多的distributions之間有何異同?

解:各大Linux Distributions的主要異同在于支援标準。“Linux kernel + Software + Tools + Documentation”組成的可完整安裝的程式被稱為Linux distributions。每一個Linux distributions使用的kernel都是http://www.kernel.org所釋出的,而他們所選擇的軟體幾乎都是目前很知名的軟體,重複性相當高。此外,為了讓所有的Linux distributions開發不至于差異太大,且讓這些開發商在開發的時候有所依據,還有Linux Standard Base(LSB)等标準來規範開發者,以及目錄架構的File system Hierarchy Standard(FHS)标準規範,它們的唯一差别可能就是該開發者自家所開發出來的管理工具以及套件管理的模式。是以說,基本上,每個Linux distributions除了架構的嚴謹度與選擇的套件内容外,其實差異并不太大。

5.UNIX是誰寫出來的?GUN項目是誰發起的?

解:UNIX是Thompson與Ritchie寫出,與1973年正式釋出;GUN項目由Richard Mathew Stallman在1984年發起。

6.GUN的全名為何?它主要由哪個基金會支援?

解:GUN全名為GUN’s not UNIX。主要由FSF基金會支援。

7.何謂多使用者(Multi-user)多任務(Multi-task)?

解:多使用者是可以在系統上建立多個使用者,且多個使用者可以同時使用系統資源;對于多任務,理論上一個CPU在一個時間内僅能進行一個程式,多任務,即計算機對于多個任務,會在不同的程式間切換,讓使用者感覺多個任務是在同步進行(現在的多核心計算機可以實作真正的多任務同時處理)。Linux是一個真實的、完整的多使用者多任務作業系統,可以在Linux上建立多個使用者,而多個使用者可以在同一時間内登入同一個系統執行不同的任務而互不影響。

8.簡單說明GUN General Public License(GPL)與Open Source的精神。

解:1. GPL的授權之軟體,乃為自由軟體(Free software),任何人皆可擁有他; 2.開發 GPL 的團體(或商業企業)可以經由該軟體的服務來取得服務的費用; 3.經過 GPL授權的軟體,其屬于 Open source的情況,是以應該公布其原始碼; 4.任何人皆可修改經由 GPL授權過的軟體,使符合自己的需求; 5.經過修改過後 Open source應該回饋給 Linux社群。

9.什麼是POSIX?為何說Linux使用POSIX時對于開發有很好的影響?

解:POSIX是一種标準規範,主要針對在 Unix作業系統上面跑的程式來進行規範。若你的作業系統符合 POSIX,則符合 POSIX的程式就可以在你的作業系統上面運作。 Linux由于支援 POSIX,是以很多 Unix上的程式可以直接在 Linux上運作,是以程式的移植相當簡易!也讓大家容易轉換平台,提升 Linux的使用率。

10.簡單說明Linux成功的因素

解:①穩定的系統②免費或少許費用③安全性、漏洞的快速修補④多任務、多使用者⑤使用者與使用者組的規劃⑥相對比較不耗資源的系統⑦适合需要小核心程式的嵌入式系統⑧整合度佳且多樣的圖形使用者界面。簡單來說,完全免費,開放源碼遵循統一的開發标準,龐大的開發團隊,繼承與UNIX的優秀基礎等原因造就了Linux的成功。

第二章 主機劃分與磁盤分區

實踐題部分

1.請分析你的家用計算機,以你的硬體裝置來計算可能産生的耗電量,最終再以計算出來的總瓦數乘上你可能運作的時間,以推估出一年你可能會在你的這台主機上面花費的時間。

解:(1)總瓦數:300w(2)運作的時間:3h/day(3)電費:0.6/度(4)一年大約要花365度電,大約花費為219元。

簡答題部分

1.一台計算機主機是否隻要CPU夠快,整體速度就會提高?

解:不是。在性能方面并非隻考慮CPU的能力而已,速度的快慢與整體系統的最慢的那個裝置有關。CPU再快,其他硬體無法配合CPU的高速處理能力,也無法發揮CPU的最佳性能,計算機整體性能就會卡在最慢的硬體的瓶頸上。

2.Linux對于硬體的要求需要考慮的是什麼?是否一定要很高的配置才能安裝Linux?

解:Linux對于硬體的要求因計算機的用途而定,且Linux對于硬體的最低要求較其它系統都低。是以配置不一定要高,因地制宜即可。

3.一台好的主機在安裝之前,最好先進行規劃,哪些是必定需要注意的Linux主機規劃事項?

解:規劃主機的定位與角色。主機是否開放網絡服務,是否需要大量運算,是否需要很大的硬碟容量來服務用戶端的使用,套間選擇安裝等都是要考慮的内容。

4.請寫下下列配置在Linux中的裝置檔案名:IDE硬碟、CDROM、列印機、軟驅、網卡。

解:IDE硬碟:/dev/hd[a-d];

CDROM:/dev/cdrom;

列印機:25針為/dev/lp[0-2],USB為/dev/usb/lp[0-15];

軟驅:/dev/fd[0-1];

網卡:/dev/eth[0-n]。

5.目前在個人計算機上面常見的硬碟與主機闆的連接配接接口有哪兩個?

解:IDE和SATA。IDE為老式接口,目前市面上的計算機基本都采用了SATA接口。

第三章 安裝CentOs 7.x

1.Linux的目錄配置以“樹狀目錄”來配置,至于磁盤分區(partition)則需要與樹狀目錄相配合!請問,在預設的情況下,在安裝的時候系統會要求你一定要分出來的兩個分區是什麼?

解:/和swap兩個分區。

2.預設使用MBR分區方式的情況下,在第二塊SATA磁盤中,劃分六個有用的分區(具有檔案系統),此外,已知有兩個主分區,請問六個分區的檔案名?。

解:(1)P+P+E

(2)/dev/sdb1 /dev/sdb2 /dev/sdb5 /dev/sdb6 /dev/sdb7 /dev/sdb8

3.什麼是GMT時間?它與中原標準時間差幾個小時?。

解:GMT為格林尼治時間,與中原標準時間差8小時。

4.軟體磁盤陣列的裝置檔案名是什麼?

解:/dev/md[0-15]

5.如果我的磁盤分區是使用MBR分區方式,且設定了4個主分區,但是磁盤還有空間,請問我還能不能使用這些空間?

解:不能。由于主分區與擴充分區最多隻能有四個,其中擴充分區最多隻能有一個,如果想要劃分出四個分區且還要有預留剩餘空間,四個主分區是不适合的,因為,即使硬碟還有剩餘容量,無法再繼續劃分。

第四章 首次登陸與線上求助

情景仿真題

1.我們在指令行界面,例如tty2裡面看到的歡迎界面,就是在那個login:之前的頁面(CentOS Linux 7 … )是怎麼來的?

目标:了解到終端的歡迎資訊是怎麼來的?

前提:歡迎資訊的内容,記錄在/etc/issue當中的。

需求:利用man找到該檔案當中的變量内容。

情景仿真題的解決步驟:

歡迎界面是在/etc/issue檔案中,你可以使用【nano /etc/issue】看看該檔案的内容(注意,不要修改這個檔案内容,看完就離開),這個檔案的内容有點像下面這樣:

\S

Kernel \r on an \m

2.與tty3比較之下,發現到核心版本使用的是\r而硬體等級則是\m來取代,這兩者代表的意義是什麼?由于這個檔案的檔案名是issue,是以我們使用【man issue】來檢視這個檔案的格式;

通過上一步的查詢我們會知道反斜杠(\)後面接的字元是與agetty(8)及mingetty(8)有關,故進行【man agetty】這個指令的查詢。

由于反斜杠(\)的英文為escape,是以在上個步驟的man環境中,你可以使用【/escape】來查找各反斜杠後面所接字元所代表的意義是什麼。

請自行找出:如果我想要在/etc/issue檔案内表示【時間(localtime)】與【tty号碼(如tty1,tty2的号碼)】的話,應該要找到哪個字元來表示(通過反斜杠的功能)?

解:\t與\l。

簡答題部分

1.簡單查詢一下,Physical console、Virtual console、Terminal的說明是什麼?

解:(1)基于實體裝置的連接配接,稱為實體終端(Pysical Terminal),也可以稱為實體控制台(Pyhsical console)。

(2)一個實體終端(實體控制台),可以支援多個虛拟終端(或虛拟控制台 virtual console)。

(3)随着X視窗系統的廣泛使用,虛拟控制台的使用需求也越來越少,控制台程式可以在終端模拟器(terminal emulator)中運作,這些被稱為僞終端(Pseudo Terminal)。

2.請問如果我以指令行模式登入Linux主機時,我有幾個終端接口可以使用?如何切換各個不同的終端接口?

解:有6個終端接口可以使用切換方式為[Ctrl]+[Alt]+[F1F6]。Linux預設情況下會提供6個terminal,分别命名為tty1tty6。

3.在Linux系統中,/VBird與/vbird是否為相同的檔案?

解:不同。Linux系統區分大小寫。

4.我想要知道date如何使用,應該如何查詢?

解:兩種方式:man date(UNIX like通用),info date(Linux)。

5.我想要在今天的1:30讓系統自己關機,要怎麼做?

解:shutdown -h 1:30

6.如果Linux的X Window突然發生問題而挂掉,但Linux本身還是好好的,那麼我可以按下哪三個按鍵來讓X Window重新開機?

解:[Ctrl]+[Alt]+[Backspace]

7.我想要知道2010年5月2日是星期幾?該怎麼做?

解:cal 5 2010;調出2010年5月月曆檢視。

8.使用man date找出顯示目前的日期與時間的參數,顯示方式類似:2015/10/16-20:03。

解:date +%Y/%m/%d-%H:%M

9.若以X Window為預設的登入方式,那請問如何進入Virtual console呢?

解:[Ctrl]+[Alt]+[F1~F6]。

10.簡單說明在bash shell的環境下,[Tab]按鍵的用途?

解:在指令行模式下[Tab]按鍵具有“指令補全”與“檔案補齊”的功能。[Tab]接在一串指令的第一個指令的後面為“指令補全”,接在一串指令的第二個指令以後時則為“檔案補齊”。

11.如何強制終端一個程式的進行?(利用按鍵,非利用kill指令)

解:[Ctrl]+[C]

12.Linux提供相當多的線上查詢,稱為man page,請問,我如何知道系統上有多少關于passwd的說明?可以使用其他的程式來替代man的這個功能嗎?

解:利用man -f passwd來查詢。在Linux上可以用info passwd指令來替代man的線上查詢passwd的功能。

13.在man page顯示的内容中,指令(或檔案)後面會接一組數字,這個數字若為1,5,8,表示該查詢的指令(或檔案)意義是什麼?

解:代表意義為:1)使用者在shell環境中可以操作的指令或可執行檔案;5)配置檔案或者是某些檔案的格式8);系統管理者能夠使用的管理指令。

14.man page顯示的内容的檔案是放置在哪些目錄中?

解:不同的Linux distributions可能會有所不同,通常是放在/usr/share/man這個目錄裡。

15.請問【foo 1 -foo2 foo3 foo4】這一串指令中各代表什麼意義?

解:foo1一定是指令, -foo2則是foo1這個指令的選擇項目參數, foo3與foo4則不一定,可能是foo1的參數設定值,也可能是額外加入的parameters。

16.當我輸入man date時,在我的終端卻出現一些亂碼,請問可能的原因是什麼?如何修正?

解:亂碼是由語系導緻。可以在終端輸入echo &LANG指令檢視目前使用的語言,再輸入LANG=en_CN.UTF-8修改語言(臨時修改)即可。

17.我輸入這個指令“ls -al /vbird”,系統回複我這個結果:“ls /vbird: No such file or directory”,請問發生了什麼事?

解:沒有/vbird這個檔案或目錄。

18.我想知道目前系統有多少指令是以bz為開頭的,可以怎麼做?

解:輸入 bz[Tab][Tab]檢視。

19.承上題,在出現的許多指令中,請問bzip2是幹嘛用的?

解:使用man bzip2指令檢視可以知道是用來壓縮與解壓縮檔案用的。

20.在終端裡面登入後,看到的提示符KaTeX parse error: Expected 'EOF', got '#' at position 2: 與#̲有何不同?平時操作應該使用哪一…則代表一般身份使用者。依據提示字元的不同,我們可以約略判斷登入者身份。一般來說,建議日常操作使用一般身份使用者登入,即是$。

21.我使用dmtsai這個賬号登入系統了,請問我能不能使用reboot來重新開機?若不能,請說明原因,若可以,請說明指令如何執行?

解:理論上reboot僅能讓root運作。不過,如果dmtsai是在主機前面以圖形接口登陸時,則dmtsai還是可以透過圖形接口功能來關機。

第五章 Linux的檔案權限與目錄配置

1.早期的UNIX系統檔案名最多允許14個字元,而新的UNIX與Linux系統中,檔案名最多可以容許幾個字元?

解:由于使用Ext2/Ext3檔案系統,單一檔名可達 255字元,完整檔案名 (包含路徑)可達 4096 個字元。

2.當一個一般檔案權限為 -rwxrwxrwx則表示這個檔案的意義是什麼?

解:任何人皆可讀取、修改或編輯、可以執行,但不一定能删除。

3.我需要将一個檔案的權限改為-rwxr-xr—,請問該如何執行指令?

解:chmod 754 filename或 chmod u=rwx,g=rx,o=r filename

4.若我需要更改一個檔案的所有者與使用者組,該用什麼指令?

解:chown, chgrp

5.請問下面的目錄主要放置什麼資料?

/etc/, /etc/init.d, /boot, /usr/bin, /bin, /usr/sbin, /sbin, /dev, /var/log

解:/etc/:系統主要的配置檔案幾乎都放置在這個目錄内,例如人員的賬号密碼檔案、各種服務的起始檔案等;/etc/init.d:所有服務的預設啟動腳本都是放在這個目錄中;/boot:主要放置在開機會使用到的檔案,包括Linux核心檔案以及開機菜單與開機所需配置檔案等;/usr/bin:絕大部分的使用者可使用指令都在這裡,與/bin不同的是這些指令與開機過程無關;/bin:主要放置在開機時,以及進入單使用者維護模式後還能夠被操作的指令;/usr/sbin:非系統正常運作所需要的系統指令,最常見的就是某些網絡伺服器軟體的服務指令;/sbin:主要放置開機過程中所需要的指令,裡面包括了開機、修複、還原系統所需要的指令,隻有系統管理者能使用;/dev:在Linux系統上,任何裝置與接口裝置都是以檔案的形式存在與這個目錄當中;/var/log:主要放置登入檔案,記錄登入資訊。

6.若一個檔案的檔案名開頭為“.”,例如.bashrc這個檔案,代表什麼?另外,如何顯示出這個檔案名與它的相關屬性?

解:有“.”為開頭的為隐藏檔案,需要使用 ls -a這個 -a的選項才能顯示出隐藏檔案的内容,而使用 ls -al才能顯示出屬性。

第六章 Linux檔案與目錄管理

1.什麼是絕對路徑與相對路徑?

解:對于Linux,絕對路徑的寫法為由 /開始寫,相對路徑則不由 /開始寫。此外,相對路徑為相對于目前工作目錄的路徑。

2.如何更改一個目錄的名稱?例如由/home/test變為/home/test2?

解:mv /home/test /home/test2 。

3.PATH這個環境變量的意義是什麼?

解:這個是用來指定運作檔運作的時候,指令搜尋的目錄路徑。

4.umask有什麼用處與優點?

解:umask用來指定目前使用者在建立檔案或目錄時候的權限預設值,是以它可以增減一些權限,是以,适當的定義 umask有助於系統的安全,因為他可以用來建立預設的目錄或檔案的權限。

5.當一個使用者的umask分别為033與044,它所建立的檔案與目錄的權限是什麼?

解:在 umask為 033時,則預設是拿掉 group與 other的 w(2)x(1)權限,是以權限就成為“檔案 -rw-r–r--;目錄 drwxr–r-- ”而當 umask 044時,則拿掉 r的屬性,是以就成為“檔案 -rw–w--w-,目錄 drwx-wx-wx”。

6.什麼是SUID?

解:SUID是一種檔案特殊權限,SUID有這樣的限制于功能:SUID權限僅對二進制程式有效;執行者對于該程式需要具有x的可執行權限;本權限僅在執行改程式的過程中有效;執行者将具有該程式所有者的權限。

7.當我要查詢/usr/bin/passwd這個檔案的(1)傳統權限、(2)檔案類型與(3)檔案的隐藏屬性,可以使用什麼指令來查詢?

解:(1)(2)ll -d /usr/bin/passwd

(3)chattr /usr/bin/passwd

8.嘗試用find找出目前Linux系統中所有具有SUID的檔案有哪些?

解:find / -perm /4000 -print。

9.找出/etc下面,檔案大小介于50KB到60KB之間的檔案,并且将權限完整地列出(ls-l)

解:find /etc -size +50k -a -size -60k -exec ls -l {} ;

10.找出/etc下面,檔案容量大于50KB且檔案所有者不是root的檔案名,且将權限完整地列出(ls-l)

解:find /etc -size +50k -a ! -user root -exec ls -ld {} ;

11.找出/etc下面,容量大于1500KB以及容量等于0的檔案

解:find /etc -size +1500k -o -size 0

第七章 Linux磁盤與檔案系統管理

1.我們常常說,啟動的時候,【發現硬碟有問題】,請問,這個問題的産生是【檔案系統的損壞】,還是【硬碟的損壞】?

解:如果某個 filesystem裡面,由于操作不當,可能會造成 Superblock資料的損毀,或者是 inode的架構損毀,或者是 block area的記錄遺失等等,這些問題當中,其實硬碟還是好好的,不過,在硬碟上面的檔案系統則已經無法再使用。一般來說,我們的 Linux很少會造成 filesystem的損毀,是以,發生問題時,很可能整個硬碟都損毀了。但是,如果您的主機常常不正常斷電,那麼,很可能硬碟是沒問題的,但是,檔案系統則有可能損毀。此時,重建檔案系統 (reinstall)即可,不需要換掉硬碟。

2.當我有兩個檔案,分别是file1與file 2,這兩個檔案互為硬連結的檔案,請問,若我将file1删除,然後再以類似vi的方式重新建立一個名為file1的檔案,則file2的内容是否會被修改?

解:當我删除 file1之後, file2 則為一個正規檔案,并不會與他人共同分享同一個 inode與 block ,是以,當我重新建立一個檔名為 file1時,他所利用的 inode 與 block都是由我們的 filesystem 主動去搜尋 meta data,找到空的 inode 與 block來建立的, 與原本的 file1并沒有任何關聯性。是以,建立的 file1 并不會影響 file2。

第八章 檔案與檔案系統的壓縮(答案暫缺)

答案暫缺(以後若找到會補上)

第九章 vim程式編輯器

1.我用vi打開某個檔案後,要在第34行向右移動15個字元,應該在一般模式中執行什麼指令?

解:先按下34G移動光标到第34行,再執行15[→]或15j。

2.在vi打開的檔案中,如何去到該檔案的頁首或頁尾?

解:執行1G或gg去往頁首,執行G去往頁尾。

3.在vi打開的檔案中,如何在光标所在行中,移動到行頭及行尾?

解:0或功能鍵[home]移動到行頭,$或[end]移動到行尾。

4.vi的一般模式情況下,按下“r”有什麼功能?

解:進入替換模式(Replace mode),且隻會替換光标所在的那一個字元一次。

5.在vi的環境中,如何将目前正在編輯的檔案另存新檔案名為newfilename?

解:w newfilename

6.在Linux下面最常使用的文本編輯器為vi,請問如何進入編輯模式?

解:在一般模式下按下i,I,a,A,o,O,r,R任意一個都可以進入編輯模式。

7.在vi軟體中,如何由編輯模式跳回一般模式?

解:按下[ESC]鍵。

8.在vi的環境中,若上下左右鍵無法使用時,請問如何在一般模式移動光标?

解:[k][j][h][l]分别代表上下左右。

9.在vi的一般模式中,如何删除一行、n行;如何删除一個字元?

解:dd删除光标所在的那一整行,ndd删除光标所在的向下n行;x或X删除一個字元。

10.在vi的一般模式中,如何複制一行、n行并加以粘貼?

解:yy複制光标所在的那一行,nyy複制光标所在的向下n行,然後p或P粘貼。

11.在vi的一般模式中如何查找string這個字元串?

解:/string向後查找,?string向前查找。

12.在vi的一般模式中,如何替換word1成為word2,而若需要使用确認機制,又該如何?

解:1,s/word1/word2/gc

13.在vi目前的編輯檔案中,在一般模式下,如何讀取一個檔案filename進入目前的檔案?

解::r filename

14.在vi目前的編輯檔案中,如何存盤、離開、存盤後離開、強制存盤後離開?

解:分别為:w,:q,:wq,:wq!

15.在vi下面做了很多的編輯操作之後,卻想還原成原來的檔案内容,應該怎麼進行?

解:c!

16.我在vi這個程式當中,不想離開vi,但是想執行ls/home這個指令,vi有什麼額外的功能可以達到這個目的?

解:[Ctrl]+Z或:! ls /home

第十章 認識與學習BASH

1.在Linux上可以找到哪些shell(舉出三個)?哪個檔案記錄可用的shell是什麼?而Linux預設的shell是什麼?

解:/bin/bash、/bin/ksh、/bin/csh;/etc/shells;/bin/bash。

2.你輸入一串指令之後,發現前面寫的一長串資料是錯的,你想要删除光标所在處到最前面的指令串内容,應該如何處理?

解:按下[ctrl]+u,即可從光标處向前删除指令串。

3.在shell環境下,有個提示符(prompt),它可以修改嗎?要改什麼?預設的提示符内容是什麼?

解:指令提示符可以通過環境變量PS1來修改,改環境變量的内容即可,預設的提示符内容是[\u@\h\W]$。

4.如何顯示HOME這個環境變量?

解:echo $HOME。

5.如何得知目前的所有變量與環境變量的設定值?

解:set顯示目前所有的變量(包括環境變量),env顯示目前所有環境變量的值。

6.我是否可以設定一個變量名稱為3myhome?

解:不可以,變量名稱的開頭不能為數字。

7.在這樣的練習中:【A=B】且【B=C】,若我執行“unset$A”,則取消的變量是A還是B?

解:取消的變量是B。因為$A的指向為B,若想取消變量A,指令應為unset A。

8.如何取消變量與指令别名的内容?

解:unset取消變量,unalias取消指令别名。

9.如何設定一個變量名稱為name内容為It’s my name?

解:name=“It’s\ my\ name”

10.bash環境配置檔案主要分為哪兩種類型的讀取?分别讀取哪些重要檔案?

解:login:主要讀取/etc/profile及/bash_profile;non-login:主要讀取/bashrc

11.CentOS 7.x的man page的路徑配置檔案是什麼?

解:/etc/main.config

12.試說明【’】、【"】、與【’】這些符号在變量定義中的用途。

解:變量定義用["]或[’]括起來,但["]仍然可以保有變量的内容,而[’]内僅能是一般字元,而不會有特殊符号;至于[‘],在一串指令中,在`之内的指令将會被先執行,而其執行出來的結果将作為外部的輸入資訊。

13.轉符号\有什麼用途?

解:轉義特殊字元(如空格、換行、$等)。

14.連續指令中,【;】、【&&】、【||】有何不同?

解:;為不考慮指令相關性的連續指令執行,&&為前一個指令正确執行才會執行下一個指令,||為前一個指令正确執行則不執行下一個指令,否則執行

15.如何将last的結果中,獨立出賬号,并且列印出曾經登入過的賬号?

解:last | cut -d -f1 | sort | uniq

16.請問foo1 && foo2 | foo3 > foo4,這個指令串當中,foo1、foo2、foo3、foo4是指令還是檔案?整串指令的意義是什麼?

解:foo1、foo2、foo3都是指令,foo4是檔案。整串指令的意義是當foo1正确執行時則執行foo2,否則不執行,然後foo2若沒有正确執行則執行foo3,并将結果作為stdin輸出到foo4中。

17.如何列出在/bin下面任何以a為開頭的檔案檔案名的詳細資料?

解:ls -l /bin/a*

18.如何顯示/bin下面檔案名為四個字元的檔案?

解:ls -l /bin/???

19.如何顯示/bin下面檔案名開頭不是a-d的檔案?

解:ls -l /bin/[^a-d]*

20.我想要讓終端的登入提示字元修改成我自己喜好的模樣,應該要改哪裡?

解:/etc/issue

21.承上題,如果我是想要讓使用者登入後,才顯示歡迎資訊,又應該要改哪裡?

解:/etc/motd

第十一章 正規表達式與檔案格式化處理

1.我想要知道,在/etc下面,隻要含有XYZ三個字元的任何一個字元的那一行就列出來,要怎樣進行?

解:grep [XYZ] /etc/*

2.将/etc/termcap内容取出後,去除開頭為#的行、去除空白行、取出開頭為英文字母的那幾行以及最終統計總行數該如何進行?

解:grep -v ‘^#’ /etc/termcap | grep -v ‘^$’ | grep ‘^]]’ | wc -l

第十二章 學習shell腳本

1.請建立一個腳本,當你執行該腳本的時候,該腳本可以顯示:(1)你目前的身份(用whoami);(2)你目前所在的目錄(用pwd)。

解:

#!/bin/bash
echo -e "Your name is ==> $(whoami)"
echo -e "The current directory is ==> $(pwd)"      

2.請自行編寫一個程式,該程式可以用來計算【你還有幾天可以過生日】?

解:

#!/bin/bash
read -p "Pleas input your birthday (MMDD, ex> 0709): " bir
now=`date +%m%d`
if [ "$bir" == "$now" ]; then
echo "Happy Birthday to you!!!"
elif [ "$bir" -gt "$now" ]; then
year=`date +%Y`
total_d=$(($((`date --date="$year$bir" +%s`-`date +%s`))/60/60/24))
echo "Your birthday will be $total_d later"
else
year=$((`date +%Y`+1))
total_d=$(($((`date --date="$year$bir" +%s`-`date +%s`))/60/60/24))
echo "Your birthday will be $total_d later"
fi      

3.讓使用者輸入一個數字,程式可以由1+2+3…一直累加到使用者輸入的數字為止

解:

#!/bin/bash
read -p "Please input an integer number: " number
i=0
s=0
while [ "$i" != "$number" ]
do
i=$(($i+1))
s=$(($s+$i))
done
echo "the result of '1+2+3+...$number' is ==> $s"      

4.編寫一個程式,它的作用是:(1)先檢視一下/root/test/logical這個名稱是否存在;(2)若不存在,則建立一個檔案,使用touch來建立,建立完成後退出;(3)如果存在的話,判斷該名稱是否為檔案,若為檔案則将之删除後建立一個目錄,目錄名為logical,之後離開;(4)如果存在的話,而且該名稱為目錄,則删除此目錄。

解:

#!/bin/bash
if [ ! -e logical ]; then
touch logical
echo "Just make a file logical"
exit 1
elif [ -e logical ] && [ -f logical ]; then
rm logical
mkdir logical
echo "remove file ==> logical"
echo "and make directory logical"
exit 1
elif [ -e logical ] && [ -d logical ]; then
rm -rf logical
echo "remove directory ==> logical"
exit 1
else
echo "Does here have anything?"
fi      

5.我們知道/etc/passwd裡面以:來分隔,第一欄為賬号名稱。請寫一個程式,可以将/etc/passwd的第一列取出,而且每一列都以一行字元串【The 1 account is “root】來顯示,那個1表示行數。

解:

#!/bin/bash
accounts=`cat /etc/passwd | cut -d':' -f1`
for account in $accounts
do
declare -i i=$i+1
echo "The $i account is \"$account\" "
done      

第十三章 Linux賬号管理與ACL權限設定

1.root的UID與GID是多少?而基于這個理由,我要讓test這個賬号具有root的權限,應該怎麼做?

答:root的UID與GID都是0,UID隻有0和非0兩種,0代表系統管理者。是以要讓test這個賬号具有root的權限,隻要把test的UID和GID都改為0即可

2.假設我是一個系統管理者,有一個使用者最近不乖,是以我想暫時将他的賬号停掉,讓他近期無法進行任何操作,等到将來他乖順一點之後,我再将他的賬号啟用,請問:我可以怎麼做比較好?

答:有幾種辦法。一是将/etc/passwd的shell字段寫成/sbin/nologin,即可以讓該賬号暫時無法登入主機;二是将/etc/shadow内的密碼字段添加一個*号在最前面;三是将/etc/shadow的第八個字段關于賬号取消日期的改成小于目前日期的數字

3.我在使用useradd的時候,新增的賬号裡面的UID與GID還有其他相關的密碼管理,都是在哪幾個檔案裡面設定的?

答:在/etc/login.defs還有/etc/default/useradd裡面

4.我希望我在設定每個賬号的時候(使用useradd),預設情況中,他們的家目錄就含有一個名稱為www的子目錄,我應該怎麼做比較好?

答:使用useradd的時候系統會自動以/etc/skel為預設home目錄,是以在這個目錄裡建立一個名稱為www的子目錄即可

5.簡單說明系統賬号與一般使用者賬号的差別?

答:從UID來說,UID為1~499的就是系統賬号,往後為一般使用者賬号。系統賬号擁有的權限一般比一般使用者賬号大,系統賬号可以調用某些系統資源

6.簡單說明,為何CentOS建立使用者時,它會主動幫使用者建立一個使用者組,而不是使用/etc/default/useradd的設定?

答:不同的Linux distributions對于user的group建立機制不同,主要有兩種。一種是Public group schemes:使用者将會直接得到一個系統指定的群組,一般來說是users;另一種是Private group schemes:系統會建立一個與賬号相同的群組。CentOS就屬于後者。

7.如何建立一個使用者,名稱alex,他所屬使用者組為alexgroup,預計使用csh,他的全名為“Alex Tsai”,且還得要加入users使用者組當中?

答:groupadd alexgroup

useradd -c “Alex Tsai” -g alexgroup -G users -m alex

先建立群組再建立使用者

8.由于種種因素,導緻你的使用者家目錄以後都需要被放置到/account這個目錄下。請問,我該如何做,才可以在使用useradd時,預設的主檔案夾就指向/account?

答:修改變量。編輯/etc/default/useradd,将HOME=/home改成HOME=/account即可。

9.我想要讓dmtsai這個使用者,加入vbird1,vbird2,vbird3這三個使用者組,且不影響dmtsai原本已經支援的次要使用者組,該如何操作?

答:usermod -a -G vbird1,vbird2,vbird3 dmtsai

第十四章 磁盤配額(Quota)與進階檔案系統管理

1.在前一章的第一個大量新增賬号範例中,如果我想要讓每個使用者均具有soft/hard各為40MB/50MB的容量時,應該如何修改這個shell腳本?

答:先将/home制作好quota的環境然後再do…done内的最後一行,新增一行内容為setquota -u $username 40000 50000 0 0 /home

2.如果我想要讓RAID具有保護資料的功能,防止因為硬體損毀而導緻資料的丢失,那我應該要選擇的RAID等級可能有哪些(請以本章談到的等級來思考即可)?

答:RAID-1,RAID-5,RAID-6

3.在預設的LVM設定中,請問LVM能否具有【備份】的功能?

答:snopshot快照功能可以進行資料備份

4.如果你的計算機主機有提供RAID 0的功能,你将你的三塊硬碟全部在BIOS階段使用RAID晶片整合成一塊大硬碟,則此硬碟在Linux系統當中的檔案名是什麼?

答:/dev/sda

第十五章 計劃任務(crontab)

1.今天假設我有一個指令程式,名稱為ping.sh。我想要讓系統每三分鐘執行這個檔案一次,但是偏偏這個檔案會有很多的資訊顯示出來,是以我的root賬号每天都會收到差不多四百多封的信件,光是收信就差不多快要瘋掉了。那麼請問應該怎麼設定比較好呢?

答:按信件重要與否選擇導入檔案或丢棄。這樣寫:/3*** root /usr/local/ping.sh > /dev/null 2>&1

2.您預計要在2016年的2月14日寄出一封Email給kiki,隻有該年才寄出,該如何執行指令?

答:at 1am 2016-02-14

3.執行crontab -e之後,如果輸入這一行,代表什麼意思?

** 15 ** 1-5 /usr/local/bin/tea_time.sh

答:在每星期的 1~5 ,下午 3 點的每分鐘,共進行 60 次 /usr/local/bin/tea_time.sh 這個檔案。 要特别注意的是,每個星期 1~5 的 3 點都會進行 60 次!很麻煩,是錯誤的寫法,應該是要寫成:

25 00 * * 0 root /usr/local/bin/backup.sh

4.請問,你的系統每天、每周、每個月各有進行什麼工作?

答:以CentOS系統為例,預設的例行性指令都放置在 /etc/cron.* 裡面,是以,你可以自行去: /etc/cron.daily/, /etc/cron.week/, /etc/cron.monthly/

5.每個星期六淩晨三點去系統查找一下含有SUID/SGID的任何檔案,并将結果輸出到/rmp/uidgid.files中。

答:vi /etc/crontab

第十六章 程序管理與SELinux初探

1.簡單說明什麼是程式(program)而什麼是程序(process)?

答:程式 (program) 是系統上面可以被運作的檔案,由于Linux的完整檔案路徑 (由 / 寫起) 僅能有一個, 是以 program 的檔名具有單一性。當程式被運作後,就會啟動成程式 (process), 一個 program 可以被不同的使用者或者相同的使用者重複的運作成為多個程式, 且該程式所造成的程式還因為不同的使用者,而有不同的權限,且每個 process 幾乎都是獨立的

2.我今天想要查詢/etc/crontab與crontab這個程序的用法與寫法,請問我該如何線上查詢?

答:查詢/etc/crontab可以用man 5 crontab,查詢crontab可以用man crontab或info crontab

3.我要如何查詢crond這個daemon的PID與它的PRI值?

答:ps aux | grep crond

4.我要如何修改crond這個PID的優先執行順序?

答:先以 ps aux 找到 crond 的 PID 後,再以renice -n number PID來調整

5.我是一般身份使用者,我是否可以調整不屬于我的程式的nice值?此外,如果我調整了我自己的程序的nice值到10,是否可以将它調回5呢?

答:不可以。因為一般身份使用者僅能調整屬于自己的 PID 程式,并且,隻能将 nice 值調高,不能調低,是以調整為10之後,就不能降回5

6.我要怎麼知道我的網卡在啟動的過程中有沒有被識别?

答:用dmesg來觀察

第十七章 認識系統服務(daemon)

1.使用netstat -ful與netstat -tunl有什麼差異?為何會這樣?

答:使用 n 時, netstat 就不會使用主機名與服務名稱 (hostname & service_name) 來顯示, 取而代之的則是以 IP 及 port number 來顯示的。IP 的分析與 /etc/hosts 及 /etc/resolv.conf 有關, 這個在未來伺服器篇才會提到。至于 port number 則與 /etc/services 有關

2.你能否找出來,啟動3306這個端口的服務是什麼?

答:透過搜尋 /etc/services 内容,得到 port 3306 為 mysql 所啟動的端口。利用搜尋引擎搜尋, 可得到 mysql 為一種網絡資料庫系統軟體。

3.你可以通過哪些指令查詢到目前系統預設開機會啟動的服務?

答:用chkconfig或ntsysv都可以

4.承上,那麼哪些服務【目前】是在啟動的狀态?

答:可以透過 service --status-all,或者是透過 netstat -anl 等方式。也可以透過 pstree 去查詢。 隻是相關對應的服務daemon就得要個别查詢了

第十八章 認識與分析日志檔案

1.如果你想要将auth這個服務的日志中,隻要資訊等級高于warn就發送郵件l到root的信箱,該如何完成?

答:利用 vim 去編輯 /etc/syslog.conf 檔案,内容為auth.warn root

2.啟動系統日志資訊時,需要啟動哪兩個daemon?

答:syslogd 記錄系統軟體, klogd 記錄核心資訊

3.rsyslogd以及logrotate通過什麼機制來執行?

答:syslogd 為 stand alone daemon 的機制; logrotate 則是透過 crontab 來運作的,隻是個指令而已

第十九章 啟動流程、子產品管理與Loader

1.萬一不幸,我的一些子產品沒有辦法讓Linux的核心識别,但是偏偏這個核心明明就有支援該子產品,我要讓該子產品在啟動的時候就被加載,那麼應該寫入哪個檔案?

答:應該寫入 /etc/modprobe.conf (kernel 2.6.x)或者是/etc/modules.conf (kernel 2.4.x)這個檔案,他是子產品加載相關的地方。也可以寫入/etc/sysconfig/modules/*裡面。

2.如果你不小心先安裝Linux再安裝Windows導緻boot loader無法找到Linux的啟動菜單,該如何挽救?

答:1.借助第三方軟體安裝類似于spfdisk的軟體到MBR裡面。

2.使用類似 KNOPPIX 的Live CD以CD光牒啟動進入Linux之後,再以chroot軟體切換根目錄 (/),然後重新安裝grub等boot loader

第二十章 基礎系統設定與備份政策

1.如果你想要知道整個系統的周邊硬體裝置,可以使用哪個指令查詢?

答:lspci

2.承上題,那麼如果單純隻想要知道USB裝置呢?又該如何查詢?

答:lsusb

3.如果你的網絡設定妥當了,但是卻老是發現網絡不通,你覺得應該如何進行測試?

答:(1)先檢查硬體,每個環節 (網卡、hub/switch、路由器等) 的燈号是否有亮?有亮再進行下個動作;

(2)使用 ifconfig 檢查 IP 與 netmask 的資料是否正确,若正确才可進行下一步;

(3)使用 route 看看 default gateway 是否正确,若正确再進行下一步;

(4)使用 ping -c 3 [gateway IP] ,若有回應才進行下一步;

(5)使用 ping -c 3 [外部IP,例如 168.95.1.1] ,若有回應則 IP 正常,若無回應,請檢查 gateway 的配置

(6)使用 dig www.google.com 看看能否找到 IP ,找不到則請檢查 /etc/resolv.conf 的配置

第二十一章 基礎系統設定與備份政策(答案暫缺)

答案暫缺(以後若找到會補上)

第二十二章 軟體安裝PRM、SPRM與YUM

1.如果你曾經修改過yum設定檔案内的容器設定(/etc/yum.repos.d/*.repo),導緻下次使用yum進行安裝時老是發現錯誤,此時你該如何是好?

答:先确認你的配置檔案确實是正确的,如果沒問題,可以将 yum 的緩存清除,使用『yum clean all』即可。 事實上, yum 的所有緩存、下載下傳軟體、下載下傳軟體的表頭資料,都放置于/var/cache/yum/ 目錄下

2.簡單說明RPM與SRPM的異同

答:RPM 檔案是由程式打包者 (通常是由 distribution 的開發商) 藉由程式的原始碼,在特定的平台上面所編譯成功的 binary program 的資料,并将該資料制作成為 RPM 的格式,以友善相同軟、硬體平台的使用者之安裝使用。 在安裝時顯的很簡單,因為程式打包者的平台與使用者所使用的平台預設為相同。至於SRPM則是借由與 RPM 相同的配置檔資料,不過将原始碼直接包在 SRPM 檔案當中,而不經過編譯。 因為 SRPM 所内含的資料為原始碼,是以安裝時必須要再經過編譯的行為才能成為RPM并提供使用者安裝

3.假設我想要安裝一個軟體,例如pkgname.i386.rpm,但卻總是發生無法安裝的問題,請問我可以加入哪些參數來強制安裝它?

答:可以加入 --nodeps 等參數。例如 rpm -ivh --nodeps pkgname.i386.rpm

4.承上題,你認為強制安裝之後該軟體是否可以正常執行?為什麼?

答:一般來說,應該是不能運作的,因為該軟體具有相依屬性的問題,某些時刻該軟體的程式可能需要呼叫外部的函數庫,但函數庫可能未安裝,是以當然無法運作成功

5.請問我使用 rpm -Fvh *.rpm 及 rpm -Uvh *.rpm 來更新時,兩者有何不同?

答:-Uvh 後面接的軟體,如果原本未安裝,則直接安裝,原本已安裝時,則直接更新;

-Fvh 後面接的軟體,如果原本未安裝,則不安裝,原本已安裝時,則直接更新;

6.假設有一個廠商推出軟體時,自行處理了數位簽章,你想要安裝他們的軟體是以需要使用數位簽章,假設數位簽章的檔名為 signe, 那你該如何安裝?

答:rpm --import signe

7.承上,假設該軟體廠商提供了 yum 的安裝網址為: http://their.server.name/path/ ,那你該如何處理 yum 的配置檔?

答:自己取個檔案名擴充名為.repo,然後修改配置檔案即可

第二十三章 X Window設定介紹

1.在X設定沒問題的情況下,你在Linux主機如何擷取X視窗接口?

答:如果是在 run level 3 ,可以使用 startx 進入,如果是 run level 5 ,則直接進入 tty7 即可使用 display manager 登陸 X Window 系統。

2.利用startx可以在multi-user.target的環境下進入X Window系統。請問startx的主要功能是什麼?

答:整個 X 視窗系統的重點在啟動 X server 并加載 X client ,而運作 X server/X client 呼叫的任務為 xinit ,startx 隻是一個較為親和的腳本程式,可以搜尋系統上面的 X server / X client 配置值, 以提供 xinit 來運作而已

3.如何知道你系統當中X系統的版本等資訊?

答:以root身份執行X -version指令

4.要了解為何X系統可以允許不同硬體、主機、作業系統之間的通信,需要知道X Server與X Client的相關知識。請問X Server、X client、視窗管理器的主要用途功能是什麼?

答:X Server 主要負責熒幕的繪制,以及周邊輸入裝置如滑鼠、鍵盤等資料的收集,并回報給 X Client ; X Client 主要負責資料的運算,收到來自 X Server 的資料後,加以運算得到圖形的資料,并回傳給 X Server, 讓 X server 自行繪制圖形。Window manager 是一個比較特殊的 X Client ,他可以管理更多控制元素, 最重要的地方還是在于視窗的大小、重疊、移動等等的功能

5.如何重新啟動X?

答:在X Window下按下組合鍵[Alt]+[Ctrl]+[Backspace]

6.試說明 ~/.xinitrc 這個檔案的用途?

答:當我們要啟動 X 時,必須要啟動 X Client 軟體端。這個 ~/.xinitrc 即是在可視化自己的 X Client , 你可以在這個檔案内輸入你自己的 X Client 。若無此檔案,則預設以 /etc/X11/xinit/xinitrc 替代

7.我在 CentOS 的系統中,預設使用 GNOME 登陸 X 。但我想要改以 KDE 登陸,該怎麼辦?

答:修改/etc/sysconfig/desktopn内的配置值

8.X Server的預設端口是什麼?

答:port 6000

9.Linux主機是否可以有兩個以上的X?

答:可以,從tty7開始每個終端可以放一個

10.X Server的設定檔案是xorg.conf,在該檔案中,Section Files幹嘛用的?

答:配置顯示字型用的

11.我發現我的X系統鍵盤總是打不出我所需要的字母,可能原因是什麼?該如何修改?

答:鍵盤符号對應表問題,修改xorg.conf檔案内關于Keyboard的Option XkbLayout項目,修改為us即可

12.當我的系統内有安裝了GNOME及KDE兩個X的視窗管理器,我原本是以KDE為預設的WM,若想改為GNOME時,應該如何修改?

答:修改 /etc/sysconfig/desktop

第二十四章 Linux核心編譯與管理

繼續閱讀