linux下的磁盤管理

linux下的磁盤管理是學習linux過程中必須掌握的基本技能,也是一個重點和難點。同時其因為linux與window系統的涉及理念上存在的差異以及在使用window系統中所形成的思維定勢,造成了在學習linux環境下的磁盤管理技術時,形成了較為陡峭的學習曲線,其實看官其實也可以把編者也看著是小白一枚,現在編者就按照小白學習的思路聊一聊linux環境下的磁盤管理。

linux下的磁盤管理

一、我的硬盤在哪裡呢,我怎麼找到它?

其實,大家用習慣了window了,很習慣的想到window文件瀏覽器中的C盤,D盤等等。但是大家需要注意的是,所謂的C,D盤或者區都是在window下進行物理分區以及邏輯格式化後的結果。但是到了linux裡面,雖然過程類似,但是作為專家型的操作系統,人家不是這麼玩的。

  • 磁盤的接口類型

linux環境下,就拿最常用的磁盤而言,有兩種,一種是IDE硬盤,另一種為SCSI硬盤,至於什麼是IDE,什麼是SCSI,各位看官就去問度娘就行了。

  • 我的系統裡面有哪幾塊硬盤、類型以及分區情況

如果要知道系統中存在幾塊硬盤,可以使用fdisk -l命令,系統會反饋形如/dev/hda....或者/dev/sda....之類的結果,那麼其中hda之類就代表是ide硬盤,而sda之類的就是SCSI硬盤了。Linux系統的分區格式使用的是xyzN的格式,xy表示的是硬盤類型,如上面的執行結果,sd表示是SCSI硬盤,z表示的是硬盤序號,N表示的是分區號。第一塊硬盤是a,第二塊硬盤是b,所以要查詢Linux系統上有幾塊硬盤,只要注意這一點即可,

  • window中是物理分區,邏輯分區,但是linux裡面是啥,怎麼標識啊?

在Linux 下硬盤分區的表示是通過hdx 或 sdx 表示的,其中 * 表示的是a、b、c …… …… x表示的數字 1、2、3 …… …… IDE 硬盤在Linux或者其它類Unix系統的一般表示為 hd* ,比如hda、hdb ... ... ,我們可以通過 fdisk -l 來查看;有時您可能只有一個硬盤,在操作系統中看到的卻是 hdb ,這與硬盤的跳線有關;另外hdc 大多表示是光驅設備;如果您有兩塊硬盤,大多是 hda和hdb。SCSI 和SATA 硬盤在Linux通常也是表示為 sd* ,比如sda 、sdb ... ... 以fdisk -l 為準。而在使用fdisk -l命令參看磁盤設備的過程中,大家可能會奇怪為什麼大多時候看不到hda4或者sda4的表示,以ide硬盤為例,那是因為主分區有3個,從 hda1-hda3 ,擴展分區由 hda5-hda10 ;此硬盤沒有主分區4,所以也沒有顯示主分區hda4 ;但邏輯分區不可能從4開始,因為那是主分區的位置,明白了嗎?也就是說分了3個主分區和一個擴展分區,擴展分區裡包括所有的邏輯分區,因此,hda4就是擴展分區,而且邏輯分區必須從5開始!

二、我怎麼進行分區

  • 分區的限制

在 Linux 中規定,每一個硬盤設備最多能有 4個主分區(其中包含擴展分區)構成,任何一個擴展分區都要佔用一個主分區號碼,也就是在一個硬盤中,主分區和擴展分區一共最多是 4 個。因此磁盤的分區主要分為主分區(primary partion)和擴充分區(extension partion)兩種,主分區和擴充分區的數目之和不能大於四個。且主分區可以馬上被使用但不能再分區。擴充分區必須再進行分區後才能使用,也就是說它必須還要進行二次分區。那麼由擴充分區再分下去的是什麼呢?它就是邏輯分區(logical partion),況且邏輯分區沒有數量上限制。這些限制,大家要清楚了。

  • 如何分區

使用fdisk +設備的方式進行,例如:fdisk /dev/sda。說起fdisk命令,這個是大家在window環境下的老熟人了,那麼在linux環境下,還是要抱它的大腿。那麼它能幹哪些活呢:

a toggle a bootable flag //設置啟動分區
b edit bsd disklabel //編輯分區標籤
c toggle the dos compatibility flag
d delete a partition //刪除一個分區
l list known partition types //列出分區類型
m print this menu //輸出幫助信息
n add a new partition //建立一個新的分區
o create a new empty DOS partition table //創建一個新的空白DOS分區表
p print the partition table //打印分區表
q quit without saving changes //退出不保存設置
s create a new empty Sun disklabel
t change a partition's system id //改變分區的ID
u change display/entry units //改變顯示的單位
v verify the partition table //檢查驗證分區表
w write table to disk and exit //保存分區表
x extra functionality (experts only)

具體的使用過程中,大家可能要對磁盤的硬件構造有一定的瞭解了,比如扇區、柱面、文件塊的概率有一定了解,這裡就不詳細說了,大家自己深入瞭解吧。

三、格式化分區

在分區格式化完畢之後,那麼就需要對分區進行格式化,那麼這裡使用的命令是mkfs,完整命令形如mkfs -t ext3 /dev/sda1,其中ext3是linux下的文件系統類型,這個就如同window下的fat16,fat32。linux下面文件系統類型基本上就是ext到ext4之類,在使用mkfs命令,去分區進行格式化的過程中指定下即可完成。

四、掛載

最後一個要介紹知識點就是掛載,對應於window下的操作,就是邏輯分區的建立,而在linux下就是叫掛載,使用的是mount和unmount。比如mount /dev/sda1 /test,就是將第一塊scsi硬盤的第一分區掛載到/test下,訪問/test就是訪問的分區sda1。

五、後話

要真正掌握linux環境下的磁盤管理,還有很多其他的需要掌握的知識點,比如inode、 磁盤的讀寫原理以及如何實現開機直接掛載,大家如果有興趣可以在掌握面的情況下再重點突破,今天就到這裡了。下篇想介紹一下df和du的使用。敬請期待。


分享到:


相關文章: