一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Linux 基礎(chǔ)

 clhon 2012-06-12
鳥(niǎo)哥的 Linux 私房菜
為取得較佳瀏覽結(jié)果,請(qǐng)愛(ài)用 firefox 瀏覽本網(wǎng)頁(yè)
| 繁體主站 | 簡(jiǎn)體主站 | 基礎(chǔ)篇 | 伺服器 | 企業(yè)應(yīng)用 | 桌面應(yīng)用 | 安全管理 | 討論板 | 酷學(xué)園 | 書(shū)籍戡誤 | 鳥(niǎo)哥我 | 崑山資傳 |
     
 
最近更新日期:2007/07/03
雖然鳥(niǎo)哥希望您可以不必學(xué)習(xí) Linux 指令就能夠使用 Linux 桌面,但是一些基本的 Linux 架構(gòu)我們還是得知道, 否則很難開(kāi)始!尤其是安裝 Linux 時(shí),會(huì)出人命!其實(shí)安裝 Windows 也是一樣的, 妳必須要知道什麼是分割、格式化等等。這一章的內(nèi)容很少,算是一個(gè)基礎(chǔ)知識(shí)的介紹, 即使妳再怎麼不高興,還是希望您可以靜下心來(lái)瞧一瞧這一章的內(nèi)容!拜託拜託! 另外,這一章的內(nèi)容您也可以在未來(lái)隨時(shí)回來(lái)查閱喔!尤其是後面章節(jié)部分若有不懂的, 回來(lái)這裡查一查,應(yīng)該可以獲得一些新的想法呢! ^_^


大標(biāo)題的圖示電腦概論
在目前的社會(huì)中,沒(méi)有電腦真的是很奇怪的一件事情!因?yàn)槲覀儽仨氁褂秒娔X幫我們進(jìn)行很多工作。 包括在辦公室中使用電腦來(lái)進(jìn)行各項(xiàng)作業(yè)、在資訊領(lǐng)域方面利用電腦來(lái)進(jìn)行伺服器的架設(shè)、 在休閒時(shí)利用電腦來(lái)上網(wǎng)瀏覽或聊天、在無(wú)聊時(shí)利用電腦來(lái)進(jìn)行電腦遊戲軟體的運(yùn)作等等。

但是妳知道目前電腦規(guī)格有哪些?為什麼我們使用的電腦通常被稱為『個(gè)人電腦』而不是啥特別的名詞? 為什麼電腦一定需要軟體才能夠使用?為什麼我的遊戲無(wú)法在早期的 Windows 98 上面運(yùn)作? 這個(gè)我們都得要瞭解一下比較好。


小標(biāo)題的圖示電腦的功能
什麼是電腦呢?基本上,一部機(jī)器只要能夠『接受指令的輸入,經(jīng)過(guò)邏輯判斷或者是算數(shù)運(yùn)算後, 能夠?qū)a(chǎn)生的資訊輸出到螢?zāi)换蛴”頇C(jī)等介面上的機(jī)器』我們就可以稱他為電腦了。 所以個(gè)人電腦、小型計(jì)算器、大型伺服器等等,都可以稱為電腦的。 那麼換句話說(shuō),我們透過(guò)鍵盤(pán)或滑鼠輸入指令,讓電腦主機(jī)進(jìn)行運(yùn)算後,將我們所需要的資料輸出到螢?zāi)簧希? 這就是電腦的運(yùn)作過(guò)程。

電腦組成示意圖
圖一、電腦組成示意圖

為了要將上圖中的『邏輯判斷、算數(shù)運(yùn)算』所在處的主機(jī)設(shè)計(jì)出來(lái),這部主機(jī)還得要負(fù)責(zé)連結(jié)輸入設(shè)備以及輸出設(shè)備, 並且還要能夠執(zhí)行算數(shù)處理以及邏輯方面的判斷,因此主機(jī)就得要有幾個(gè)組成的部分了,這包括: 中央處理器、主記憶體、系統(tǒng)匯流排(可以想成主機(jī)板上面的晶片組),以及各種輸入輸出元件 (I/O 裝置)。不過(guò),關(guān)鍵元素在於中央處理器,也就是俗稱的 CPU 啦!

為什麼說(shuō) CPU 最重要呢?就跟我們生活的時(shí)候任何事情都要透過(guò)腦袋來(lái)思考後才能產(chǎn)生行動(dòng)一樣, 事實(shí)上 CPU 裡面也是含有多個(gè)指令集,這些指令集可以想成腦袋的思考方式。 而為了配合這個(gè) CPU ,所有在主機(jī)上所設(shè)計(jì)出來(lái)的硬體當(dāng)然也要符合相關(guān)的規(guī)範(fàn)才可以!

就如古話說(shuō)的:『戲法人人會(huì)變,巧妙各有不同』一樣,既然電腦主要的功能就是在接受訊號(hào)的輸入, 經(jīng)過(guò)一些程序後將他轉(zhuǎn)變?yōu)檫m當(dāng)?shù)馁Y訊並且輸出而已,那麼當(dāng)不同的硬體開(kāi)發(fā)商在進(jìn)行研究時(shí),當(dāng)然可能產(chǎn)生不同的硬體規(guī)格啦! 但由於市場(chǎng)機(jī)制以及相關(guān)產(chǎn)品開(kāi)發(fā)商的支援,現(xiàn)今電腦硬體的架構(gòu)依 CPU 的類別主要區(qū)分為兩大類,分別如下所述:
  • Complex Instruction Set Computer (CISC):複雜指令系統(tǒng)計(jì)算器
    CPU 內(nèi)的指令集較為複雜,所以需要透過(guò)一個(gè)額外的解譯器來(lái)進(jìn)行指令的解析。 目前最常見(jiàn)的就是個(gè)人電腦的 x86 與 x86-64 (64位元) 架構(gòu)啦! 這種架構(gòu)是目前最常見(jiàn)的電腦架構(gòu)啦!

  • Reduced Instruction Set Computer (RISC):精簡(jiǎn)指令系統(tǒng)計(jì)算器
    由於 CISC 指令架構(gòu)較為複雜,為了簡(jiǎn)化指令集以加速程式的運(yùn)作,所以就有 RISC 架構(gòu)的產(chǎn)生。 這種架構(gòu)較為先進(jìn),常用於大型伺服器等級(jí)的硬體規(guī)格中。 目前使用這種架構(gòu) CPU 產(chǎn)品包括有:Sony 的 Play Station (PS)、IBM Power 架構(gòu)的 Xbox 360, 早期蘋(píng)果公司的 Macintosh、 昇陽(yáng)(Sun)電腦的 SPARC 架構(gòu)等等。(註:Sony, IBM, 蘋(píng)果公司以及昇陽(yáng)都是企業(yè)的公司名稱)
Tips:
Sony 的遊戲機(jī) (Play Station) 使用的 CPU 名稱為 Cell;XBox 是微軟的遊戲機(jī),這個(gè)遊戲機(jī)裡面使用的 CPU 則是 IBM 發(fā)展的名為 Power 的 CPU,這款 CPU 也用在早期的蘋(píng)果公司的電腦中;SPARC 則是昇陽(yáng)公司自產(chǎn)的 CPU 型號(hào)。 這幾款 CPU 使用的架構(gòu)都是屬於 RISC 的架構(gòu)喔!
鳥(niǎo)哥的圖示
如果對(duì)於 CPU 架構(gòu)有興趣的話,文末的參考資料可以閱讀一番。

雖然 RISC 的架構(gòu)較為先進(jìn),不過(guò)由於個(gè)人電腦的普及性,以及拜 Intel 與 AMD 這兩家主要 x86 CPU 製造公司開(kāi)發(fā)出更精良且高速的 x86 CPU 之賜,目前您可以使用相對(duì)便宜很多的金額就買到效能很棒的 x86 個(gè)人電腦了。不但個(gè)人電腦是 x86 架構(gòu),現(xiàn)在就連很多伺服器以及企業(yè)關(guān)鍵應(yīng)用的主機(jī)也都使用 x86 的架構(gòu)。 因此底下我們將以 x86 架構(gòu)來(lái)說(shuō)明電腦硬體喔!(註:Intel 及 AMD 是兩家製造個(gè)人電腦 CPU 的公司名稱)

Tips:
寫(xiě)這一段話的意義是,希望讀者能知道 CPU 的架構(gòu)是很多樣的! 製作 CPU 的公司並不是只有 Intel 或 AMD 而已。此外,很多的電腦、遊戲機(jī)都是使用 CPU 的架構(gòu), 所以,瞭解到個(gè)人電腦的基本架構(gòu),有助於您瞭解其他設(shè)備的主要組成呢! ^_^
鳥(niǎo)哥的圖示

小標(biāo)題的圖示個(gè)人電腦所需硬體
如同上一小節(jié)所說(shuō)的,電腦主機(jī)主要包括了 CPU、記憶體、系統(tǒng)匯流排以及各項(xiàng) I/O 裝置。 那麼這些硬體主要的功能是什麼呢?我們就以人體來(lái)說(shuō)明好了。
  • CPU:
    就像是腦袋瓜子,主要負(fù)責(zé)邏輯思考與算數(shù)運(yùn)算。不過(guò)要注意的是,腦袋瓜子總得要接受外來(lái)的刺激才會(huì)思考! 所以囉,我們也要給予 CPU 適當(dāng)?shù)闹噶钺幔艜?huì)開(kāi)始動(dòng)作。這也是我們需要撰寫(xiě)程式的原因。

  • 主記憶體:
    就像我們的記憶力一樣!當(dāng)記憶能力越高,可以容納的外界刺激與儲(chǔ)存過(guò)去記憶的能力就越好! 所以當(dāng)有人問(wèn)到我們過(guò)去的記憶時(shí),不需要拿照片而在腦海裡面就立刻有影像出來(lái)啦!所以說(shuō), 電腦主機(jī)的主記憶體通常是越大越好! ^_^

  • 輸入/輸出 (I/O) 裝置:
    電腦主機(jī)的輸入/輸出裝置有非常的多,常見(jiàn)的例如硬碟、光碟、印表機(jī)、網(wǎng)路設(shè)備、視訊設(shè)備等等都算。 以人體來(lái)說(shuō),妳可以將硬碟想像成為一本筆記,妳可以在裡面寫(xiě)感想(寫(xiě)入硬碟)或者是讀讀裡面文字(讀取硬碟), 如果覺(jué)得某些文字不滿意,還可以使用修正液將他塗掉(刪除資料)。

  • 系統(tǒng)匯流排:
    系統(tǒng)匯流排是連接各項(xiàng)裝置的介面,妳可以將主機(jī)板看成是系統(tǒng)匯流排啦! 主機(jī)板是很重要的,因?yàn)樗麑⑸鲜龅母黜?xiàng)元件給他整合在一起,所以沒(méi)有主機(jī)板, 其他的元件就沒(méi)有作用了。妳可以將系統(tǒng)匯流排想成是人體的神經(jīng)系統(tǒng), 神經(jīng)系統(tǒng)可以連線身體的各個(gè)部位以達(dá)到讓人體活動(dòng)的實(shí)際目標(biāo)!
