[Linux學(xué)習(xí)教程]Linux文件系統(tǒng)管理與理解
2024-08-28 00:05:34
供稿:網(wǎng)友
 
一、概述 
  Linux支持?jǐn)?shù)量眾多的本地文件系統(tǒng)類(lèi)型和幾種通過(guò)網(wǎng)絡(luò)訪問(wèn)遠(yuǎn)程磁盤(pán)的文件系統(tǒng),分析/proc/filesystems文件的內(nèi)容即可找出當(dāng)前Linux內(nèi)核提供了對(duì)哪些文件系統(tǒng)的支持。 
  要在內(nèi)核中增加對(duì)任意此類(lèi)文件系統(tǒng)的支持都是相當(dāng)簡(jiǎn)單的,只需在構(gòu)造新的內(nèi)核時(shí)選中相應(yīng)的配置選項(xiàng)即可。例如,對(duì)于makexconfig來(lái)說(shuō),只需在它的Filesystems下面選中想要的文件系統(tǒng)類(lèi)型。如果你是為了從其他環(huán)境將磁盤(pán)移入Linux系統(tǒng)才需要增加文件系統(tǒng)類(lèi)型,而且該磁盤(pán)原先的系統(tǒng)環(huán)境使用與Linux不同的分區(qū)表格式,則應(yīng)當(dāng)記住還必須啟用相應(yīng)的分區(qū)類(lèi)型支持(通過(guò)Partition Types設(shè)置)。 
  當(dāng)前,ext2文件系統(tǒng)(即second extended filesystem)是Linux默認(rèn)直接支持的文件系統(tǒng)。ext2文件系統(tǒng)和其他現(xiàn)代Unix使用的文件系統(tǒng)非常相似,但更接近于BSD系統(tǒng)所用的Berkeley Fast Filesystem。ext2文件系統(tǒng)的最大容量是4 TB,但目前它的最大文件大小被Linux內(nèi)核限制為2 GB。 
  ext2的核心是兩個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),即superblock和inode。superblock是一個(gè)包含文件系統(tǒng)重要信息的表格,比如標(biāo)簽、大小、inode的數(shù)量等,它是對(duì)文件系統(tǒng)結(jié)構(gòu)的基礎(chǔ)性的、全局性的描述。因此,沒(méi)有了superblock的文件系統(tǒng)將不再可用。由于這個(gè)原因,文件系統(tǒng)中不同位置存放著superblock的多個(gè)副本。 
  inode是基本的文件級(jí)數(shù)據(jù)結(jié)構(gòu),文件系統(tǒng)中的每一個(gè)文件都可以在其中一個(gè)inode中找到其描述。inode描述的文件信息包括:文件的創(chuàng)建和修改時(shí)間,文件大小,實(shí)際存放文件數(shù)據(jù)的塊列表,等等。對(duì)于較大的文件,塊列表可能包含附加數(shù)據(jù)塊列表的磁盤(pán)位置(稱(chēng)為間接塊),甚至有可能出現(xiàn)二重或三重的間接塊列表。文件名字通過(guò)目錄項(xiàng)(Directory Entry)關(guān)聯(lián)到inode,目錄項(xiàng)由“文件名字-inode”對(duì)構(gòu)成。 
  Linux提供了大量用于創(chuàng)建和管理文件系統(tǒng)的工具。接下來(lái)我們將以新增磁盤(pán)(或分區(qū))為線索,介紹各種要用到的工具。盡管完成這一任務(wù)的過(guò)程并不復(fù)雜,但這些操作還得在Linux命令行進(jìn)行,這是因?yàn)榇蠖鄶?shù)圖形界面的工具在這方面的支持非常有限。 
把磁盤(pán)/分區(qū)加入到Linux系統(tǒng) 
  在Linux文件系統(tǒng)中增加新的磁盤(pán)或者分區(qū)是相當(dāng)簡(jiǎn)單的,其步驟如下: 
把磁盤(pán)接入計(jì)算機(jī) 
如有必要,對(duì)磁盤(pán)進(jìn)行分區(qū)(fdisk或者cfdisk) 
確定和新磁盤(pán)/分區(qū)關(guān)聯(lián)的設(shè)備文件(MAKEDEV) 
在分區(qū)上創(chuàng)建文件系統(tǒng)(mkfs) 
檢查文件系統(tǒng)是否存在一致性錯(cuò)誤(fsck) 
裝配新文件系統(tǒng)(mount) 
在文件系統(tǒng)配置文件(/etc/fstab)中設(shè)定文件系統(tǒng)的啟動(dòng)時(shí)行為和其他選項(xiàng) 
在日常使用中,必要時(shí)修改文件系統(tǒng)的特征和選項(xiàng)(tune2fs)