linux系統(tǒng)上的文件管理-創(chuàng)新互聯(lián)

一、 inode、data block與super block

創(chuàng)新互聯(lián)公司為企業(yè)級(jí)客戶提高一站式互聯(lián)網(wǎng)+設(shè)計(jì)服務(wù),主要包括成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、app軟件開發(fā)、小程序設(shè)計(jì)、宣傳片制作、LOGO設(shè)計(jì)等,幫助客戶快速提升營(yíng)銷能力和企業(yè)形象,創(chuàng)新互聯(lián)各部門都有經(jīng)驗(yàn)豐富的經(jīng)驗(yàn),可以確保每一個(gè)作品的質(zhì)量和創(chuàng)作周期,同時(shí)每年都有很多新員工加入,為我們帶來(lái)大量新的創(chuàng)意。 

1. inode用于記錄文件的屬性與權(quán)限等信息;一個(gè)文件占用一個(gè)inode,同時(shí)inode還記錄了該文件的data block的位置。inode的大小有128、256字節(jié)兩種規(guī)格。

2. data? block:用于存儲(chǔ)文件的實(shí)際內(nèi)容。塊大小為1K、2K、4K字節(jié)三種規(guī)格。

3. super block: 記錄文件系統(tǒng)的整體信息,包括了inode與data block的總量、已使用量、剩余的旦、卷標(biāo)、文件系統(tǒng)格式等相關(guān)的信息??梢允褂胻une2fs -l? Partition_Name來(lái)查看。

注意:以ext2文件系統(tǒng)為例,對(duì)于128字節(jié)的inode,除了存儲(chǔ)文件的權(quán)限屬性等信息外,只能存12個(gè)4字節(jié)的文件指向的數(shù)據(jù)塊號(hào)碼。那對(duì)于一個(gè)大文件來(lái)呢,需要幾十上百萬(wàn)個(gè)數(shù)據(jù)塊來(lái)存放文件內(nèi)容。這個(gè)怎么弄?其中inode除了12個(gè)直接的數(shù)據(jù)指向以外,還有一個(gè)間接、一個(gè)雙間接、一個(gè)三間接的記錄區(qū)。所謂間接的意思就是inode的直接指向會(huì)指向一個(gè)數(shù)據(jù)block,這個(gè)block不存數(shù)據(jù),而是存放的文件的數(shù)據(jù)塊的號(hào)碼。對(duì)于1K大小的數(shù)據(jù)塊,可以存儲(chǔ)256個(gè)指向。而256個(gè)數(shù)據(jù)區(qū)塊,可以存儲(chǔ)的文件大小為256KB;雙間接可以存儲(chǔ)64MB數(shù)據(jù),三間接可以存儲(chǔ)16G大小的文件;???? 對(duì)于2K和4K大小以及其他文件系統(tǒng),算法不相同。但都借用了數(shù)據(jù)區(qū)塊來(lái)存放數(shù)據(jù)區(qū)塊號(hào)。

二、 文件是如何存取的

每個(gè)文件系統(tǒng)在其內(nèi)部劃分了多個(gè)block group,而每個(gè)block group內(nèi)又包括了以下幾個(gè)內(nèi)容:

1. super block:?? inode與數(shù)據(jù)區(qū)塊的總量,剩余的數(shù)量,inode與數(shù)據(jù)區(qū)塊的大小,保留等信息。第一個(gè)塊組肯定有超級(jí)塊,后續(xù)的塊組,有的有,有的沒有。

2. 文件系統(tǒng)描述: 描述區(qū)塊群組的開始與結(jié)束的區(qū)塊,以及說(shuō)明每個(gè)區(qū)段(超級(jí)區(qū)塊、對(duì)照表、inode對(duì)照表、數(shù)據(jù)區(qū)塊)分別介于哪一個(gè)區(qū)塊之間,這部分也能用dumpe2fs來(lái)查看。

3. block bitmap:用于記錄哪些block是空的,哪些是已經(jīng)使用的。

4. inode bitmap:? 用于記錄哪些inode是空的,哪些是已經(jīng)使用的。

5. inode table:? 用于存儲(chǔ)文件屬性以及該文件數(shù)據(jù)區(qū)塊號(hào)碼

6. data block: 用于存儲(chǔ)文件的實(shí)際內(nèi)容。

存取文件時(shí),先檢查用戶對(duì)目錄是否有寫和執(zhí)行權(quán)限;接著系統(tǒng)通過(guò)inode bitmap查詢哪些inode表是空的,將新文件的屬性寫入空的inode表;根據(jù)block bitmap查找哪些data block是空的,是空的則可以將文件內(nèi)容寫入到這些block中;更新inode bitmap以及block bitmap,并更新超級(jí)塊的信息。

三、 系統(tǒng)如何通過(guò)路徑讀取文件內(nèi)容

舉例說(shuō)明,查找/etc/passwd文件

1. 先查找/的inode號(hào)碼,/的inode里有記錄/對(duì)應(yīng)的data block;

2. 在/的data block中找到etc目錄對(duì)應(yīng)的inode

3.? 讀取etc目錄對(duì)應(yīng)的inode表中,找到etc目錄的數(shù)據(jù)塊