各項(xiàng)裝置的結(jié)合可以下圖來(lái)示意一下:

各元件的組成情況
圖二、各元件的組成情況
(上述圖示主要取自 tom's 硬體指南,各元件圖片分屬個(gè)別公司所有)

就像雖然每個(gè)人都有腦袋、神經(jīng)系統(tǒng)、記憶力與各項(xiàng)外在書(shū)籍,但是每個(gè)人的腦袋、神經(jīng)系統(tǒng)傳導(dǎo)的能力以及記憶力都不同一樣, 由於製造商發(fā)展的能力不一樣,所造出來(lái)的各項(xiàng)電腦元件能力也不相同。 所以您在選購(gòu) CPU、主機(jī)板、記憶體以及各項(xiàng) I/O 裝置時(shí),務(wù)必詢問(wèn)專業(yè)人士, 否則有可能買到無(wú)法使用在您主機(jī)上面的硬體喔!

舉例來(lái)說(shuō),鳥(niǎo)哥之前的工作主機(jī)使用 AMD 公司出產(chǎn)的 Atlhon XP 1800+ CPU,搭配華碩公司的主機(jī)板。 為了比較快速的儲(chǔ)存系統(tǒng),所以鳥(niǎo)哥跑去買了一顆 SATA 介面的硬碟, 但是,買回來(lái)後才發(fā)現(xiàn)俺的主機(jī)板上面只有較早期的 IDE 硬碟介面,??! 還要去買一塊 SATA 擴(kuò)充卡來(lái)安裝~唉~失?。?br>
Tips:
什麼?看不懂啥是 IDE, SATA 以及 Athlon XP 嗎?沒(méi)關(guān)係!這些是電腦硬體相關(guān)的術(shù)語(yǔ), 妳只要知道 AMD 是一家製造 CPU 的公司,他們公司有出產(chǎn)一款 CPU ,而 AthlonXP 就是該款 CPU 的代號(hào)即可。 關(guān)於硬碟還有更多要介紹的,底下會(huì)說(shuō)明!
鳥(niǎo)哥的圖示

小標(biāo)題的圖示程式運(yùn)作流程
鳥(niǎo)哥常常在開(kāi)玩笑的問(wèn)朋友說(shuō):『沒(méi)有插電的電腦是一堆廢鐵, 那麼插了電的電腦是什麼?』您猜是什麼呢?答案是...『一堆會(huì)電人的廢鐵!!』^_^!為什麼呢? 因?yàn)樯项^沒(méi)有程式嘛!所以說(shuō),電腦硬體上面必須要配合程式軟體才能夠順利的完成各項(xiàng)動(dòng)作。 那麼電腦是如何執(zhí)行各項(xiàng)軟體功能的呢?

假設(shè)有個(gè)人體身份是學(xué)生,他最近的工作是要去考試,為了應(yīng)付考試他應(yīng)該要如何動(dòng)作?
  1. 透過(guò)神經(jīng)傳導(dǎo),拿起課本,並從書(shū)本上面讀取會(huì)考的資訊,且記憶下來(lái);
  2. 進(jìn)入考場(chǎng)準(zhǔn)備考試,看到試卷後根據(jù)記憶將答案寫(xiě)下;
  3. 考完後交卷並離開(kāi)考場(chǎng)。
那麼如果是電腦程式呢?整個(gè)電腦主機(jī)各項(xiàng)元件是如何運(yùn)作?
  1. CPU 接受指令後,準(zhǔn)備讀取資料,主要藉由匯流排將硬碟的資料讀入主記憶體當(dāng)中;
  2. CPU 開(kāi)始處理程式碼,CPU 讀取的程式碼與資料都是由主記憶體當(dāng)中取得;
  3. 持續(xù)進(jìn)行該項(xiàng)任務(wù),直到任務(wù)完成為止。
上述的第一、二步驟如下圖三的示意:

程式的運(yùn)作流程
圖三、程式的運(yùn)作流程
(上述圖示主要取自 tom's 硬體指南,各元件圖片分屬個(gè)別公司所有)

圖三給我們幾個(gè)很重要的概念,那就是:
  • CPU 必須要接受程式碼之後才會(huì)開(kāi)始進(jìn)行運(yùn)作;
  • 一般來(lái)說(shuō),目前的程式碼與資料都是放置在硬碟、光碟等儲(chǔ)存媒體當(dāng)中的;
  • 不管是程式碼還是資料,最終都必須要被讀到主記憶體當(dāng)中後,CPU 才能使用;
  • 任何資料的傳送幾乎都是透過(guò)主機(jī)板上的匯流排。
這是簡(jiǎn)單的程式運(yùn)作概念,對(duì)於妳未來(lái)要升級(jí)硬體,或者是檢查有無(wú)軟體錯(cuò)誤時(shí), 這個(gè)概念挺重要喔! ^_^。舉例來(lái)說(shuō),考慮到上述的第四點(diǎn),匯流排是很重要的! 而匯流排可以容納的資料傳輸速度(頻寬)是有限的,所以當(dāng)妳在進(jìn)行燒錄 DVD 的時(shí)候, 系統(tǒng)的整體效能會(huì)變慢,現(xiàn)在知道為什麼了吧?因?yàn)闊洉r(shí)匯流排被硬碟與 DVD 燒錄機(jī)之間傳輸?shù)馁Y料量給佔(zhàn)滿了! 所以其他程式要執(zhí)行時(shí),圖三的 (1) 速度就慢了! ^_^

Tips:
為什麼很多硬體迷在購(gòu)買整部主機(jī)的時(shí)候,首先考慮的是主機(jī)板晶片組與CPU及主記憶體的頻寬? 因?yàn)樵谫Y料傳輸量很大的時(shí)候,這玩意兒影響可是很大的!
鳥(niǎo)哥的圖示

小標(biāo)題的圖示程式怎麼來(lái)?
現(xiàn)在我們知道了,CPU 內(nèi)其實(shí)含有很多的指令集,而 CPU 需要由主記憶體中讀取所需要的程式碼與資料才能處理工作, 當(dāng)然啦,這些程式碼必須要能夠使用 CPU 內(nèi)的指令集來(lái)執(zhí)行算數(shù)、邏輯等動(dòng)作才行。那麼程式碼怎麼來(lái)? 其實(shí)程式的撰寫(xiě)最直接的就是參考 CPU 的指令集,然後利用 CPU 認(rèn)識(shí)的機(jī)器碼直接撰寫(xiě)程式, 這樣程式就可以直接運(yùn)作了。

但是這樣的動(dòng)作很麻煩,因?yàn)闄C(jī)器碼是機(jī)器認(rèn)識(shí)的語(yǔ)言,人類不容易瞭解!加上參考 CPU 指令集也是個(gè)苦差事, 因此這種撰寫(xiě)程式碼的行為除非是用在一些很小的嵌入式設(shè)備中,一般個(gè)人電腦很少使用這種模式來(lái)開(kāi)發(fā)應(yīng)用程式的。 取而代之的是一個(gè)作業(yè)程式來(lái)處理硬體問(wèn)題。

直接針對(duì)硬體來(lái)撰寫(xiě)應(yīng)用程式是沒(méi)有效率的,因?yàn)槊恐С淌蕉急仨殢念^撰寫(xiě),機(jī)器碼也不容易瞭解。 所以就有些公司或社群發(fā)展出所謂的『作業(yè)系統(tǒng)』。作業(yè)系統(tǒng)是利用一組特殊的程式管理整個(gè)硬體資源, 同時(shí)作業(yè)系統(tǒng)還會(huì)提供一整組的標(biāo)準(zhǔn)開(kāi)發(fā)介面,讓程式設(shè)計(jì)師在撰寫(xiě)應(yīng)用程式時(shí),不需要考慮硬體, 僅需參考作業(yè)系統(tǒng)所提供的開(kāi)發(fā)介面來(lái)撰寫(xiě)程式即可。此時(shí)程式可使用作業(yè)系統(tǒng)推出的高階程式語(yǔ)言, 包括 C, .NET, Fortran, Java 等等。

我們可以將硬體、作業(yè)系統(tǒng)、開(kāi)發(fā)介面與工具、應(yīng)用程式、使用者作一個(gè)簡(jiǎn)單的相依圖示如下:

作業(yè)系統(tǒng)的示意圖
圖四、作業(yè)系統(tǒng)的示意圖

