學Linux必須瞭解的系統分區!!!(通俗易懂)

前言

  • 一個分區的正常使用,必須經過四個步驟,分區、格式化、給分區起一個設備文件名、寫入掛載點。 這四個步驟的詳細內容,耐心的往下看。
  • 系統分區是學習Linux系統必須理解的內容,這樣才能深刻的瞭解Linux系統,並且可以爲之後的學習打下堅定的基礎。

1.磁盤分區

  • 磁盤分區實使用分區編輯器在磁盤上劃分幾個邏輯部分。碟片一旦劃分成數個分區不同類的目錄於文件可以存儲進不同的分區。

小提示: (1)通俗一點說就是把大硬盤分成幾個小硬盤
(2)硬盤和磁盤的區別爲: 硬盤屬於磁盤,由磁盤組裝而成。圓形的磁性盤片被裝在一個盒 子裏密封起來,即可稱之爲硬盤。這樣做的目的是爲了防止磁盤表面劃傷而導致數據丟失。

1.1分區類型

  • 主分區: 最多隻能由4個。
  • 擴展分區:
         最多隻能有1個
         主分區加擴展分區最多有4個
         不能寫入數據,只能包含邏輯分區
  • 邏輯分區

舉個栗子

  • 系統分區也叫做磁盤分區,把大的硬盤,按照需求分成幾個小的硬盤
  • 開始舉栗子: 小明家裏有一面空牆,做個跟牆一樣大的櫃子,但是裏面沒有分成小櫃子,裏面也沒有隔板,這時候把家裏所有的衣服,比如帽子上衣褲子等等,都扔進去。突然有一天要找一雙襪子,本來很簡單,櫃子打開,拿出即可,但是櫃子裏所有的衣服都在一塊,變麻煩了。相當於從硬盤中取用數據和放入數據的效果會大大降低。 這裏的櫃子就是我們的硬盤,如果沒有合理的規劃,我們的硬盤寫入和讀取都會變得極其低下。所以正確得做法是把大櫃子變成合理得小櫃子,比如小明家裏面有三口人,這是把一個大櫃子分成三個小櫃子,規定好,第一個放爸爸得,第二個放媽媽的,第三個放小明的。硬盤也是這樣,把大硬盤按照我們的需求分成幾個分區,比如說c盤放操作系統,d盤放應用軟件,e盤放娛樂資料等等,這就是分區的作用。 這樣的話,一旦進行合理的分區,我們數據的讀取,包括用戶進行數據讀取的時候,讀取的效果會大大增加。
    在這裏插入圖片描述
    在這裏插入圖片描述
  • 當硬盤越來越大,四個主分區就不夠使用了,這個時候必須把主分區當中,拿出來一個分區劃爲擴展分區。邏輯分區可以正確的寫入數據和格式化。
    小明的爺爺奶奶來看小明,並打算住一段時間,這個時候三個櫃子不夠,需要五個櫃子,可是按照硬盤的限制只能分四個分區,爲了解決這個矛盾只能這樣做。分區四不能放入數據也不能格式化,唯一的作用是裏面包含其他的小櫃子,1、2、3是主分區,4是擴展分區,5、6是擴展分區中的邏輯分區,邏輯分區可以正常的格式化並且寫入數據。這個限制不是Linux限制的,而是我們的硬盤限制的,只要硬盤的結構不發生變化,這種限制依然都會限制。
    在這裏插入圖片描述
    在這裏插入圖片描述

