国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Linux > 正文

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

2024-08-27 23:56:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
硬盤(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ú)日志模式、在線(xiàn)碎片整理、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)似衣柜的隔斷,用來(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 所示。
文件系統(tǒng)的數(shù)據(jù)存取示意圖
圖 1 文件系統(tǒng)的數(shù)據(jù)存取示意圖
圖 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)稱(chēng)為索引式文件系統(tǒng),Linux 文件系統(tǒng)(Ext 系列)就屬于索引式文件系統(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 所示。

文件系統(tǒng)描 述
ExtLinux 中最早的文件系統(tǒng),由于在性能和兼容性上具有很多缺陷,現(xiàn)在已經(jīng)很少使用
Ext2是 Ext 文件系統(tǒng)的升級(jí)版本,Red Hat Linux 7.2 版本以前的系統(tǒng)默認(rèn)都是 Ext2 文件系統(tǒng)。于 1993 年發(fā)布,支持最大 16TB 的分區(qū)和最大 2TB 的文件(1TB=1024GB=1024x1024KB)
Ext3是 Ext2 文件系統(tǒng)的升級(jí)版本,最大的區(qū)別就是帶日志功能,以便在系統(tǒng)突然停止時(shí)提高文件系統(tǒng)的可靠性。支持最大 16TB 的分區(qū)和最大 2TB 的文件
Ext4是 Ext3 文件系統(tǒng)的升級(jí)版。Ext4 在性能、伸縮性和可靠性方面進(jìn)行了大量改進(jìn)。Ext4 的變化可以說(shuō)是翻天覆地的,比如向下兼容 Ext3、最大 1EB 文件系統(tǒng)和 16TB 文件、無(wú)限數(shù)量子目錄、Extents 連續(xù)數(shù)據(jù)塊 概念、多塊分配、延遲分配、持久預(yù)分配、快速 FSCK、日志校驗(yàn)、無(wú)日志模式、在線(xiàn)碎片整理、inode 增強(qiáng)、默認(rèn)啟用 barrier 等。它是 CentOS 6.3 的默認(rèn)文件系統(tǒng)
swapswap 是 Linux 中用于交換分區(qū)的文件系統(tǒng)(類(lèi)似于 Windows 中的虛擬內(nèi)存),當(dāng)內(nèi)存不夠用時(shí),使用交換分區(qū)暫時(shí)替代內(nèi)存。一般大小為內(nèi)存的 2 倍,但是不要超過(guò) 2GB。它是 Linux 的必需分區(qū)
NFSNFS 是網(wǎng)絡(luò)文件系統(tǒng)(Network File System)的縮寫(xiě),是用來(lái)實(shí)現(xiàn)不同主機(jī)之間文件共享的一種網(wǎng)絡(luò)服務(wù),本地主機(jī)可以通過(guò)掛載的方式使用遠(yuǎn)程共享的資源
iso9660光盤(pán)的標(biāo)準(zhǔn)文件系統(tǒng)。Linux 要想使用光盤(pán),必須支持 iso9660 文件系統(tǒng)
fat就是 Windows 下的 fatl6 文件系統(tǒng),在 Linux 中識(shí)別為 fat
vfat就是 Windows 下的 fat32 文件系統(tǒng),在 Linux 中識(shí)別為 vfat。支持最大 32GB 的分區(qū)和最大 4GB 的文件
NTFS就是 Windows 下的 NTFS 文件系統(tǒng),不過(guò) Linux 默認(rèn)是不能識(shí)別 NTFS 文件系統(tǒng)的,如果需要識(shí)別,則需要重新編譯內(nèi)核才能支持。它比 fat32 文件系統(tǒng)更加安全,速度更快,支持最大 2TB 的分區(qū)和最大 64GB 的文件
ufsSun 公司的操作系統(tǒng) Solaris 和 SunOS 所采用的文件系統(tǒng)
procLinux 中基于內(nèi)存的虛擬文件系統(tǒng),用來(lái)管理內(nèi)存存儲(chǔ)目錄 /proc
sysfs和 proc —樣,也是基于內(nèi)存的虛擬文件系統(tǒng),用來(lái)管理內(nèi)存存儲(chǔ)目錄 /sysfs
tmpfs也是一種基于內(nèi)存的虛擬文件系統(tǒng),不過(guò)也可以使用 swap 交換分區(qū)
本小節(jié)的內(nèi)容基于底層,不是很好理解。如果大家實(shí)在看不明白,也沒(méi)有關(guān)系,這一小節(jié)的內(nèi)容并不影響對(duì) Linux 的操作和使用,也不影響我們后面的學(xué)習(xí)。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 鸡西市| 乐安县| 沁源县| 凤山县| 绍兴县| 张家口市| 大英县| 呼伦贝尔市| 盐城市| 乌鲁木齐市| 永安市| 开鲁县| 金湖县| 瓮安县| 鄯善县| 江达县| 象州县| 车致| 威信县| 汝阳县| 张家口市| 塘沽区| 天水市| 吴江市| 女性| 德安县| 武山县| 西青区| 图片| 碌曲县| 清徐县| 昌吉市| 墨竹工卡县| 湟源县| 曲松县| 临朐县| 元朗区| 芜湖市| 洛扎县| 金平| 蒲江县|