上面的圖示提供我們幾個(gè)簡(jiǎn)單的小概念:
  • 作業(yè)系統(tǒng)直接參考硬體規(guī)格寫(xiě)成,所以同一個(gè)作業(yè)系統(tǒng)程式不能夠在不一樣的硬體架構(gòu)下運(yùn)作。 舉例來(lái)說(shuō),個(gè)人電腦版的 Windows XP 不能直接在 RISC 架構(gòu)的電腦下運(yùn)作。 所以您知道為何 Windows XP 又分為 32 位元及 64 位元的版本了吧? 因?yàn)?32/64 位元的 CPU 指令集不太相同,所以當(dāng)然要設(shè)計(jì)不同的作業(yè)系統(tǒng)版本了。

  • 作業(yè)系統(tǒng)只是在管理整個(gè)硬體資源,包括 CPU、記憶體、輸入輸出裝置及檔案系統(tǒng)檔。 如果沒(méi)有其他的應(yīng)用程式輔助,作業(yè)系統(tǒng)只能讓電腦主機(jī)準(zhǔn)備妥當(dāng)(Ready)而已!並無(wú)法運(yùn)作其他功能。 所以?shī)叕F(xiàn)在知道為何 Windows XP 上面要達(dá)成網(wǎng)頁(yè)影像的運(yùn)作還需要類似 PhotoImpact 或 Photoshop 之類的軟體安裝了吧?

  • 應(yīng)用程式的開(kāi)發(fā)都是參考作業(yè)系統(tǒng)提供的開(kāi)發(fā)介面, 所以該應(yīng)用程式只能在該作業(yè)系統(tǒng)上面運(yùn)作而已,不可以在其他作業(yè)系統(tǒng)上面運(yùn)作的。 現(xiàn)在您知道為何去購(gòu)買線上遊戲的光碟時(shí),光碟上面會(huì)明明白白的寫(xiě)著該軟體適合用於哪一種作業(yè)系統(tǒng)上了吧? 也該知道某些遊戲?yàn)楹尾荒軌蛟?Linux 上面安裝了吧?
目前最常見(jiàn)的作業(yè)系統(tǒng)主要有 Windows, Linux, Mac X, Unix 等, 在這些作業(yè)系統(tǒng)上面所開(kāi)發(fā)出來(lái)的程式基本上是不能夠互通的!因?yàn)樗拈_(kāi)發(fā)介面並不相同之故。 這也是為什麼當(dāng)妳去網(wǎng)路嘗試下載某些程式的時(shí)候,這個(gè)程式會(huì)有好多版本! 因?yàn)槌淌奖仨氁槍?duì)不同的作業(yè)系統(tǒng)去撰寫(xiě)才行喔!

我們拿常見(jiàn)的微軟公司的產(chǎn)品來(lái)說(shuō)明。妳知道 Windows XP, Office 2007 之間的關(guān)係了嗎?
  • Windows XP 是一套作業(yè)系統(tǒng),他必須先安裝到個(gè)人電腦上面,否則電腦無(wú)法開(kāi)機(jī)運(yùn)作;
  • Windows 98 與 Windows XP 是兩套不同的作業(yè)系統(tǒng),所以能在 Win 98 上安裝的軟體不見(jiàn)得可在 WinXP 上安裝;
  • Windows XP 安裝好後,就只能擁有很少的功能,並沒(méi)有辦公室軟體;
  • Office 2007 是一套應(yīng)用程式,要安裝前必須要瞭解他能在哪些作業(yè)系統(tǒng)上面運(yùn)作。

小標(biāo)題的圖示硬體與驅(qū)動(dòng)程式
瞭解了硬體與作業(yè)系統(tǒng)的相關(guān)概念後,現(xiàn)在我們知道作業(yè)系統(tǒng)主要在管理整個(gè)電腦主機(jī)的硬體資源, 為了要管理這些硬體支援,我們的作業(yè)系統(tǒng)當(dāng)然就得要『驅(qū)動(dòng)整部主機(jī)上面的所有硬體』了! 一開(kāi)始時(shí),作業(yè)系統(tǒng)的設(shè)計(jì)者會(huì)將當(dāng)時(shí)主流的電腦硬體作個(gè)整理,取得硬體開(kāi)發(fā)商所提供的驅(qū)動(dòng)程式, 並主動(dòng)加入到作業(yè)系統(tǒng)當(dāng)中,以讓這個(gè)系統(tǒng)可以開(kāi)機(jī)並順利的認(rèn)識(shí)硬體。

不過(guò)硬體可是持續(xù)在進(jìn)步當(dāng)中的!包括主機(jī)板、顯示卡、硬碟等等。那麼比較晚推出的較新的硬體, 例如顯示卡,我們的作業(yè)系統(tǒng)當(dāng)然就不認(rèn)識(shí)囉!那作業(yè)系統(tǒng)該如何驅(qū)動(dòng)這塊新的顯示卡? 為了克服這個(gè)問(wèn)題,作業(yè)系統(tǒng)通常會(huì)提供一個(gè)開(kāi)發(fā)介面給硬體開(kāi)發(fā)商, 讓他們可以根據(jù)這個(gè)介面設(shè)計(jì)可以驅(qū)動(dòng)他們硬體的『驅(qū)動(dòng)程式』,如此一來(lái),只要使用者安裝驅(qū)動(dòng)程式後, 自然就可以在他們的作業(yè)系統(tǒng)上面驅(qū)動(dòng)這塊顯示卡了。

驅(qū)動(dòng)程式與作業(yè)系統(tǒng)
圖五、驅(qū)動(dòng)程式與作業(yè)系統(tǒng)
(上述圖示主要取自 tom's 硬體指南,各元件圖片分屬個(gè)別公司所有)

由上圖五我們可以得到幾個(gè)小重點(diǎn):
  • 作業(yè)系統(tǒng)必須要能夠驅(qū)動(dòng)硬體,如此應(yīng)用程式才能夠使用該硬體功能;
  • 一般來(lái)說(shuō),作業(yè)系統(tǒng)會(huì)提供開(kāi)發(fā)介面,讓開(kāi)發(fā)商製作他們的驅(qū)動(dòng)程式;
  • 要使用新硬體功能,必須要安裝廠商提供的驅(qū)動(dòng)程式才行;
  • 驅(qū)動(dòng)程式是由廠商提供的,與作業(yè)系統(tǒng)開(kāi)發(fā)者無(wú)關(guān)。
所以,如果妳想要在某個(gè)作業(yè)系統(tǒng)上面安裝一張新的顯示卡,那麼請(qǐng)要求該硬體廠商提供適當(dāng)?shù)尿?qū)動(dòng)程式吧! ^_^! 為什麼要強(qiáng)調(diào)『適當(dāng)?shù)尿?qū)動(dòng)程式』呢?因?yàn)轵?qū)動(dòng)程式仍然是依據(jù)作業(yè)系統(tǒng)而開(kāi)發(fā)的, 所以,給 Windows 用的驅(qū)動(dòng)程式當(dāng)然不能使用於 Linux 的環(huán)境下了。


大標(biāo)題的圖示重要工具:硬碟
前一小節(jié)我們談到硬體與程式運(yùn)作的關(guān)係,也談到程式主要是放置到一些儲(chǔ)存媒體上的, 現(xiàn)在的主機(jī)設(shè)備當(dāng)中,儲(chǔ)存媒體最重要的一項(xiàng)就是『硬碟』這個(gè)玩意兒啦! 當(dāng)妳的主機(jī)想要有作業(yè)系統(tǒng)時(shí),首先就得要將作業(yè)系統(tǒng)『安裝』到妳的硬碟當(dāng)中! 所以您說(shuō),硬碟是否很重要啊!


小標(biāo)題的圖示硬碟的連接介面:IDE, SATA
硬碟的介面規(guī)格近年來(lái)有重大突破,那就是由傳統(tǒng)的 IDE 介面轉(zhuǎn)換到新的 SATA 介面。 (我們這裡主要針對(duì)個(gè)人電腦,所以較高階的 SCSI 介面不在討論之列。) 那麼什麼是 IDE 什麼是 SATA 介面呢?簡(jiǎn)單的說(shuō),就是硬碟與主機(jī)板連結(jié)在一起的那個(gè)插槽不一樣啦! 我們以實(shí)際的硬碟來(lái)作說(shuō)明,請(qǐng)看下圖的兩款硬碟連接腳位:

兩款硬碟介面
圖六、兩款硬碟介面(左邊為 IDE 介面,右邊為 SATA 介面)

早期 IDE 硬碟的排線 (連接硬碟與主機(jī)板) 較寬,容易影響到機(jī)殼內(nèi)的熱對(duì)流,所以散熱不易。 如下圖所示,這一條排線上面有三個(gè)插槽,一邊接主機(jī)板,另外兩個(gè)則接在硬碟 (或稱為 IDE 裝置) 上。

IDE 介面的排線
圖七、IDE 介面的排線 (圖示取自 Seagate 網(wǎng)站)

一般來(lái)說(shuō),早期主機(jī)板上面的 IDE 插槽有兩個(gè),而每條排線上又可以有兩個(gè) IDE 裝置,所以最多可以接到四個(gè) IDE 裝置。 如果妳需要一個(gè)光碟機(jī),那麼最多妳的主機(jī)就可以接三顆硬碟的意思。不過(guò)妳應(yīng)該要想到的是:『既然排線可以接兩個(gè)硬碟, 那麼哪一顆硬碟會(huì)先被主機(jī)捉到?』這個(gè)時(shí)候得要進(jìn)行跳針 (Jump) 的設(shè)定才行喔!如圖六所示, IDE 排線右邊的那個(gè)插槽就是在設(shè)定跳針的地方!妳可以設(shè)定成主要(master)或次要(slave)的形式。 要注意,一條排線上面不可以同時(shí)為 master 或 slave ,否則主機(jī)會(huì)捉不到兩顆硬碟!在同一條排線上, 一定要一顆為 master 一顆為 slave 才行

由於 IDE 介面的發(fā)展已經(jīng)到了極限,而且排線又容易造成通風(fēng)不良,所以後來(lái)出現(xiàn)了一種新的介面,那就是 SATA 介面啦! 從圖六妳已經(jīng)可以發(fā)現(xiàn)到 SATA 的排線接口非常的小,而且 SATA 的速度要比 IDE 快的多! 所以 SATA 已經(jīng)成為目前硬碟機(jī)介面的主流囉! SATA 的排線示意圖如下圖所示:

SATA 介面的排線
圖八、SATA 介面的排線 (圖示取自 Seagate 網(wǎng)站)