4. 在etc目錄的數(shù)據(jù)塊中,找到passwd文件的inode號(hào)碼

5. 讀取passwd文件的inode中數(shù)據(jù)塊指向,并將內(nèi)容讀取出來(lái)。

總結(jié): 從根目錄開始,先找inode,通過(guò)inode找到對(duì)應(yīng)的數(shù)據(jù)區(qū)塊;在數(shù)據(jù)區(qū)塊中,分兩種情況:1. 該文件是目錄,則數(shù)據(jù)區(qū)塊記錄了其下屬子目錄及文件的文件名以及對(duì)應(yīng)的inode; 2. 該文件是非目錄文件,則數(shù)據(jù)區(qū)域記錄了文件的內(nèi)容。?? 通過(guò)inode--->block--->inode--->block依次循環(huán)來(lái)讀取文件。在這個(gè)過(guò)程中,需要檢查用戶對(duì)目錄及文件的權(quán)限。

四、 硬鏈拉與軟鏈接

1. 硬鏈接是指向同一個(gè)inode的多個(gè)文件路徑; 目錄不支持硬鏈接,不能跨文件系統(tǒng),創(chuàng)建硬鏈接會(huì)增加inode計(jì)數(shù)。

2. 軟鏈接指向的是文件實(shí)際的訪問(wèn)路徑,可以跨文件系統(tǒng),支持對(duì)目錄創(chuàng)建軟鏈接,刪除軟鏈接不會(huì)影響原文件。

五、 MBR

存儲(chǔ)設(shè)備的第一個(gè)扇區(qū),也就是最前面的512字節(jié),叫做入引導(dǎo)記錄

1. 主引導(dǎo)記錄的結(jié)構(gòu)

主引導(dǎo)記錄只有512字節(jié),放不了太多東西,它的主要作用是告訴計(jì)算機(jī)到硬盤的哪一個(gè)位置去找操作系統(tǒng)。

主引導(dǎo)記錄由以下3個(gè)部分組成:

A. 第1-446字節(jié):調(diào)用操作系統(tǒng)的機(jī)器碼

B. 第447-510字節(jié):分區(qū)表 (Partition? table)

C. 第511-512字節(jié):主引導(dǎo)記錄簽名(0X55和0XAA)

2. 分區(qū)表

硬盤分區(qū)有很多好處,考慮到每個(gè)區(qū)可以安裝不同的操作系統(tǒng),主引導(dǎo)記錄呢須知道 將控制權(quán)轉(zhuǎn)交給哪個(gè)區(qū)。

分區(qū)表的長(zhǎng)度只有64字節(jié),里面又分成4項(xiàng),每項(xiàng)16字節(jié)。所以一個(gè)硬盤 最多只能分4個(gè)一級(jí)分區(qū),又叫作主分區(qū)。每組的記錄區(qū)主要記錄了該區(qū)段的起始與結(jié)束的柱面號(hào)碼。

每個(gè)主分區(qū)的16個(gè)字節(jié)由以下6部分組成:

A. 第1個(gè)字節(jié),如果為0X80,就表示該主分區(qū)是激活分區(qū),控制權(quán)要轉(zhuǎn)交給這個(gè)分區(qū)。4個(gè)主分區(qū)里面只能有一個(gè)分區(qū)是激活的。

B. 第2-4字節(jié):主分區(qū)第一個(gè)扇區(qū)的物理位置(柱面、磁頭、扇區(qū)號(hào)等)

C. 第5字節(jié):主分區(qū)類型

D. 第6-8字節(jié):主分區(qū)最后一個(gè)扇區(qū)的物理位置

E. 第9-12字節(jié):該主分區(qū)第一個(gè)扇區(qū)的邏輯地址

F. 第13-16字節(jié):主分區(qū)的扇區(qū)總數(shù)。

最后的4字節(jié)(主分區(qū)的扇區(qū)總數(shù))決定了這個(gè)主分區(qū)的長(zhǎng)度,也就是說(shuō),一個(gè)主分區(qū)的扇區(qū)總數(shù)最多不超過(guò)2的32次方。

如果每個(gè)扇區(qū)為512字節(jié),則意味著單個(gè)分區(qū)大不超過(guò)2TB。再考慮到扇區(qū)的邏輯地址也是32位,所以單個(gè)硬盤可利用的大空間也不超過(guò)2TB。如果想再使用更大的硬盤,只有兩個(gè)方法:一是提高每個(gè)扇區(qū)的字節(jié)數(shù),二是增加扇區(qū)總數(shù)。

六、 文件名存儲(chǔ)在哪里,文件的屬性存儲(chǔ)在哪里

1. 目錄也是文件;

2. 文件的文件名存儲(chǔ)在目錄的數(shù)據(jù)塊中;

3. 文件的屬性,權(quán)限等信息存儲(chǔ)在inode中;

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享標(biāo)題:linux系統(tǒng)上的文件管理-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)路徑:http://bm7419.com/article20/igdjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、品牌網(wǎng)站制作、虛擬主機(jī)定制開發(fā)、品牌網(wǎng)站設(shè)計(jì)自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)