Linux 系統中所有的硬件設備都是用文件的形式來表示和使用的,也就是說,如果你想使用某個硬件設備首先你就需要將其掛載到某個目錄下面,通過對這個目錄的操作來操作設備;如果不掛載,通過Linux系統中的圖形界面系統可以查看找到硬件設備,但命令行方式無法找到。
并不是根目錄下任何一個目錄都可以作為掛載點,由于掛載操作會使得原有目錄中文件被隱藏,因此根目錄以及系統原有目錄都不要作為掛載點,會造成系統異常甚至崩潰,掛載點最好是新建的空目錄
磁盤也是一樣的,磁盤的文件是存放在/dev
目錄下,磁盤設備文件的命名規則為:
主設備號+次設備號+磁盤分區號
常見的主設備號有:sd,hd;它們是代表的不同的磁盤類型:sd
代表的IDE
硬盤,hd
代表的是SCSI
硬盤
次設備號就是同一類型設備的次序,用[a-z]
來表示,/dev/sda
表示第一塊IDE
類型的磁盤,/dev/sdb
表示第二塊IDE
類型的磁盤
磁盤分區編號,每一塊磁盤都會被劃分為多個磁盤分區(這個下面會介紹),每一個分區都會有一個編號,比如:/dev/sda1
表示這是該磁盤的第一個分區,以此類推
磁盤分區
在 Linux 中,每一個硬盤設備都只能劃分四個主分區;若是劃分了一個擴展分區那最多可以劃分三個主分區;可以表示為:
P+P+P+P 或者 P+P+P+E
主分區加擴展分區最多只有四個;可以全部劃分為主分區,也可以之劃分一個主分區;但是擴展分區最多只有一個;擴展分區是不能直接使用的,還有進一步劃分為邏輯分區才能使用;一個擴展分區可以劃分為多個邏輯分區;
主分區的分區編號是:1,2,3,4;從擴展分區劃分出來的邏輯分區的編號是從 5
開始,以次累加
為什么最多只能劃分四個主分區呢
這跟系統啟動有關系;當你啟動電腦時,首先就會加載 BIOS
信息,這里面包含了 Cpu
和其他硬件設備的信息;找到它計算機就知道怎么啟動了
接下來,它會去找 MBR(Master Boot Record)
,也就是主引導記錄;為了方便BIOS
的查找,所以就會把它放在磁盤上第0磁道上的第一個扇區中,磁盤中每個扇區有 512
字節;雖然只有這么大一點,但是要存三部分信息:
- MBR 占 446 字節
- 磁盤分區表占 64字節
- 結束標識符占兩個字節
磁盤分區表總共只有 64 字節,而每個分區信息占 16 個字節,所以就只能有四個主分區了
主分區和擴展分區有什么區別嗎
這應該是歷史遺留的問題了,一開始只有四個分區,后來發現四個分區不夠用,就引入了擴展分區,而擴展分區是不能直接使用的,它必須再劃分為邏輯分區,邏輯分區的數量可以是任意多個。
對用戶而言,主分區和邏輯分區使用起來沒有任何的區別,同時還能夠達到無限分區的目的
為什么要對磁盤進行分區呢
我想很多人都思考過這個問題,我再了解了之后才發現磁盤分區還是有很多的好處的。具體例子:
現在給你一個倉庫,你打算存放快遞,一開始你一股腦的把所有的快遞直接放進去,等到別人來取快遞的時候你就發愁了,幾十甚至上百個快遞得找到啥時候啊
所以你打算開始分區管理,因為你代理了中通,圓通,百世等好幾個快遞,所以你打算按照不同的快遞分為三個貨架;
過一段時間發現同一種快遞如果量大的時候還是會混亂;因此你又想了個辦法就是按照日期給快遞編號,然后按照不同的日期將貨架分為多層,每一層存放某一天的快遞,同時你又找了個表記錄了每個分區快遞存放的位置,這大大增加了存取的效率
磁盤分區的目的,
- 將常用的數據掛載在同一分區,可以加快讀取的速率
- 分區之間相互獨立,當某一個分區的數據受損時不會影響其他分區
- 多個分區可以支持安裝多個操作系統
- 每個分區可以是不同的文件系統
那如何進行分區呢
Linux 常見目錄:
- / :作為系統文件系統的根目錄 ,所有的掛載點都要直接或間接的掛載在根分區上。
- /swap :交換分區,作為虛擬內存使用,通常分成內存的兩倍。
- /boot :引導分區,存放引導文件,如Linux內核等。
- /home:用戶主目錄,類似于 Windows 下的
Users
目錄,保存個人設置和信息 - /tmp :用來存放不同程序執行時產生的臨時文件,系統重啟時不會保存
- /usr :儲存所安裝的程序和系統的配置等文件,用戶的很多應用程序和文件都存放在這個目錄下。
- /root :如果你是以超級用戶的身份登錄的,這個就是超級用戶的主目錄。
- /sbin :這個目錄用來存放系統管理員的系統管理程序。
- /etc :存放了系統管理時要用到的各個配置文件和子目錄。
- /dev :包含了所有 Linux系統中使用的外部設備。但是這里并不是放外部設備的驅動程序。
一般要是新手,可以只建立兩個分區:
- /swap交換分區:一般設置為內存的兩倍,設置大了也沒用
- / 根分區:剩下容量的分給根分區就可以了
這種分區方式比較簡單,如果只是測試可以用這種;要是想當成一個常用的系統,就需要更細一點劃分了,常用的分區方案如下(假如有磁盤有100G):
- / 根分區: 20G
- /boot 啟動分區: 200M
- /swap 交換分區:一般設置內存的兩倍
- /home分區:剩下的全部放在該分區