SATA 的排線直接連結(jié)硬碟與主機(jī)板,一條排線僅接一顆硬碟,所以?shī)叢恍枰{(diào)整跳針。 不過(guò)一張主機(jī)板上面 SATA 插槽的數(shù)量並不是固定的,且每個(gè)插槽都有編號(hào),在連接 SATA 硬碟與主機(jī)板的時(shí)候, 還是需要留意一下。


小標(biāo)題的圖示硬碟的組成
在開(kāi)始談實(shí)際使用硬碟之前,我們還得要知道一下硬碟的組成比較好。實(shí)際上,硬碟就是由硬碟盤(pán)與讀取頭所組成的。 硬碟盤(pán)是圓形的,資料就是透過(guò)磁頭寫(xiě)入到硬碟盤(pán)上面。資料能夠被寫(xiě)入到硬碟盤(pán)的最小單位是磁區(qū) (sector), 目前 x86 硬碟的磁區(qū)一個(gè)為 512 bytes 這麼大。而磁區(qū)聚合成為一個(gè)同心圓時(shí),那就是磁柱 (cylinder)。 如果以圖示來(lái)看,他有點(diǎn)像這樣:

硬碟盤(pán)組成示意圖
圖九、硬碟盤(pán)組成示意圖

我這裡假設(shè)硬碟裡面僅有一個(gè)硬碟盤(pán)的狀況。所以硬碟最重要的組成就是:磁區(qū)、磁柱、磁頭 (sector, cylinder, head),其中磁區(qū)一個(gè)有 512bytes 大,而磁柱為分割時(shí)的最小單位。

那麼是否每個(gè)磁區(qū)都一樣重要呢?其實(shí)整顆硬碟的第一個(gè)磁區(qū)特別的重要,因?yàn)樗涗浟苏w硬碟的重要資訊! 第一個(gè)磁區(qū)主要記錄了兩個(gè)重要的資訊,分別是:
  • 主要開(kāi)機(jī)記錄區(qū)(Master Boot Record, MBR):可以安裝開(kāi)機(jī)管理程式的地方,有 446 bytes
  • 分割表 (partition table):記錄整顆硬碟分割的狀態(tài),有 64bytes
MBR 是很重要的,因?yàn)楫?dāng)系統(tǒng)在開(kāi)機(jī)的時(shí)候,會(huì)主動(dòng)去讀取這個(gè)區(qū)塊的內(nèi)容, 這樣系統(tǒng)才會(huì)知道你的程式放在哪裡且該如何進(jìn)行開(kāi)機(jī)。如果妳要安裝多重開(kāi)機(jī)的系統(tǒng), MBR 這個(gè)區(qū)塊的管理就非常非常的重要了! ^_^

那麼分割表又是啥?其實(shí)妳剛剛拿到的整顆硬碟就像一根原木,妳必須要在這根原木上面切割出妳想要的區(qū)段, 這個(gè)區(qū)段才能夠再製作成為你想要的家具!如果沒(méi)有進(jìn)行切割,那麼原木就不能被有效的使用。 同樣的道理,妳必須要針對(duì)妳的硬碟進(jìn)行分割,這樣硬碟才可以被妳使用的!


小標(biāo)題的圖示磁碟分割表
但是硬碟總不能真的拿鋸子來(lái)切切割割吧?那硬碟還真的是會(huì)壞掉去!那怎辦? 就利用參考對(duì)照磁柱號(hào)碼的方式來(lái)處理啦!在分割表所在的 64bytes 容量中,總共分為四組記錄區(qū), 每組記錄區(qū)記錄了該區(qū)段的啟始與結(jié)束的磁柱號(hào)碼。若將硬碟以長(zhǎng)條形來(lái)看,然後將磁柱以直條圖來(lái)看, 那麼那 64 bytes 的記錄區(qū)段有點(diǎn)像底下的圖示:

硬碟分割表的作用示意圖
圖十、硬碟分割表的作用示意圖

由上圖來(lái)看,我們可以知道幾個(gè)小重點(diǎn):
  • 其實(shí)所謂的『分割』只是針對(duì)那個(gè) 64bytes 的分割表進(jìn)行設(shè)定而已!
  • 硬碟預(yù)設(shè)的分割表僅能寫(xiě)入四組分割資訊
  • 這四組分割資訊我們稱為主要(primary)分割區(qū)
  • 分割區(qū)的最小單位為磁柱(cylinder)
  • 當(dāng)系統(tǒng)要寫(xiě)入磁碟時(shí),一定會(huì)參考磁碟分割表,才能針對(duì)某個(gè)分割區(qū)進(jìn)行資料的處理
那麼為何需要進(jìn)行分割呢?因?yàn)?span id="eq6qmui" class="text_import2">每個(gè)分割區(qū)的資料是分開(kāi)的 !所以,當(dāng)妳需要將某個(gè)分割區(qū)的資料重整時(shí), 例如妳要將妳電腦中 Windows 的 C 槽重新安裝一次 Windows 時(shí),妳可以將其他重要資料移動(dòng)到其他分割區(qū), 例如將郵件、桌面資料移動(dòng)到 D 槽去,那麼 C 槽重灌系統(tǒng)並不會(huì)影響到 D 槽! 所以善用分割區(qū),可以讓妳的資料更安全。

另外,由於分割區(qū)將資料集中在某個(gè)磁柱的區(qū)段,例如圖十當(dāng)中第一個(gè)分割槽位於磁柱號(hào)碼 1~100 號(hào), 如此一來(lái)當(dāng)有資料要讀取自該分割槽時(shí),磁碟只會(huì)搜尋前面 1~100 的磁柱範(fàn)圍, 由於資料集中了,將有助於資料讀取的速度與效能!所以說(shuō),分割是很重要的!

既然分割表只有記錄四組資料的空間,那麼是否代表我一顆硬碟最多只能分割出四個(gè)分割槽? 當(dāng)然不是啦!有經(jīng)驗(yàn)的朋友都知道,妳可以將一顆硬碟分割成十個(gè)以上的分割槽的! 那又是如何達(dá)到的呢?在 Windows/Linux 系統(tǒng)中,我們是透過(guò)一個(gè)稱為延伸分割 (Extended partition) 的方式來(lái)處理的。 既然第一個(gè)磁區(qū)所在的分割表只能記錄四筆資料,那我可否利用額外的磁區(qū)來(lái)記錄更多的分割資訊? 那就是延伸分割的想法。實(shí)際上圖示有點(diǎn)像底下這樣:

硬碟分割表的作用示意圖
圖十一、硬碟分割表的作用示意圖

在圖十一當(dāng)中,我們知道硬碟的四個(gè)分割記錄區(qū)僅使用到兩個(gè),P1 為主要分割,而 P2 則為延伸分割。 請(qǐng)注意,延伸分割不能夠被用來(lái)作為資料存取的! 然後我們可以透過(guò)延伸分割所指向的那個(gè)區(qū)塊繼續(xù)作分割的記錄,如圖十一右下方那個(gè)區(qū)塊, 繼續(xù)分割出五個(gè)分割槽,這五個(gè)由延伸分割繼續(xù)切出來(lái)的分割槽,就被稱為邏輯分割區(qū) (logical partition)。同時(shí)注意一下,由於邏輯分割區(qū)是由延伸分割繼續(xù)分割出來(lái)的, 所以他可以使用的磁柱範(fàn)圍就是延伸分割所設(shè)定的範(fàn)圍喔!也就是圖中的 101~400 啦!

主要分割、延伸分割與邏輯分割的特性我們作個(gè)簡(jiǎn)單的定義囉:
  • 主要分割與延伸分割最多可以有四筆 (硬碟的限制)
  • 延伸分割最多只能有一個(gè) (作業(yè)系統(tǒng)的限制)
  • 邏輯分割是由延伸分割持續(xù)切割出來(lái)的分割槽;
  • 能夠被格式化後,作為資料存取的分割槽為主要分割與邏輯分割。延伸分割無(wú)法格式化;
  • 邏輯分割的數(shù)量依作業(yè)系統(tǒng)而不同,在 Linux 系統(tǒng)中, IDE 的硬碟最多有 59 個(gè)邏輯分割, SATA 硬碟則有 11 個(gè)邏輯分割。
事實(shí)上,分割是個(gè)很麻煩的東西,因?yàn)樗且源胖鶠閱挝坏摹哼B續(xù)』磁碟空間, 而且延伸分割又是個(gè)類似獨(dú)立的空間,所以在分割的時(shí)候得要特別注意。舉個(gè)例子來(lái)說(shuō),在 Windows 的分割當(dāng)中, 通常他們喜歡自訂成一個(gè)主要分割作為系統(tǒng)槽,其他的容量全部作為延伸分割, 然後再讓延伸分割繼續(xù)分成邏輯分割。好,那假設(shè)妳的 D 與 E 槽各有 30GB ,妳想將這兩槽整合成一槽, 底下這兩種情況到底可否整合?

磁碟空間整合示意圖
圖十二、磁碟空間整合示意圖

在圖十二當(dāng)中,上圖的 D, E 因?yàn)橥瑢凫堆由旆指顑?nèi)的邏輯分割槽,因此妳只要: (1)將這兩個(gè)分割槽刪除,然後 (2)再重新建立一個(gè)新的分割槽,就能在不影響其他分割槽的情況下, 將兩個(gè)分割槽的空間組合成為一個(gè)。但如果是圖十二的下圖,由於 D, E 槽分屬主分割與邏輯分割, 所以兩者不能夠整合在一起,除非妳將延伸分割破壞後再重新分割。不過(guò),這樣會(huì)影響到所有的邏輯分割! 要注意,如果延伸分割被破壞,所有邏輯分割將會(huì)被刪除!

在硬碟分割完畢後,這顆硬碟就可以準(zhǔn)備被格式化使用了!不管你想要玩的是 Windows 還是 Linux , 硬碟的分割概念是相當(dāng)重要的!別忽略這部份的知識(shí)呢!


小標(biāo)題的圖示主要開(kāi)機(jī)記錄區(qū)(MBR)
不知道你會(huì)不會(huì)覺(jué)得很奇怪,為啥電腦可以開(kāi)機(jī)?為啥電腦知道我的開(kāi)機(jī)軟體放在 C 槽? 這是因?yàn)橛杏驳?MBR 的關(guān)係!每次電腦打開(kāi)電源後,電腦根據(jù) BIOS 的設(shè)定決定哪一個(gè)裝置為主要的開(kāi)機(jī)裝置。 假如你以硬碟作為開(kāi)機(jī)裝置時(shí),那麼電腦就會(huì)主動(dòng)的去讀取該顆硬碟的 MBR , 並根據(jù) MBR 裡面的設(shè)定知道開(kāi)機(jī)程式在哪裡,所以說(shuō), MBR 是很重要的呢!

