您好,登錄后才能下訂單哦!
今天小編給大家分享一下linux檔案系統是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
linux檔案就是目錄(文件)。為了方便管理文件和目錄,Linux系統將它們組織成一個以根目錄“/”開始的倒置的樹狀結構。Linux中的目錄和Windows系統中的文件夾類似,不同之處在于,Linux系統中的目錄也被當做文件看待。
linux檔案就是目錄(文件)。
為了方便管理文件和目錄,Linux 系統將它們組織成一個以根目錄 / 開始的倒置的樹狀結構。Linux 中的目錄,和 Windows 系統中的文件夾類似,不同之處在于,Linux 系統中的目錄也被當做文件看待。
在 Linux 操作系統中,所有的文件和目錄都被組織成以一個根節點“/”開始的倒置的樹狀結構,如圖 1 所示。
圖 1 Linux 系統文件和目錄組織示意圖
其中,目錄就相當于 Windows 中的文件夾,目錄中存放的既可以是文件,也可以是其他的子目錄,而文件中存儲的是真正的信息。
文件系統的最頂層是由根目錄開始的,系統使用“/”來表示根目錄,在根目錄之下的既可以是目錄,也可以是文件,而每一個目錄中又可以包含(子)目錄或文件。如此反復就可以構成一個龐大的文件系統。
其實,使用這種樹狀、具有層次的文件結構主要目的是方便文件系統的管理和維護,想象一下,如果所有的文件都放在一個目錄下,其文件系統的管理和維護將變成一場噩夢。
現實中也有許多類似的例子,例如在整個行政管理體制中,村民就相當于文件,他們住在一個村莊中,村莊就是存儲村民的目錄。許多村又組成了個鄉,這個鄉就相當于存儲村的目錄,依此類推,最終就構建出了一個龐大的行政區域管理結構圖。
注意,目錄名或文件名都是區分大小寫的,如 dog、DOG 和 Dog 為 3 個不同的目錄或文件。完整的目錄或文件路徑是由一連串的目錄名所組成的,其中每一個目錄由“/”來分隔。如 cat 的完整路徑是 /home/cat。
在文件系統中,有兩個特殊的目錄,一個是用戶所在的工作目錄,即當前目錄,可用一個點“.”表示;另一個是當前目錄的上一層目錄,也叫父目錄,用兩個點“..”表示。
如果一個目錄或文件名是以一個點開始,就表示這個目錄或文件是一個隱藏目錄或文件。即以默認方式査找(后續會講查找命令)時,不顯示該目錄或文件。
為了方便管理和維護,Linux 系統采用了文件系統層次標準,也稱為 FHS 標準,它規定了根目錄下各個目錄應該存在哪些類型的文件(或子目錄),比如說,在 /bin 和 /sbin 目錄中存放的應該是可執行文件
硬盤的物理組成
首先簡單認識一下硬盤的物理結構,總體來說,硬盤結構包括: 盤片、磁頭、盤片主軸、控制電機、磁頭控制器、數據轉換器、接口、緩存等幾個部份。 所有的盤片(一般硬盤里有多個盤片,盤片之間平行)都固定在一個主軸上。 在每個盤片的存儲面上都有一個磁頭,磁頭與盤片之間的距離很小(所以劇烈震動容易損壞),磁頭連在一個磁頭控制器上,統一控制各個磁頭的運動。 磁頭沿盤片的半徑方向動作,而盤片則按照指定方向高速旋轉,這樣磁頭就可以到達盤片上的任意位置了。
一個磁盤由多個圓環組成,這些圓環就叫做磁道,而一個磁道又分為多個扇區(sector)一個一個扇區是512Byte,硬盤所有磁盤相同位置的圓環組成一個磁柱(Cylinder)。硬盤容量為:512Byte * 扇區數 * 磁柱數*磁頭數
前面三個數都好理解,可能有人不理解乘以磁頭數是干嘛,因為前面三個數相當于計算一個圓的存儲量,而一個磁頭讀取一個圓,所以乘以磁頭數量就相當于圓面積乘以圓數量。
磁盤的分割
磁盤分割的最小單位是磁柱(Cylinder)
磁盤的分割其實就是記錄一個分割區(partition)的起始磁柱與結束磁柱,而這些被記錄的信息都存放在主要開機扇區( Master Boot Recorder, MBR )。事實上, MBR 就是在一塊硬盤的第零軌上面,這也是計算機開機之后要去利用該硬盤時, 必須要讀取的第一個區域。
思考一個問題:MBR的大小是不是固定的?
我們這么想,數據的存儲順序為 : MBR + 其他數據 。如果MBR的大小不固定,比如原來MBR中存放了3個partition的信息,現在我們要新增一個partition,會出現什么后果?后果就是所有的“其他數據”都要順序的向后移動一個partition信息的距離。是不是想到了數組的增刪了。所以我們希望將MBR固定,事實也是如此MBR被固定為只能存放4個partition的信息。這樣似乎好多了,但是只有四個partition,夠用嗎?設計者當然也想到了這個問題,所以將partition分為Primary和Extended兩類(E最多只能有一個)。其中P是可以直接使用的,而E不能直接使用,E相當于一個指針,指向擴展的partition的位置信息存儲處。
filesystem
filesystem也即文件系統,每個oartition都可以由自己的filesystem,例如fat32,ntfs之類的
不同的partuition雖然filesystem不一樣,但是都是用來存儲數據的。前面我們介紹了硬盤的最小存儲單元為sector(扇區,一般為512Byte),但是filesystem的最小存儲單元卻不是sector而是block。block是sector的2的次方倍數,磁頭一次讀取一個block的數據。所以如果block過小,則讀取一個文件時磁頭需要讀取較多數量的block,這樣效率很低,但是block也不能過大,應為一個block中只能存在一個檔案,例如block大小為100M,那么如果有一個100.1M的文件,則需要占用兩個block,浪費了大量空間。
superblock
每個filesystem中的第一個block稱為superblock。superblock的作用是存儲filesystem的大小,空的和填滿的區塊以及其他的總書和諸如此類的信息。也就是說如果你要使用一個filesystem的時候,第一個要經過的就是superblock這個塊了,如果superblock壞了,這個partition大概也回天乏術了。
linux的EXT2文件系統
我們既然是學習linux,自然要學習linux的filessystem,我們以linux最標準的EXT2做說明。
EXT2中的filesystem分為inode區和block區,其中 inode存儲文件的相關屬性等信息,而block區存儲文件的內容,每個inode都充當指針pointer的作用,它能描述文件的相關屬性并指向該文件所在block的位置。blocks與inodes的數量在一開始格式化的時候就已經固定了。
整個filesystem示意圖:
SuperBlock:如前所述, Superblock 是記錄整個 filesystem 相關信息的地方, 沒有 Superblock ,就沒有這個 filesystem 了。他記錄的信息主要有:
block 與 inode 的總量;
未使用與已使用的 inode / block 數量;
一個 block 與一個 inode 的大小;
filesystem 的掛載時間、最近一次寫入數據的時間、最近一次檢驗磁盤 (fsck) 的時間等檔案系統的相關信息;
一個 valid bit 數值,若此檔案系統已被掛載,則 valid bit 為 0 ,若未被掛載,則 valid bit 為 1 。
Group Description:紀錄此 block 由由何處開始記錄;
Block bitmap:此處記錄那個 block 有沒有被使用;
Inode bitmap:此處記錄那個 inode 有沒有被使用;
Inode table:為每個 inode 數據存放區;
Data Blocks:為每個 block 數據存放區。
linux檔案系統的運作
我們知道硬盤的存取速度相對于內存來說是很慢的,linux為了提高整體的速度,采用異步處理的方式。
什么是異步呢?舉例來說:『當系統讀取了某一個檔案, 則該檔案所在的區塊數據會被加載到內存當中,所以該磁盤區塊就會被放置在主存儲器的緩沖快取區中, 若這些區塊的數據被改變時,剛開始數據僅有主存儲器的區塊數據會被改變, 而且在緩沖區當中的區塊數據會被標記為『 Dirty 』,這個時候磁盤實體區塊尚未被修正! 所以亦即表示,這些『 Dirty 』區塊的數據必需回寫到磁盤當中, 以維持磁盤實體區塊上的數據與主存儲器中的區塊數據的一致性。』
所以linux的關機真的要注意,否則可能會造成文件的丟失甚至是磁盤的損毀!!!
mount point
所以linux的關機真的要注意,否則可能會造成文件的丟失甚至是磁盤的損毀!!!
mount point
我們上面提到的都是關于檔案系統 (filesystem),但是要能夠讓我們的 Linux 使用的話, 非得『掛載 (mount)』上我們的 Linux 系統才行啊! 剛剛我們上面提到了目錄可以記錄文件名與 inode 的相關信息,此外, 目錄也是讓我們得以跟 filesystem 產生對應的入口點。因此,我們稱那個入口點目錄為『 掛載點 (mount point) 』
以上就是“linux檔案系統是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。