經過前面幾篇博文,我們确定了将要學習的Linux發行版本——Red Hat Enterprise Linux,在正式安裝、接觸這個全新的系統之前,還是有些準備工作要做,這其中首要的就是要了解與Linux相關的硬碟分區、檔案系統及目錄結構等基礎知識。
<b>1</b><b>、Linux中如何表示硬碟和分區</b>
在安裝作業系統之前,一般需要先對硬碟進行分區。我們都知道硬碟分區包括主分區、擴充分區、邏輯分區三種類型,之是以會有這樣的區分,是因為在硬碟的主引導扇區中用來存放分區資訊的空間隻有64個位元組(主引導扇區一共隻有512位元組空間),而每一個分區的資訊都要占用16位元組空間,因而理論上一塊磁盤最多隻能擁有4個分區,當然這4個分區都是主分區。這在計算機早期是沒什麼問題的,但後來随着硬碟空間越來越大,4個分區就遠遠不夠了,是以才又引入了擴充分區的概念。擴充分區也是主分區,但是在擴充分區中可以再建立新的分區,這些分區就被稱為邏輯分區,邏輯分區的數量就不再受主引導扇區空間大小的限制了,像IDE磁盤最多可以建立60個邏輯分區。
在Windows系統中,我們一般都是隻建立一個主分區(也就是C槽),再将剩餘的磁盤空間全部劃給擴充分區,最後在擴充分區中建立邏輯分區。在“磁盤管理”工具中可以清楚地檢視到這種邏輯關系。
<a target="_blank" href="http://blog.51cto.com/attachment/201301/091008766.png"></a>
好了,基礎知識複習完了,下面我們來看看在Linux系統中是如何來表示硬碟以及分區的。
首先,在Linux系統中所有的磁盤以及磁盤中的每個分區都是用檔案的形式來表示的。比如在你的電腦中有一塊硬碟,硬碟上劃分了3個分區,那麼在Linux系統中就會有相應的4個裝置檔案,一個是硬碟的裝置檔案,另外每個分區也有一個裝置檔案,所有的裝置檔案都統一存放在/dev目錄中。
不同類型的硬碟和分區的裝置檔案命名都有統一的規則,具體表述形式如下:
硬碟:對于IDE接口的硬碟裝置,表示為“hdX”形式的檔案名,對于SATA或SCSI接口的硬碟裝置,則表示為“sdX”形式的檔案名,其中“X”可以為a、b、c、d等字母序号。例如,将系統中的第1個IDE裝置表示為“hda”,将第2個SATA裝置表示為“sdb”。
分區:表示分區時,以硬碟裝置的檔案名作為基礎,在後邊添加該分區對應的數字序号即可。例如,第1個IDE硬碟中的第1個分區表示為“hda1”、第2個分區表示為“hda2”,第2個SATA硬碟中的第3個分區表示為“sdb3”,第4個分區表示為“sdb4”等。
需要注意的是,由于主分區的數目最多隻有四個,是以主分區和擴充分區的序号也就限制在1~4之間,而邏輯分區的序号将始終從5開始。例如,即便第1個IDE硬碟中隻劃分了一個主分區、一個擴充分區,則建立的第1個邏輯分區的序号仍然是從5開始,應表示為“sda5”,第2個邏輯分區表示為“sda6”。
一個磁盤分區裝置檔案的各部分含義可參考下圖圖示。
<a target="_blank" href="http://blog.51cto.com/attachment/201301/091054429.png"></a>
Windows和Linux系統中對磁盤分區的不同表示方式可參看下圖:
<a target="_blank" href="http://blog.51cto.com/attachment/201301/091132369.png"></a>
<b>2. Linux</b><b>使用的檔案系統類型</b>
檔案系統類型決定了向分區中存放、讀取檔案資料的方式和效率,在對分區進行格式化時需要選擇所使用的檔案系統類型。在Windows系統中,硬碟分區通常都是采用FAT32或NTFS檔案系統,而在Linux系統中,硬碟分區則大都是采用EXT4檔案系統。
EXT4,第4代擴充檔案系統,是RHEL6中預設使用的檔案系統類型,屬于典型的日志型檔案系統。其特點是保持有磁盤存取記錄的日志資料,便于恢複,性能和穩定性更加出色。
除了EXT4檔案系統之外,Linux中還有一個比較特殊的SWAP類型的檔案系統,swap檔案系統是專門給交換分區使用的。交換分區類似于Windows系統中的虛拟記憶體,能夠在一定程度上緩解實體記憶體不足的問題。不同的是,在Windows系統中是采用一個名為pagefile.sys的系統檔案作為虛拟記憶體使用,而在Linux系統中則是劃分了一個單獨的分區作為虛拟記憶體,這個分區就被稱為交換分區。交換分區的大小通常設定為主機實體記憶體的2倍,如主機的實體記憶體大小為1GB,則交換分區大小設定為2GB即可。
<b>3. Linux</b><b>的目錄結構</b>
在Windows系統中,為每個分區配置設定一個盤符,在資料總管中通過盤符就可以通路相應的分區。每個分區使用獨立的檔案系統,在每一個盤符中都會有一個根目錄。
在Linux系統中,将所有的目錄和檔案資料組織為一個樹型的目錄結構,整個系統中隻存在一個根目錄,所有的分區、目錄、檔案都在同一個根目錄下面。
在Linux系統中定位檔案或目錄位置時,使用“/”進行分隔(差別于Windows中的“\”)。在整個樹型目錄結構中,使用獨立的一個“/”表示根目錄,根目錄是Linux檔案系統的起點。在根目錄下面按用途不同劃分有很多子目錄,而一個硬碟分區隻有挂載到某個目錄中才能被通路,這個指定的目錄就被稱為挂載點。例如将分區“/dev/hda2”挂載到根目錄“/”,那麼通過通路根目錄“/”就可以通路到“/dev/hda2”分區,這個分區也就稱為根分區。
<a target="_blank" href="http://blog.51cto.com/attachment/201301/091220521.png"></a>
在根目錄下,Linux系統将預設建立一些特殊的子目錄,分别用于不同的用途。比如前面提到的/dev目錄就是專門用來存放各種裝置檔案的,再如/boot目錄用來存放Linux系統的引導檔案,/root目錄是root使用者的主目錄,/home目錄是其他普通使用者的主目錄……等等。如果應用需要,Linux系統中所有的子目錄都可以建立為獨立的硬碟分區,沒有進行獨立分區的子目錄則都會儲存在根分區中。對于初學者,除了交換分區以外,一般隻需要再建立2個分區,分别作為根分區和/boot分區,基本就可以滿足需求了。
關于目錄和分區挂載的相關知識以後再慢慢介紹,這裡能先掌握這些基本概念即可。
本文轉自 yttitan 51CTO部落格,原文連結:http://blog.51cto.com/yttitan/1110426