如前面說(shuō)的,MBR 是硬碟第一個(gè)磁區(qū)內(nèi)佔(zhàn)有 446 bytes 容量的區(qū)塊,這個(gè)區(qū)塊可以安裝開(kāi)機(jī)管理程式, 在一些作業(yè)系統(tǒng)上面我們稱這種程式為開(kāi)機(jī)載入器 (boot loader),底下我們直接稱呼為 loader 好了。 loader 主要的任務(wù)有三個(gè),分別是:
  • 提供選單給使用者選擇開(kāi)機(jī)程式,這也是多重開(kāi)機(jī)的重要功能!
  • 直接指向可開(kāi)機(jī)的程式區(qū)段
  • 將選單功能轉(zhuǎn)交給其他 loader 負(fù)責(zé)。
其實(shí)可以安裝 loader 的地方有兩個(gè),一個(gè)是 MBR ,另一個(gè)是每個(gè)分割槽的超級(jí)區(qū)塊(super block)。 每個(gè)分割槽都會(huì)留一個(gè)區(qū)塊來(lái)記錄該分割槽的相關(guān)資訊,如果我們依舊以長(zhǎng)條圖來(lái)看,超級(jí)區(qū)塊, MBR 與實(shí)際的開(kāi)機(jī)程式他們的相對(duì)位置是這樣的:

開(kāi)機(jī)載入器
圖十三、開(kāi)機(jī)載入器示意圖

圖十三可以這樣看:
  • 每個(gè)分割槽都擁有超級(jí)區(qū)塊 (super block)
  • 圖中的系統(tǒng)槽為第一及第二分割槽,
  • 實(shí)際可開(kāi)機(jī)的程式是放置到分割槽內(nèi)的!
  • loader 只會(huì)認(rèn)識(shí)自己的系統(tǒng)槽內(nèi)的開(kāi)機(jī)程式,以及其他 loader 而已;
  • loader 可直接指向或者是間接將管理權(quán)轉(zhuǎn)交給另一個(gè)管理程式。
所以在圖十三中,鳥(niǎo)哥假設(shè) MBR 的 loader 認(rèn)識(shí) Windows 的開(kāi)機(jī)程式, 因此他可以直接指向開(kāi)機(jī)程式 (M1的那個(gè)選單),但他不認(rèn)識(shí) Linux 的開(kāi)機(jī)程式, 因此我們使用 M2 選單,將控制權(quán)移交給 Linux 所在的系統(tǒng)槽的超級(jí)區(qū)塊, 該超級(jí)區(qū)塊內(nèi)也有 loader ,那個(gè) loader 會(huì)認(rèn)識(shí) Linux 開(kāi)機(jī)程式, 因此就能夠順利的以 Linux 開(kāi)機(jī)了!

那現(xiàn)在請(qǐng)您想一想,為什麼人家常常說(shuō):『如果要安裝多重開(kāi)機(jī),最好先安裝 Windows 再安裝 Linux 』呢? 這是因?yàn)?Linux 在安裝的時(shí)候,妳可以選擇將開(kāi)機(jī)管理程式安裝在 MBR 或超級(jí)區(qū)塊, 而且 Linux 的 loader 可以手動(dòng)設(shè)定選單 (就是圖十三的 M1, M2...);至於 Windows 在安裝的時(shí)候, 則會(huì)自己覆蓋掉 MBR 以及超級(jí)區(qū)塊,而且他沒(méi)有讓我們自己選擇選單的機(jī)會(huì),因此, 如果先安裝 Linux 再安裝 Windows 的話,那妳就得要自行以類似 spfdisk 之類的軟體重新處理 MBR , 否則就進(jìn)不了 Linux 系統(tǒng)了 (雖然可以透過(guò)其他方法來(lái)處理 MBR )。

Windows 的 loader 不認(rèn)識(shí) Linux 的系統(tǒng)槽,而 Linux 的 loader 對(duì)於一般使用者來(lái)說(shuō), 似乎不是那麼具有親和力,那是否有其他的 loader 可以安裝在 MBR 裡面管理多重開(kāi)機(jī)啊? 沒(méi)錯(cuò)!是有的!那就是臺(tái)灣之光馮緒平先生撰寫(xiě)的 SPecialFDisk (簡(jiǎn)稱 spfdisk) 這套軟體! 這套軟體詳細(xì)資訊請(qǐng)參考底下的連結(jié),這軟體不但可以進(jìn)行磁碟分割的動(dòng)作以及安裝 loader , 更厲害的是,他是全中文介面!高興了吧! ^_^
我們會(huì)在後面的章節(jié)以一個(gè)實(shí)際案例來(lái)介紹 spfdisk 的使用喔!


大標(biāo)題的圖示Linux 作業(yè)系統(tǒng)概念
啥是 Linux ?這東西有啥好玩的?這個(gè)咚咚的製作概念如何?這個(gè)咚咚有沒(méi)有版權(quán)? 這東西的應(yīng)用度廣嗎?這都是我們要來(lái)留意的??!不然為何妳想要玩 Linux 呢? ^_^


小標(biāo)題的圖示Linux 是啥東西?
既然要玩 Linux 就得先知道 Linux 是啥才對(duì)。其實(shí) Linux 就是一個(gè)『作業(yè)系統(tǒng)』! 我們前面談到作業(yè)系統(tǒng)主要的功能就是驅(qū)動(dòng)與管理所有的硬體資源,並提供相關(guān)的開(kāi)發(fā)介面給程式設(shè)計(jì)師參考與開(kāi)發(fā)應(yīng)用程式。 所以 Linux 是一組程式,這一組程式可以管理與驅(qū)動(dòng)電腦,同時(shí)還可以提供很多好用的開(kāi)發(fā)介面就是了。

如果要更詳細(xì)的定義,那我們可以說(shuō),整個(gè)作業(yè)系統(tǒng)最重要的核心 (kernel) 就是 Linux , 這個(gè) Linux 的核心原始碼可以在 http://www. 這個(gè)網(wǎng)站找到,而且當(dāng)妳將他安裝在妳的電腦上時(shí),整個(gè)程式碼甚至可以小到數(shù)百 Kbytes , 這麼小的程式就能夠驅(qū)動(dòng)與管理所有的硬體,所以很多家電、手機(jī)等嵌入式設(shè)備很喜歡使用 Linux 哩!

最早 Linux 是在 1991 年由芬蘭人托瓦茲 (Linus Torvalds) 所開(kāi)發(fā)出來(lái)的,他本著『人人為我、我為人人』的態(tài)度將 Linux 釋出到網(wǎng)際網(wǎng)路社會(huì)中,由於他所撰寫(xiě)的程式碼相當(dāng)?shù)膬?yōu)秀,所以很多駭客級(jí)工程師都很喜歡使用。 而且由於他將程式碼直接釋出到網(wǎng)際網(wǎng)路中,因此很多人都可以修改他的程式碼, 另外有更多人則是貢獻(xiàn)他們自己的程式碼給托瓦茲,以進(jìn)一步加強(qiáng) Linux 本身的能力!

妳或許會(huì)問(wèn):『為什麼大家可以修改托瓦茲的程式碼?他沒(méi)有著作權(quán)的保護(hù)嗎?』 當(dāng)然不是啦!Linux 是有授權(quán)的,妳必須要同意他的授權(quán)才能夠使用喔!那 Linux 的授權(quán)是啥呢?


小標(biāo)題的圖示Linux 的授權(quán) (自由軟體)
很多人都以為 Linux 是『免費(fèi)』的,其實(shí)不然!應(yīng)該說(shuō) Linux 是『自由的』才對(duì)!免費(fèi)與自由在英文都是 Free , 所以很容易造成大家的誤解。Linux 是有版權(quán)的,他的版權(quán)使用的是 GNU 計(jì)畫(huà)的一般通用授權(quán) (General Public License, GPL)。 GNU 是由史托曼 (Richard Stallman) 在 1984 年所發(fā)起的一項(xiàng)計(jì)畫(huà),目的就是在創(chuàng)作一個(gè)完全自由的作業(yè)系統(tǒng)。 GNU (http://www.) 本身有相當(dāng)多的軟體提供, 包括 Linux 開(kāi)發(fā)的環(huán)境、編譯器等都是使用 GNU 的軟體呢!這也是後來(lái)托瓦茲將 Linux 使用 GPL 授權(quán)的原因之一。

那麼什麼是 GPL 授權(quán)呢?詳細(xì)的條文中文版可以參考這裡:
說(shuō)穿了, GPL 的目的在確保程式著作者的版權(quán)權(quán)利以及使用者的相關(guān)使用規(guī)定。當(dāng)一個(gè)軟體掛上了 GPL 的授權(quán)後, 針對(duì)使用者來(lái)說(shuō),他具有底下的權(quán)利:
  • 軟體本身會(huì)釋出原始碼;
  • 使用者可以根據(jù)原作者的程式碼學(xué)習(xí)程式撰寫(xiě)邏輯;
  • 當(dāng)使用者同意 GPL 授權(quán)後,即可自由的取得、複製、修改與再發(fā)行該軟體。
針對(duì)程式設(shè)計(jì)師則有底下的保護(hù):
  • 使用者不可單純的販賣該軟體 (但可販賣服務(wù),如安裝、教使用方式等);
  • 使用者不能隨意修改授權(quán),即該軟體為 GPL 時(shí),使用者不可將該軟體修改成專利軟體授權(quán);
  • 使用者重新修改或者貢獻(xiàn)程式碼後,應(yīng)該將程式碼再以 GPL 的方式回饋給程式設(shè)計(jì)者。
也就是說(shuō),當(dāng)妳使用 GPL 授權(quán)發(fā)佈軟體後,妳必須要同時(shí)題工程是原始碼才行。 不過(guò),妳對(duì)於該軟體的貢獻(xiàn)將永遠(yuǎn)存在,因?yàn)槠渌褂谜卟豢蓪⑹跈?quán)修改,所以?shī)叺呢暙I(xiàn)永遠(yuǎn)都在! 而且如果該程式的使用者眾多,則妳的程式碼會(huì)有無(wú)數(shù)多人幫妳校閱,所以 GPL 授權(quán)的軟體通常在效能、安全性方面都比較好! 漏洞修補(bǔ)速度也快上非常的多!