2.格式化

  • 格式化(高級格式化)又稱邏輯格式化,它是指根據用戶選定的文件系統(如FAT16、FAT32、NTFS(Windows能識別的文件系統),EXT2、EXT3、EXT4(Linux能識別的文件系統) 等,在磁盤的特定區域寫入特定數據,在分區中劃出一片用於存放文件分配表、目錄表等用於文件管理的硬盤空間。
    小提示: (1)通俗一點說格式化的目的其實就是爲了在硬盤當中寫入文件系統。
    (2) 格式化最主要的目的是寫入文件系統,寫入文件系統,主要做的兩個工作,把硬盤分成一個一個等大小的數據塊,同時建立一個inode列表, 當查找文件的時候,是通過inode號,來找到這個文件的條款,從而知道了這個文件的數據保存到了哪幾個數據塊當中了。從而打開這幾個數據塊,拿出數據拼湊出我們完整的文件,這就是格式化的作用。(下面的栗子中詳細說說明)
    (3) 硬盤必須經過格式化之後才能寫入數據,屬於高級格式化。低級格式化:低級格式化是硬盤的操作,不是操作系統當中的操作。

繼續舉例子:

  • 有了櫃子就能放進衣服了嗎? 櫃子裏還要相應的隔板,上面的放被子,下面的放衣服,下面的在放一些其他的。格式化就可以想象成在每個櫃子裏打入隔板,但是這些隔板必須遵守一定的規則,比如在Linux當中,默認的文件系統ext4,進入格式化的時候,把我們的櫃子,一個一個等大小的數據塊,
    在這裏插入圖片描述
    在這裏插入圖片描述
  • 比如這個數據塊默認的標準大小的4kb,每4kb的空間放入一個小隔板,假設有一個數據是10kb,一個隔板放不下,會拆分放入三個隔斷當中,當然最後一個隔斷只放入了2kb的數據,本身他有4kb,剩餘2kb的剩閒空間是不能在被其他文件佔用了。但是不一定按順數儲存的或者說保存在同一個位置,也就是說這三個數據塊不在一起。 Windows當中有一個工具,這個工具叫做磁盤碎片整理,原理:保存文件的不同數據塊,儘量的把他們放在一起,這樣更加利於數據的讀取。
  • 櫃子的打入隔板,或者硬盤的格式化最主要的目的是把文件系統寫入,寫入文件系統最主要的工作,按照文件系統的規則,把硬盤分割成等大小的數據塊,把這個數據塊起了一個名字block,這個英文意思也就是數據塊的意思。寫入了數據塊,格式化就結束了嗎? 還沒有, 還要做一些規則。文件放入了不同的數據塊當中,當用戶讀取想讀取這個文件的時候,怎末知道文件當中的數據保存在哪幾個數據塊當中那??? 這個時候就需要用到文件的分區表。舉栗子說明: 這樣想象在櫃門上貼一個紙條,紙條上寫入我的某一件衣服,放入了哪一個隔斷。當我需要找那一件衣服的時候,每個衣服都會有一個編號,通過這個表格的編號,對應編號的一行會詳細的說明這件衣服在那個位置,這樣很輕易的把所需的衣物找出來。計算機中數據量太大了,所以這個表格就是必須的。每個文件都需要有一個編號,找文件的時候實其上靠這個編號來找到這個文件的相關條款,通過這個相關條款,就可以知道這個文件放到了哪幾個數據塊當中。這個編號相當於一個ID號,每個文件都有一個,理論上來講,他是唯一的,這個編號把他稱作i節點(inode)。
  • 這就是分區最主要的工作,這就是格式化最主要的工作,就是爲了把我們的大硬盤分成小硬盤,分成小硬盤之後不能直接使用,還要進行格式化,格式化最主要的目的是寫入文件系統,寫入文件系統,主要做的兩個工作,把硬盤分成一個一個等大小的數據塊,同時建立一個inode列表, 當查找文件的時候,是通過inode號,來找到這個文件的條款,從而知道了這個文件的數據保存到了哪幾個數據塊當中了。從而打開這幾個數據塊,拿出數據拼湊出我們完整的文件,這就是格式化的作用。

3.硬件設備文件名

硬件 設備文件名
IDE硬盤 /dev/hd[a-d]
SCSI/SATA/USB硬盤 /dev/sd[a-p]
光驅 /dev/cdrom或/dev/sr0
軟盤 /dev/fd[0-1]
打印機(25針) /dev/lp[0-2]
打印機(USB) /dev/usb/lp[0-15]
鼠標 /dev/mouse

注意事項:

  • 如果是windows,硬盤進行了分區,然後進行格式化,分配盤符就可以直接進行使用了。但是Linux不行,硬盤分成大硬盤分成小硬盤,分完區之後進行格式化,格式化完成之後,在分配盤符之前還要個每個分區起一個設備文件名,或者說,要給每一個分區,起一個硬件文件名。
  • 在Linux當中所有的硬件設備都是文件。“/”是Linux最高一級目錄,也就是根目錄。相當於Windows當中的我的電腦,所有的數據都保存在根目錄當中,dev的一級子目錄,放入了所有的文件都是硬件文件,如果是IDE硬盤,**hd後面加硬盤號,如果只有一個硬盤,hda、如果有第二個硬盤就是hdb.**把硬件文件名稱作硬件設備文件名。
  • Windows是硬盤分區,然後格式化,就可以 直接分配盤符,那是因爲windows有完善的圖形界面,我們能通過這個圖形界面看到這個分區在哪,所以可以直接給他分配盤符,所以Linux最早出現的時候,是沒有圖形界面的,需要讓系統知道我要給哪個分區分配盤符啊,這個時需要給每一個分區和或者硬件設備起一個文件名。
  • Windows:分區、格式化、分配盤符就可以使用了
    Linux:分區、格式化、給分區建立設備文件名、分配盤符纔可以使用
  • 這個設配文件名是固定的,系統自動檢測的,hda代表IDE硬盤接口的第一個硬盤,hdb代表IDE硬盤接口的第二個硬盤硬盤有文件設備名,分區當然也有設備文件名,分區的文件名就是在硬盤的設備文件名之後,加入數字1、2、3、4.
  • IDE硬盤的接口,最主要的區別是傳輸速度,ide硬盤最古老,最高傳輸速度是133MB/s 。 SCSI硬盤接口,這種硬盤接口更加昂貴,理論上的傳輸速度能夠達到,200MB/s,這種硬盤主要用在服務器上。這兩種基本淘汰。現在使用最多的是sata 1、2、3代。3代最高傳輸速度500MB,目前不管是個人機還是服務器,使用的硬盤接口一般都是sata硬盤接口。

3.1分區設備文件名

  • 設備文件名
    /dev/hda1(IDE硬盤接口)
    /dev/sda1(SCSI硬盤接口、SATA硬盤接口)

說明:

  • 這個分區的設備文件名也是系統自動檢測的。會認即可。1、2、3、4這四個分區號只能給主分區和擴展分區使用,就算一個硬盤當中沒有分夠四個主分區,我的邏輯分區也不能佔用1、2、3、4這四個分區號,這個5都代表第一個邏輯分區。永遠都是從5開始的。
  • 詳細看這個分區的表示方法: https://editor.csdn.net/md/?articleId=106988329

4.掛載

  • 必須分區
    / (根分區)
    swap分區 (交換分區,內存2倍,不超過2GB)
  • 推薦分區
    /boot (啓動分區,200MB)

說明:

  • 有了分區就可以正常使用了嗎???還不能,還需要經過掛載。給分區分配掛載點的過程叫掛載。 設備文件名和掛載點聯繫起來,才能通過掛載點來訪問硬件設備。Linux中的掛載點跟windows中的盤符(C、D盤)類似。在Linux當中把他叫做掛載。盤符是Windows的叫法,在Linux應該說掛載點
  • 分區、格式化、給每個分區起一個設備文件名、寫入掛載點。 經過這四個步驟,這個分區就可以正常使用了。Windows是拿C、D、E、F來作爲盤符的但是 Linux當中是拿空的目錄名稱,來作爲掛載點(盤符)的, 理論上任何一個目錄都可以作爲一個掛載點,有些目錄不可以。如果給根不分區,我們剩餘的很多數據都沒地方可寫了。
  • Swap分區可以理解爲虛擬內存, 當我的真正的內存不夠用的時候,可以拿這部分的交換分區的硬盤空間來當內存。原因:虛擬內存到底不是真正的內存,如果給的在大,也不能取代內存,到達2GB的時候在給大,就會佔用我們的硬盤空間,對我們的系統不會產生更多的影響。有了必須分區Linux就會正常使用,安裝。
  • 把/boot目錄單獨分區,任何一個操作系統,要想正常啓動,都必須有一定的空餘空間,如果沒有給/boot單獨分區,所有的數據都放在根目錄下,這個時候萬一把根目錄寫滿了,這個時候Linux系統會有能起不來,爲了解決這個問題,一般會把/boot單獨分區。/boot是用來專門保存啓動的時候需要的數據。 不在這個/boot分區當中寫入任何數據,永遠都會有一定的空餘空間,就算把根分區寫滿了,也不會影響Linux的啓動。

5.文件系統結構

在這裏插入圖片描述
在這裏插入圖片描述

  • 根分區是最高一級目錄,在根分區當中保存一級目錄,在一級目錄下保存二級目錄或二級文件。
  • 在Windows中C、D、E盤時並列的,根分區可以單獨分配一個磁盤空間的。也可以把根分區的某一個子目錄拿出來,指定獨立的硬盤空間,
    (1)如果在/etc目錄下寫入數據,寫入的是/dev/sda3的硬盤空間
    (2)如果在/boot目錄寫入數據,寫入的是/dev/sda1的硬盤空間
    (3)如果往/home目錄寫入數據,寫入的是/dev/sda2的硬盤空間。
  • 從Linux系統上看,/home目錄和/boot目錄都是根分區(目錄)的子目錄,但是從硬盤上來看, 可以每一個目錄都有獨立的硬盤空間。

6.總結

  • (1)分區: 把大硬盤分成小的邏輯分區
    (2)格式化: 寫入文件系統
    (3)分區設備文件名: 給每個分區定義設備文件名
    (4)掛載: 給每個分區分配掛載點

小提示:

  • 格式化就是爲了清空數據?其實不是。 格式化的目的是爲了寫入文件系統,在寫入文件的同時,會附帶的把硬盤中的數據清空。
  • 掛載點必須是目錄,而且這個目錄是空目錄,纔可以進行掛載的分配。有了這樣的操作之後,我們的分區就可以正常使用了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章