10.2 Linux文件系統(tǒng)詳解

      網(wǎng)友投稿 820 2022-05-28

      硬盤(pán)是用來(lái)存儲(chǔ)數(shù)據(jù)的,可以將其想象成柜子,只不過(guò)柜子是用來(lái)存儲(chǔ)衣物的。新買(mǎi)來(lái)的硬盤(pán),通常要對(duì)其進(jìn)行分區(qū)并格式化,分區(qū)就如同把一個(gè)大柜按照要求分割成幾個(gè)小柜子(組合衣柜);格式化就好比在每個(gè)小柜子中打入隔斷,決定每個(gè)隔斷的大小和位置,然后在柜門(mén)上貼上標(biāo)簽,標(biāo)簽中寫(xiě)清楚每件衣服保存的隔斷的位置和這件衣服的一些特性(比如衣服是誰(shuí)的,衣服的顏色、大小等)。

      很多初學(xué)者認(rèn)為,對(duì)硬盤(pán)進(jìn)行格式化,只是清除了硬盤(pán)中的數(shù)據(jù),其實(shí)不然,格式化過(guò)程中還向硬盤(pán)中寫(xiě)入了文件系統(tǒng)。因?yàn)椴煌牟僮飨到y(tǒng),管理系統(tǒng)中文件的方式也不盡相同(給文件設(shè)定的屬性和權(quán)限也不完全一樣),因此,為了使硬盤(pán)有效存放當(dāng)前系統(tǒng)中的文件數(shù)據(jù),就需要將硬盤(pán)進(jìn)行格式化,令其使用和操作系統(tǒng)一樣(或接近)的文件系統(tǒng)格式。

      各操作系統(tǒng)使用的文件系統(tǒng)并不相同,例如,Windows 98 以前的微軟操作系統(tǒng)使用 FAT(FAT16)文件系統(tǒng),Windows 2000 以后的版本使用 NTFS 文件系統(tǒng),而 Linux 的正統(tǒng)文件系統(tǒng)是 Ext2。

      既然格式化的真實(shí)目的是為了寫(xiě)入文件系統(tǒng),那么,Linux 中的文件系統(tǒng)到底是什么,又是如何運(yùn)作的呢?

      在 CentOS 6.3 系統(tǒng)中,默認(rèn)的文件系統(tǒng)是 Ext4,它是 Ext3(Ext2) 文件系統(tǒng)的升級(jí)版,在性能、伸縮性和可靠性方面進(jìn)行了大量改進(jìn),變化可以說(shuō)是翻天覆地的,比如:

      向下兼容 Ext3;

      最大 1EB 文件系統(tǒng)和 16TB 文件;

      無(wú)限數(shù)量子目錄;

      Extents 連續(xù)數(shù)據(jù)塊概念;

      多塊分配、延遲分配、持久預(yù)分配;

      快速 FSCK、日志校驗(yàn)、無(wú)日志模式、在線碎片整理、inode 增強(qiáng)、默認(rèn)啟用 barrier 等;

      不同的文件系統(tǒng),其運(yùn)作模式和操作系統(tǒng)的文件數(shù)據(jù)有關(guān)。拿 Linux 操作系統(tǒng)中的文件為例,文件數(shù)據(jù)不僅包括文件中的內(nèi)容,還包含非常多的文件屬性,例如文件的 rwx 權(quán)限以及文件所有者、所屬組、創(chuàng)建時(shí)間等。

      通常情況下,文件系統(tǒng)會(huì)將文件的實(shí)際內(nèi)容和屬性分開(kāi)存放:

      文件的屬性保存在 inode 中(i 節(jié)點(diǎn))中,每個(gè) inode 都有自己的編號(hào)。每個(gè)文件各占用一個(gè) inode。不僅如此,inode 中還記錄著文件數(shù)據(jù)所在 block 塊的編號(hào);

      文件的實(shí)際內(nèi)容保存在 block 中(數(shù)據(jù)塊),類似衣柜的隔斷,用來(lái)真正保存衣物。每個(gè) block 都有屬于自己的編號(hào)。當(dāng)文件太大時(shí),可能會(huì)占用多個(gè) block 塊。

      另外,還有一個(gè) super block(超級(jí)塊)用于記錄整個(gè)文件系統(tǒng)的整體信息,包括 inode 和 block 的總量、已經(jīng)使用量和剩余量,以及文件系統(tǒng)的格式和相關(guān)信息等。

      由此我們可以推斷出,只要能找到文件 inode 所在的位置,自然就能知道這個(gè)文件存放數(shù)據(jù)的 block 號(hào),從而找到文件的實(shí)際數(shù)據(jù)。整個(gè)過(guò)程如圖 1 所示。

      圖 1 中,文件系統(tǒng)先格式化出 inode 和 block 塊,假設(shè)某文件的權(quán)限和屬性信息存放到 inode 4 號(hào)位置,這個(gè) inode 記錄了實(shí)際存儲(chǔ)文件數(shù)據(jù)的 block 號(hào)有 4 個(gè),分別為 2、7、13、15,由此,操作系統(tǒng)就能快速地找到文件數(shù)據(jù)的存儲(chǔ)位置。

      這種管理文件的系統(tǒng)稱為索引式文件系統(tǒng),Linux 文件系統(tǒng)(Ext 系列)就屬于索引式文件系統(tǒng)。

      10.2 Linux文件系統(tǒng)詳解

      注意,inode 節(jié)點(diǎn)并不存儲(chǔ)文件的文件名,因?yàn)槲募俏募谀夸浀臄?shù)據(jù),所以會(huì)保存在上一級(jí)目錄的 block 塊中。前面章節(jié)在講權(quán)限命令的時(shí)候說(shuō)過(guò),要對(duì)文件的上一級(jí)目錄擁有 w 權(quán)限,才能刪除目錄中的文件,就是因?yàn)槲募潜4嬖谀夸浀?block 中的。

      Linux支持的常見(jiàn)文件系統(tǒng)

      Linux 系統(tǒng)能夠支持的文件系統(tǒng)非常多,除 Linux 默認(rèn)文件系統(tǒng) Ext2、Ext3 和 Ext4 之外,還能支持 fat16、fat32、NTFS(需要重新編譯內(nèi)核)等 Windows 文件系統(tǒng)。也就是說(shuō),Linux 可以通過(guò)掛載的方式使用 Windows 文件系統(tǒng)中的數(shù)據(jù)。Linux 所能夠支持的文件系統(tǒng)在 “/usr/src/kemels/當(dāng)前系統(tǒng)版本/fs” 目錄中(需要在安裝時(shí)選擇),該目錄中的每個(gè)子目錄都是一個(gè)可以識(shí)別的文件系統(tǒng)。我們介紹較為常見(jiàn)的 Linux 支持的文件系統(tǒng),如表 1 所示。

      本小節(jié)的內(nèi)容基于底層,不是很好理解。如果大家實(shí)在看不明白,也沒(méi)有關(guān)系,這一小節(jié)的內(nèi)容并不影響對(duì) Linux 的操作和使用,也不影響我們后面的學(xué)習(xí)。

      Linux Windows

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:華為云耀服務(wù)器評(píng)測(cè)
      下一篇:linux系統(tǒng)常用目錄詳解
      相關(guān)文章
      无码欧精品亚洲日韩一区| 亚洲国产精品丝袜在线观看| 亚洲欧洲中文日韩av乱码| 亚洲精品美女久久久久久久| 亚洲综合校园春色| 亚洲国产精品白丝在线观看| 亚洲精品视频观看| 亚洲乱码一二三四区国产| 亚洲精品在线播放| 亚洲第一区视频在线观看| 91亚洲国产成人久久精品网址 | 99亚洲精品高清一二区| 亚洲国产精品无码专区影院| 亚洲一区二区三区无码影院| 亚洲国产精品尤物YW在线观看| 国产精品自拍亚洲| 成人亚洲综合天堂| 亚洲午夜成人精品电影在线观看| 亚洲精品一级无码中文字幕| 亚洲美日韩Av中文字幕无码久久久妻妇 | 亚洲婷婷五月综合狠狠爱| 亚洲人成小说网站色| 亚洲视频在线观看网站| 国产亚洲精品美女| 亚洲AⅤ视频一区二区三区| 国产精品亚洲玖玖玖在线观看 | 激情五月亚洲色图| 亚洲精品乱码久久久久蜜桃| 亚洲爆乳精品无码一区二区| 风间由美在线亚洲一区| 日韩亚洲国产综合久久久| 国产亚洲自拍一区| 无码乱人伦一区二区亚洲一| 日韩精品一区二区亚洲AV观看| 亚洲成在人线中文字幕| 亚洲成a人片在线不卡| 亚洲国产美女精品久久久| 亚洲精品在线视频| 国产精品亚洲аv无码播放| 亚洲人成电影福利在线播放| 亚洲国产午夜精品理论片|