由於 GPL 授權(quán)的軟體在使用上的自由度 (Free) 相當(dāng)高,所以我們也稱這種授權(quán)的軟體為自由軟體 (Free software), 他並不是免費(fèi)軟體 (freeware) 喔!不要搞混了~ ^_^


小標(biāo)題的圖示Linux 完整安裝套件 (distribution)
Linux 既然這麼好用,當(dāng)然大家都想要搶著用,尤其是他又是自由的!不過(guò), Linux 早期真的很難入門(mén)~ 因?yàn)?Linux 原本只有核心程式,也就是 http://www. 提供的原始碼而已,想要使用他還得要自己動(dòng)手編譯,這對(duì)於一般使用者來(lái)說(shuō),實(shí)在是莫大的壓力! 很多人為了要推廣這麼好用的東西,於是就將 Linux 核心先進(jìn)行編譯,並且加入很多軟體 (不一定是自由軟體), 最重要的是將這一整組東西處理成為一份可完整安裝的光碟 (或 DVD)釋出,這就稱為完整安裝套件 (distribution) 了! 所以說(shuō), Linux distribution 指的就是:
    Linux distribution = Linux kernel + Free Software + Software + Tools + 可完整安裝流程
我們?cè)賮?lái)看一張簡(jiǎn)圖,如下所示:

作業(yè)系統(tǒng)與 distribution 之間的相關(guān)性
圖十四、作業(yè)系統(tǒng)與 distribution 之間的相關(guān)性

如上所示,Linux 核心提供的是中間兩層,這也是 http://www. 提供的咚咚。 同時(shí),很多商業(yè)公司自行推出他們的 distribution 配合販賣他們的支援服務(wù)來(lái)進(jìn)行商業(yè)行為, 這對(duì)於企業(yè)用戶來(lái)說(shuō),實(shí)在是一整套不錯(cuò)的作業(yè)系統(tǒng)哩!而如果妳只是想要試用,那麼很多社群版的 distribution 也可以滿足你喔!目前常見(jiàn)的 Linux distributions 有底下這幾種:
當(dāng)然還有很多版本啦,上面只是列出一些常見(jiàn)的 distribution 而已。此外還有一些版本則是主打不需要硬碟的環(huán)境, 那就是完全由光碟開(kāi)機(jī)的版本,這些版本我們稱為 Live CD (直接以 CD 開(kāi)機(jī),就能夠進(jìn)入 Linux 的環(huán)境)。 臺(tái)灣也有 Live CD ,例如底下的連結(jié):
妳可以自由下載該軟體,然後燒錄成為可開(kāi)機(jī)光碟或 DVD 後,即可使用 Linux 的環(huán)境哩! 當(dāng)成搶先試用版的功能也是不錯(cuò)啦! ^_^!

Linux 核心版本之謎

Linux 的發(fā)展者非常的多,且為因應(yīng)新硬體與軟體的升級(jí),所以造成核心常常增加新功能,也就是說(shuō), Linux 核心常常有變動(dòng)就是了。 為了分辨各個(gè)不同版本之間的差異,所以托瓦茲將針對(duì) Linux 核心的釋出給予版本的訂定。一般來(lái)說(shuō), 核心釋出時(shí)的版本定義為:
   2  .  6   .   20
主版本.次版本.釋出次數(shù)
就如同前面提到的,因?yàn)楹诵牡淖儎?dòng)性太大,如果用在一般家用電腦或者是企業(yè)關(guān)鍵應(yīng)用的話, 常變動(dòng)的核心並不適合的,因此托瓦茲將核心發(fā)展的趨勢(shì)分為兩股,並根據(jù)這兩股核心的發(fā)展分別給予不同的核心編號(hào), 那就是:
  • 主、次版本為奇數(shù)
    如 2.5.xx ,這種核心版本主要用在測(cè)試與發(fā)展新功能,所以通常這種版本僅有核心開(kāi)發(fā)工程師會(huì)使用。 如果有新增的核心程式碼,會(huì)加到這種版本當(dāng)中,等到眾多工程師測(cè)試沒(méi)問(wèn)題後,才加入下一版的穩(wěn)定核心中;

  • 主、次版本為偶數(shù)
    如 2.6.xx ,等到核心功能發(fā)展成熟後會(huì)加到這類的版本中,主要用在一般家用電腦以及企業(yè)版本中。 重點(diǎn)在於提供使用者一個(gè)相對(duì)穩(wěn)定的 Linux 作業(yè)環(huán)境平臺(tái)。
Linux 核心版本與 distribution 的版本並不相同,很多朋友常常上網(wǎng)問(wèn)到:『我的 Linux 是 9.x 版,請(qǐng)問(wèn)....』之類的留言, 這是不對(duì)的提問(wèn)方式,因?yàn)樗^的 Linux 版本指的應(yīng)該是核心版本, 而目前最新的核心版本應(yīng)該是 2.6.21 (2007/06) 才對(duì),並不會(huì)有 9.x 的版本出現(xiàn)的。

妳常用的 Linux 系統(tǒng)則應(yīng)該說(shuō)明為 distribution 才對(duì)!因此,如果以本站所介紹的 CentOS 來(lái)說(shuō),妳應(yīng)該說(shuō):『我用的 Linux 是 CentOS 這個(gè) distribution, 版本為 5.x 版,請(qǐng)問(wèn)....』才對(duì)喔!

Tips:
當(dāng)妳有任何問(wèn)題想要在 Linux 論壇發(fā)言時(shí),請(qǐng)務(wù)必仔細(xì)的說(shuō)明妳的 distribution 版本, 因?yàn)殡m然各家 distributions 使用的都是 Linux 核心,不過(guò)每家 distributions 所選用的軟體以及他們自己發(fā)展的工具並不相同, 多少還是有點(diǎn)差異,所以留言時(shí)得要先聲明 distribution 的版本才行喔! ^_^
鳥(niǎo)哥的圖示

小標(biāo)題的圖示裝置代號(hào)
如果妳曾經(jīng)使用過(guò) Windows 系統(tǒng)的話,會(huì)發(fā)現(xiàn)妳的檔案總管內(nèi)有好多的裝置,包括 C 槽、 D 槽、光碟機(jī)、 可攜式硬碟機(jī)、USB 裝置....一大堆東西。那麼 Linux 有沒(méi)有這些東西呢?答案是....沒(méi)有這些『代號(hào)』了~ Linux 系統(tǒng)內(nèi)有的只是以『檔名取代裝置名稱』! 舉例來(lái)說(shuō),第一個(gè) IDE 插槽的 master 硬碟代號(hào)為 /dev/hda , 那個(gè) /dev 是個(gè)目錄,是裝置 (device) 的縮寫(xiě),而 hda 則是 Hard Disk A (hda) 的縮寫(xiě)囉!若以此類推的話, slave 硬碟就稱為 /dev/hdb 囉~而如果光碟機(jī)是放在第二個(gè) IDE 插槽的 master 時(shí),光碟機(jī)的代號(hào)就是 /dev/hdc 啦!

那麼最近主流的 SATA 硬碟代號(hào)是啥?由於 SATA 使用的是 SCSI 模組 (早期的硬碟只有 IDE, SCSI 兩種介面), 所以 SATA 硬碟代號(hào)與 SCSI 相同,都稱為 /dev/sda !其實(shí)就是 SCSI hard Disk A (sda) 的意思。 而 SATA 硬碟由於不需要調(diào)整跳針,他是根據(jù) SATA 插槽的順序來(lái)給予代號(hào)的。所以第一顆 SATA 硬碟為 /dev/sda, 第二顆為 /dev/sdb 以此類推。

接下來(lái)那個(gè) usb 硬碟的代號(hào)又是啥?由於 usb 也是使用 SCSI 模組,所以 usb 硬碟也是使用 /dev/sd? 代號(hào)。 這樣會(huì)不會(huì)造成困擾呢?其實(shí)不會(huì)啦!因?yàn)橛驳?hào)還是會(huì)以偵測(cè)順序?yàn)橹?,所以通?SATA 硬碟代號(hào)會(huì)較前面 (/dev/sda...) 而 usb 硬碟代號(hào)則較後面 (/dev/sdc...)

不過(guò),我們?cè)谇耙恍」?jié)談過(guò),硬碟總是得經(jīng)過(guò)分割後才能夠被格式化使用,那假設(shè)以第一顆 SATA 硬碟來(lái)說(shuō), 他的分割槽代號(hào)為何?很簡(jiǎn)單啊,直接在硬碟代號(hào)後面加上數(shù)字即可。只是要注意的是,由於硬碟的分割表已經(jīng)保留四個(gè)位置, 所以邏輯分割的代號(hào)都是由 5 號(hào)開(kāi)始的。我們以底下的兩個(gè)案例來(lái)說(shuō)明代號(hào):

磁碟代號(hào)的說(shuō)明
圖十五、磁碟代號(hào)的說(shuō)明

要記得,延伸分割也是一種分割 (雖然他只是在規(guī)劃出邏輯分割的磁柱位置而已),所以那個(gè)代號(hào)不要忘記了。 圖十五上圖很容易瞭解,就是照順序下來(lái)即是。但圖十五下圖則可發(fā)現(xiàn)代號(hào) /dev/sda3, /dev/sda4 不見(jiàn)了! 因?yàn)?partition table 內(nèi)有四筆記錄啊,這四筆記錄的代號(hào)是保留的。因此 parmary 與 extended 代號(hào)一定是前面四號(hào), 邏輯分割一定是由五號(hào)開(kāi)始的!這個(gè)概念很重要的,因?yàn)榕c Windows 的 C, D, E... 不一樣! ^_^

反正您要記得的是,Linux 已經(jīng)沒(méi)有所謂的裝置名稱,他有的是檔名而已。而跟系統(tǒng)裝置有關(guān)的咚咚, 幾乎都是放在 /dev 那個(gè)目錄底下,這點(diǎn)要特別注意喔!


小標(biāo)題的圖示X Window System
一些老玩家都知道,早期的 Win 3.1 是在 DOS 系統(tǒng)上面的一套軟體而已。相同的, X Window System 也不過(guò)是 Linux 上面的一套軟體而已,X Window System 並不是作業(yè)系統(tǒng)喔!^_^

什麼是 X Window System 呢?早期的作業(yè)系統(tǒng)都是文字介面的,就是需要工程師下達(dá)指令後系統(tǒng)才會(huì)運(yùn)作, 而沒(méi)有圖形介面的功能。但是一些工程界人士,例如地質(zhì)學(xué)家要繪製地表面與高度的相關(guān)性, 又例如海洋學(xué)家要繪製海溝的分佈情況等等,這些都需要圖形介面的。後來(lái)麻省理工學(xué)院 (MIT) 開(kāi)發(fā)出圖形使用者介面 (Graphical User Interface, GUI) ,他們認(rèn)為這是下一代視窗 (window) 介面, 因此就稱為 X (想一想, 26 個(gè)英文字母按照順序,W 後面出現(xiàn)的字母是啥? ^_^)。 這就是 X Window System 命名的由來(lái)。

那 X Window System 有啥特異功能,為何 Linux 要使用這個(gè)咚咚呢?其實(shí) X 系統(tǒng)主要是架構(gòu)於可利用網(wǎng)路的環(huán)境, 利用一個(gè) X server 管理硬體架構(gòu),利用 X client 計(jì)算繪圖數(shù)據(jù),然後再交由 X server 來(lái)列印到螢?zāi)簧稀? X client 可以是一部主機(jī),而 X server 則可以在任何一部主機(jī)上,那就構(gòu)成了網(wǎng)路的 X 連線了。 妳可以參考底下的圖示來(lái)看:

X server 與 X client 的溝通示意圖
圖十六、X server 與 X client 的溝通示意圖

上圖有趣的地方在於, X client 可能是多個(gè)可以在 X 系統(tǒng)上面運(yùn)作的程式,而 X server 則是可以在多種不同作業(yè)系統(tǒng)上面運(yùn)作的程式。也就是說(shuō),妳可以在不同的作業(yè)系統(tǒng)上面安裝 X server , 然後透過(guò)網(wǎng)路的功能連結(jié)到 X client 去取得繪圖數(shù)據(jù),最後在妳的 X server 上面將桌面圖示繪製出來(lái)。 這對(duì)於『遠(yuǎn)端桌面』是很有幫助的!而且一部 X client 可以讓多部 X server 連接,實(shí)在是很有趣!

在預(yù)設(shè)的 Linux distribution 上面,X server/X client 剛好在同一部機(jī)器上,所以我們可以讓這個(gè) X window system 順利的在一部 Linux 系統(tǒng)上面運(yùn)作的!此外,妳會(huì)看到圖十六的中間圖示,妳會(huì)發(fā)現(xiàn)怎麼有個(gè) Window Manager (WM)? 其實(shí) Window Mananger 是個(gè)特殊的 X client ,他的功能主要是管理整個(gè) X window system 的。 因?yàn)槊總€(gè) X client 其實(shí)彼此之間並不認(rèn)識(shí)對(duì)方,所以可能會(huì)造成每個(gè) X client 的繪圖圖層彼此重疊, 且無(wú)法分辨每個(gè) X client,與無(wú)法在不同 X client 之間切換。

為了解決這方面的困擾,並且增加整個(gè) X window system 的資源管理,因此就有這個(gè) WM 的產(chǎn)生了。 目前的 WM 主要有 KDE 以及 GNOME ,當(dāng)然不止這些東西而且,不過(guò)目前是以這兩個(gè)計(jì)畫(huà)為最大, 管理介面以及畫(huà)面風(fēng)格也比較美觀漂亮!以後您要知道的是,不同的 WM 具有不同的操作介面, 而且那也只是在 X server 上面架構(gòu)出來(lái)的一個(gè)視窗管理員而已,這個(gè)視窗管理員是可變更的!

若硬要在 X window system 的各項(xiàng)元件上分析他的相關(guān)性,那妳可以知道的是:
  • Linux 作業(yè)系統(tǒng)要先啟動(dòng),並且驅(qū)動(dòng)所有的硬體元件;
  • X server 在作業(yè)系統(tǒng)上面啟動(dòng),並可等待使用者輸入;
  • 載入 Window Manager ,準(zhǔn)備好視窗管理機(jī)制介面;
  • 可在 WM 上面執(zhí)行各種 X 的應(yīng)用軟體。
無(wú)論如何,妳只要知道 Linux 上面的桌面其實(shí)是由 X window system 的系統(tǒng)來(lái)提供的, 而 X 僅只是 Linux 上面的一組程式而已,並非作業(yè)系統(tǒng),所以即使 X 死掉了,沒(méi)關(guān)係, 只要 Linux 核心活著,應(yīng)該就有辦法重新啟動(dòng) X 的!並不會(huì)造成類似『藍(lán)色死亡畫(huà)面』般的可怕現(xiàn)象...


大標(biāo)題的圖示檔案系統(tǒng)
來(lái)到重要的地方啦!對(duì)於作業(yè)系統(tǒng)來(lái)說(shuō),檔案系統(tǒng)是非常重要的喔!因?yàn)殡娔X作業(yè)系統(tǒng)本來(lái)就是要處理一些資料, 讓這些資料變成有意義的東西,那這些資料其實(shí)是放置到儲(chǔ)存媒體上面的,那妳要由儲(chǔ)存媒體上面存、取該資料, 就與檔案系統(tǒng) (file system) 有關(guān)啦!底下我們就來(lái)談一談這個(gè)恐怖的東西。


小標(biāo)題的圖示啥是檔案系統(tǒng)
我們知道一顆硬碟要被使用,第一個(gè)重點(diǎn)是需要進(jìn)行分割 (partition),分割完畢後還需要進(jìn)行格式化, 那分割槽才能夠被作業(yè)系統(tǒng)使用。關(guān)於分割我們知道他是硬碟本身所需要的動(dòng)作,前面談過(guò)很多了,所以這裡略過(guò)。 妳應(yīng)該會(huì)問(wèn)的是,那為何需要格式化?格式化的意義是什麼?

讓我們先舉個(gè)例子來(lái)說(shuō),白蟻要如何創(chuàng)造蟻窩?或許是這樣的:
  1. 首先,當(dāng)然是要有白蟻,包括蟻后以及白蟻工兵 (想成作業(yè)系統(tǒng));
  2. 他們必須要選擇環(huán)境,假設(shè)就是一塊大木板 (想成整顆硬碟);
  3. 然後選擇這塊木板的某一個(gè)區(qū)段出來(lái),準(zhǔn)備要在這個(gè)區(qū)段創(chuàng)造蟻窩 (想成磁碟分割);
  4. 根據(jù)白蟻的社會(huì),將這一區(qū)段的木板挖出適當(dāng)?shù)姆块g,當(dāng)然是有分門(mén)別類的啦 (想成就是格式化);
  5. 最後白蟻們就能夠利用這個(gè)蟻窩來(lái)生活啦!(作業(yè)系統(tǒng)運(yùn)作)。
與格式化有關(guān)的重點(diǎn)在第四步驟,白蟻會(huì)依據(jù)他們所需要的環(huán)境來(lái)規(guī)劃他們的空間,包括育嬰室啦、食物儲(chǔ)西藏啦、 一般白蟻休息區(qū)啦等等的,所以?shī)厱?huì)發(fā)現(xiàn)到整個(gè)木板被『格式化』成一格一格的小房間了。 同樣的,磁碟分割槽的格式化也差不多是這個(gè)情況,我們會(huì)根據(jù)作業(yè)系統(tǒng)所需要的資料, 將硬碟依據(jù)這些準(zhǔn)備要存放的資料來(lái)創(chuàng)造出儲(chǔ)存的空間,感覺(jué)上就好像是一格一格的小房間。

此外您也必須要知道,不同的作業(yè)系統(tǒng)之間基本上可能不會(huì)認(rèn)識(shí)彼此的檔案系統(tǒng)的。舉例來(lái)說(shuō),蜜蜂應(yīng)該不知道白蟻的蟻窩結(jié)構(gòu), 白蟻應(yīng)該也不知道蜜蜂的蜂窩結(jié)構(gòu),您說(shuō)是吧!所以囉,您或許常常會(huì)聽(tīng)到,Windows 的檔案系統(tǒng)可能無(wú)法被 Linux 抓到,同樣的, Linux 的檔案系統(tǒng)對(duì)於 Windows 來(lái)說(shuō),他可能也不會(huì)知道如何讀取的!^_^

那 Linux 的檔案有哪些重要資料需要儲(chǔ)存呢?大概有兩種:
  • 檔案屬性:Linux 的檔案有很多的屬性,包括是否可讀、可寫(xiě)、可執(zhí)行,以及檔案所屬人、所屬群組, 每個(gè)檔案所建立、修改過(guò)的時(shí)間等等,都算是檔案的屬性。

  • 檔案內(nèi)容:例如文字檔內(nèi)的文字,資料庫(kù)檔案內(nèi)的資料,這些就是所謂的檔案內(nèi)容。
為了要存放檔案的這兩種資料,因此 Linux 的檔案系統(tǒng)在格式化的時(shí)候,通常得要針對(duì)這兩種資料來(lái)規(guī)範(fàn)出區(qū)塊才行。 Linux 的檔案系統(tǒng)通常需要這幾個(gè)東西:
  • inode:inode 的區(qū)塊主要在儲(chǔ)存檔案的屬性,每個(gè) inode 有 128bytes 這麼大, 而且其中除了屬性之外,還會(huì)記錄該檔案的內(nèi)容所在的 block 區(qū)塊位置。請(qǐng)注意,每個(gè) inode 都是有號(hào)碼的;

  • block:就是檔案內(nèi)容放置的地方,標(biāo)準(zhǔn)的 block 一個(gè)約 4Kbytes 這麼大, 同樣的,每個(gè) block 都有號(hào)碼喔!這個(gè)號(hào)碼可以被記錄到 inode 裡頭去, 這樣檔案才會(huì)知道他的內(nèi)容被放置到那個(gè) block 區(qū)塊;

  • Super block:超級(jí)區(qū)塊,這個(gè)區(qū)塊可以記錄整個(gè)檔案系統(tǒng)的重要資料與中介資料。 重要資料包括總共有多少 inode/block,被使用掉的與剩餘的 inode/block 等等。
整個(gè)分割槽的格式化結(jié)果,造成的檔案系統(tǒng)有如底下所示:

檔案系統(tǒng)示意圖
圖十七、檔案系統(tǒng)示意圖

如圖十七所示,在 inode table 及 block area 當(dāng)中,其實(shí)是被切成好像許多小隔間的樣子,在 inode 裡面記錄檔案的屬性, 在 block 內(nèi)則是記錄檔案的實(shí)際內(nèi)容。但能不能讀取這個(gè)檔案系統(tǒng),則與驅(qū)動(dòng)程式 (模組) 有關(guān)。

常見(jiàn)的 Windows 檔案系統(tǒng)主要有:
  • NTFS
  • FAT
  • MS DOS
常見(jiàn)的 Linux 檔案系統(tǒng)主要有:
  • ext2/ext3
  • reiserfs
  • vfat
基本上, FAT 與 vfat 是一樣的東西,所以在預(yù)設(shè)的狀態(tài)下,同樣的 FAT partition 可以同時(shí)被 Windows/Linux 所支援, 這也是為何國(guó)家考試中的丙級(jí)電腦裝修會(huì)考一題實(shí)作,是要將某個(gè) partition 做成 FAT 好讓多重開(kāi)機(jī)作業(yè)系統(tǒng)可以同時(shí)支援之故。 那妳會(huì)問(wèn), Linux 真的不能讀 NTFS ?而 Windows 真的不能讀 Ext2/ext3 檔案系統(tǒng)嗎?其實(shí)是可以啦! 某些團(tuán)體有推出一些驅(qū)動(dòng)程式 (模組),透過(guò)這些模組的幫忙,Linux 可以讀到 NTFS 的檔案系統(tǒng)內(nèi)容, 而 Windows 可以讀到 Ext2/ext3 的檔案系統(tǒng)說(shuō)。


小標(biāo)題的圖示啥是 Linux 目錄樹(shù)資料架構(gòu)?
在前一小節(jié)我們談到了 inode 與 block 這兩個(gè)東西,也知道了檔案的資料其實(shí)是(1)屬性與(2)內(nèi)容兩者, 而我們可以透過(guò) inode 記錄的 block 號(hào)碼來(lái)取得檔案的屬性與內(nèi)容資料。所以,其實(shí)我們只要知道 inode 號(hào)碼就能夠知道一個(gè)檔案的完整資料了。可是你有沒(méi)有想到一件事, 那就是『我怎麼知道某一個(gè)檔案的屬性是記錄在那個(gè) inode 號(hào)碼上?』 此時(shí)就得要透過(guò)目錄樹(shù)了 (directory tree)。

如同前面提到的,Linux 已經(jīng)沒(méi)有所謂的裝置名稱了,所以當(dāng)然也沒(méi)有 C, D... 槽。那麼我們的檔案要如何放置? 其實(shí) Linux (或 Unix-Like, 類 Unix 系統(tǒng)) 使用的是目錄樹(shù)。最頂層的目錄為根目錄 (/) ,所有的目錄都在這個(gè)根目錄之後。 這個(gè)目錄樹(shù)也是整個(gè)檔案的基礎(chǔ)!如果你以檔案總管的想法來(lái)思考的話,如同下圖所示:

Windows 檔案總管的目錄示意圖
圖十八、檔案總管的目錄示意圖

在圖十八中方框圈選起來(lái)的部分,那就是目錄!而檔案總管中最頂層的目錄稱為『桌面』,那在 Linux 底下則是根目錄。 妳可以使用下圖來(lái)稍微瞭解一下目錄樹(shù)的概念:

Linux 系統(tǒng)的目錄樹(shù)示意圖
圖十九、Linux 系統(tǒng)的目錄樹(shù)示意圖

仔細(xì)看一下圖十九的內(nèi)容,第一行有個(gè) bin ,倒數(shù)第二行也有個(gè) bin ,那麼相同檔名可以同時(shí)存在嗎? 其實(shí)這兩個(gè)檔案是不同檔名的喔!因?yàn)閮烧叻謩e是:
  • /bin
  • /usr/bin
看出不同了吧?因?yàn)樗麄內(nèi)绻麖母夸泴?xiě)起的話,該檔名就會(huì)變成獨(dú)一無(wú)二的了!所以說(shuō),最頂層這個(gè)根目錄是真的很重要?。? 然後要知道的是,那這個(gè)目錄樹(shù)是怎麼跟分割槽連結(jié)在一起啊?


小標(biāo)題的圖示檔案系統(tǒng)與目錄樹(shù)的關(guān)係(掛載)
我們知道 Windows 的分割槽是以 C, D... 等的方式來(lái)處理的,而這個(gè) C, D... 則是掛在『我的電腦』底下,那 Linux 的目錄樹(shù)與分割槽的關(guān)係又如何?

目錄樹(shù)與分割槽之間的相關(guān)性
圖二十、目錄樹(shù)與分割槽之間的相關(guān)性

如上圖,假設(shè)我的硬碟分為兩槽,由於根目錄一定要存在,所以我們可以將根目錄想成是一個(gè)『進(jìn)入點(diǎn)』, 也就是說(shuō),所有的根目錄底下的檔案都是來(lái)自於 partition 1 的意思。因此,我們只要知道根目錄與 partition 1 之間的 inode 對(duì)應(yīng),那麼就能夠依序推出所有檔案的 inode 號(hào)碼了!因?yàn)槊總€(gè)目錄與檔案之間都有相關(guān)性嘛! 那如果你想要有第二個(gè) partition 呢?如上圖所示,我將 /home 獨(dú)立出來(lái)另一個(gè) partition 2 的分割槽, 那 /home 這個(gè)目錄又成為一個(gè)進(jìn)入點(diǎn)了,所有在 /home 底下的資料都是放到 partition 2 當(dāng)中的。

其實(shí)判斷某個(gè)檔案在那個(gè) partition 底下是很簡(jiǎn)單的,透過(guò)反向追蹤即可。以上圖二十來(lái)說(shuō), 當(dāng)我想要知道 /home/vbird/test 這個(gè)檔案在那個(gè) partition 時(shí),由 test --> vbird --> home --> / , 看那個(gè)『進(jìn)入點(diǎn)』先被查到,那就是使用的進(jìn)入點(diǎn)了。所以 test 使用的是 /home 這個(gè)進(jìn)入點(diǎn)而不是 / 喔!

在 Linux 的專業(yè)術(shù)語(yǔ)方面,我們將 / 與 partition 1 的關(guān)係稱為『掛載 (mount)』, 而根目錄就被稱為『掛載點(diǎn)』了。掛載點(diǎn)一定是目錄,這個(gè)不要忘記了。

現(xiàn)在讓我們來(lái)想一想,那我的電腦如何讀取光碟呢?這個(gè)很重要吧! 在 Windows 裡面使用的是『光碟機(jī)』的代號(hào)方式處理(假設(shè)為 E 槽時(shí)),但在 Linux 底下我們依舊使用目錄樹(shù)喔! 在預(yù)設(shè)的情況下, Linux 是將光碟機(jī)的資料放置到 /media/cdrom 裡頭去的,照這樣來(lái)說(shuō), 如果光碟片裡面有個(gè)檔案檔名為『我的檔案』時(shí),那麼這個(gè)檔案是在哪裡?
  • Windows:桌面\我的電腦\E:\我的檔案
  • Linux: /medai/cdrom/我的檔案
不過(guò)以『掛載』來(lái)說(shuō),如果我將這個(gè)光碟片掛載到 /mnt 這個(gè)掛載點(diǎn)呢? (假設(shè)有 /mnt 這個(gè)目錄存在時(shí)), 那個(gè)檔案最終會(huì)在哪裡?如果你能夠說(shuō)出『在 /mnt/我的檔案』,這表示您已經(jīng)知道掛載的意義了! 這裡最容易搞混,因?yàn)樗c Windows 的分割槽代號(hào)完全不一樣!


大標(biāo)題的圖示參考資料

2007/07/02:真要命!一不小心又寫(xiě)太多~這樣怎麼符合『家長(zhǎng)級(jí)』使用模式呢?真糟糕...
2007/07/03:不過(guò),總算是寫(xiě)完了!大家參考看看吧!

2007/07/xx 以來(lái)統(tǒng)計(jì)人數(shù)

 
     
| 繁體主站 | 簡(jiǎn)體主站 | 基礎(chǔ)篇 | 伺服器 | 企業(yè)應(yīng)用 | 桌面應(yīng)用 | 安全管理 | 討論板 | 酷學(xué)園 | 書(shū)籍戡誤 | 鳥(niǎo)哥我 | 崑山資傳 |
本網(wǎng)頁(yè)主要以 firefox 配合解析度 1024x768 作為設(shè)計(jì)依據(jù)
http://linux. is designed by VBird during 2001-2011. ksu.edu

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    国产精品尹人香蕉综合网| 精品少妇人妻av一区二区蜜桃| 丝袜av一区二区三区四区五区 | 午夜福利在线观看免费| 日韩国产亚洲一区二区三区| 自拍偷拍一区二区三区| 欧美熟妇喷浆一区二区| 国产综合香蕉五月婷在线| 黑人巨大精品欧美一区二区区| 国产一区二区三区四区中文| 精产国品一二三区麻豆| 白丝美女被插入视频在线观看| 国产又粗又猛又长又大| 日韩女优视频国产一区| 中国少妇精品偷拍视频| 麻豆精品视频一二三区| 亚洲另类女同一二三区| 中文字幕亚洲精品乱码加勒比| 亚洲精品欧美精品一区三区| 欧美日韩国产黑人一区| 国产女性精品一区二区三区| 日韩欧美精品一区二区三区| 在线欧美精品二区三区| 久久黄片免费播放大全| 欧美日韩亚洲巨色人妻| 欧美午夜性刺激在线观看| 日本午夜免费啪视频在线| 久久re6热在线视频| 亚洲一区二区三区四区| 91人妻人人精品人人爽| 激情五月天免费在线观看| 女生更色还是男生更色| 色婷婷国产精品视频一区二区保健| 精品人妻精品一区二区三区| 四十女人口红哪个色好看| 天堂网中文字幕在线视频| 日本福利写真在线观看| 日本一区不卡在线观看| 91人妻人人澡人人人人精品| 精品综合欧美一区二区三区| 国内尹人香蕉综合在线|