1. 程式人生 > >Linux——磁碟/檔案/目錄/i 節點 之間的關係

Linux——磁碟/檔案/目錄/i 節點 之間的關係

1. 磁碟分塊
linux檔案系統是Linux系統的心臟部分,提供了層次結構的目錄和檔案。檔案系統將磁碟空間劃分為每1024個位元組一組,稱為塊(也有用512位元組為一塊的,如:SCOXENIX)。編號從0到整個磁碟的最大塊數。

2. 塊的分類
全部塊可劃分為四個部分:
a. 塊0稱為引導塊,檔案系統不用該塊。
b. 塊1稱為專用塊,專用塊含有許多資訊,其中有磁碟大小和全部塊的其他兩部分的大小。
c.從塊2開始是i節點表,i節點表中含有i節點,表的塊數是可變的,後面將做討論。i節點表之後是空閒儲存塊(資料儲存塊),可用於存放檔案內容。

3. 邏輯結構和物理結構
a. 邏輯結構是使用者敲入cat命令後所看到的檔案,使用者可得到表示檔案內容的字元流。
b. 物理結構是檔案實際上如何存放在磁碟上的儲存格式。

4. i節點
一般的檔案都會長於一塊(1024位元組)大小,通常將分散地存放在盤上。當用戶存取檔案時,linux檔案系統需要以正確的順序取出各塊,給使用者提供檔案的邏輯結構。如何正確的得到順序就涉及到i節點了:
i節點是一個64位元組長的表,含有有關一個檔案的資訊,其中有檔案大小、檔案所有者、檔案存取許可方式,以及檔案為普通檔案、目錄檔案還是特別檔案等。

5. 磁碟地址表
在i節點中最重要的一項資訊是磁碟地址表:
a. 磁碟地址表中有13個塊號。
b.前10個塊號是檔案前10塊的存放地址。這10個塊號能給出一個至多10塊長的檔案的邏輯結構,檔案將以塊號在磁碟地址表中出現的順序依次取得相應的塊。
c.當檔案長於10塊時,磁碟地址表中的第11項給出一個塊號,這個塊號指出的塊中含有256個塊號,至此,這種方法滿足了至多長於266塊的檔案(272384位元組)。
d.如果檔案大於10+256塊,磁碟地址表的第12項給出一個塊號,這個塊號指出的塊中含有256個塊號,這256個塊號的每一個塊號又指出一塊,塊中含256個塊號,這些塊號才用於取檔案的內容。(256*256)
e. 磁碟地址中和第13項索引定址方式與第12項類似,只是多一級間接索引。(256*255*256)

6. 最大檔案大小
這樣,在linux系統中,檔案的最大長度是16842762塊(10+256*256+256*255*256),即17246988288位元組,有幸是Linux系統對檔案的最大長度(一般為1到2M位元組)加了更實際的限制,使使用者不會無意中建立一個用完整個磁碟區所有塊的檔案。

7. 目錄
目錄實際上是一個含有目錄表的檔案:
a. 對於目錄中的每個檔案,在目錄表中有一個入口項,入口項中含有檔名和與檔案相應的i節點號。

b. 當用戶敲入catxxx時,檔案系統就在當前目錄表中查詢名為xxx的入口項,得到與檔案xxx相應的i節點號,然後開始取含有檔案xxx的內容的塊。

相關推薦

Linux——磁碟/檔案/目錄/i 節點 之間關係

1. 磁碟分塊 linux檔案系統是Linux系統的心臟部分,提供了層次結構的目錄和檔案。檔案系統將磁碟空間劃分為每1024個位元組一組,稱為塊(也有用512位元組為一塊的,如:SCOXENIX)。編號從0到整個磁碟的最大塊數。 2. 塊的分類 全部塊可劃分為四個部分: a

linux檔案描述符,系統開啟檔案i節點關係

首先區分檔案描述符和開啟的檔案 核心維護了三個資料結構 程序級的檔案描述符表(即每個程序一個) 系統級的開啟檔案表(即該表在整個核心中只有一個) 檔案系統的 i-node 表 針對每個程序,核心為其維護一個開啟的檔案描述

小白學Linux檔案目錄管理

1、Linux上的檔案管理類命令都有哪些,其常用的使用方法及其相關示例演示。 (1)目錄管理命令 ——ls:列出指定目錄下的內容 格式:ls [OPTION]… [FILE]… -a:顯示所有檔案包括隱藏檔案 -A:顯示除.和..之外的所有檔案 -l,–long:顯示檔案的詳細屬性資訊 -h:對

Linux lvm 檔案目錄擴容

[[email protected] ~]# df -h Filesystem                    Size  Used Avail Use% Mounted

linux 常用檔案目錄操作指令

一、在命令列上建立錄和檔案 如何建立和刪除檔案或目錄。 使用mkdir建立一個目錄。用MKDIR命令做一個新的目錄。它通常只有一個引數,即新目錄的名稱。例如,假設當前目錄具有以下內容: 例如: $ ls -F mail/ public_html/ repor

Linux擷取檔案指定行數之間的內容

在叢集上跑資料時市場會出問題,為了方便檢視日誌個人喜歡將日誌下載本地使用notepad檢視,但是由於叢集是公用資源,每一個日誌檔案都會非常大,如圖: 不便於下載到本地進行檢視,為了可以將你關注的部分日誌下載到本地,可以進行如下操作: 1: 確定有自己業務有關的日誌在檔案中的行數

linux檔案目錄結構和檔案操作命令

剛學linux,總結下。 檔案目錄結構 linux 是多使用者作業系統,多個使用者可以共享的全部硬體和軟體。 ubuntu沒有盤的概念,有且只有一個根目錄 / ,所有的檔案都在根目錄下面。 根目錄下有個home資料夾,是系統預設的使用者家目錄,新增使用者的家目錄都放在這裡。 其他資料

Linux---檢視檔案目錄目錄結構(3)

一、檢視檔案和目錄:    1---檢視當前所在的路徑:pwd                /root:表示是在根目錄下的root目錄裡面(“/”表示根目錄)    2---命令格式:命令 -選項 -引數(目錄)    3---檢視當前路徑下的檔案:ls        -d

Linux/Unix檔案系統索引節點淺析

索引節點,其英文為 Inode,是 Index Node 的縮寫。索引節點是整個 Linux 檔案系統的基礎。儲存於檔案系統上的任何檔案都可以用索引節點來表示。舉一個例子來說,假設有一個老圖書館裡面有一本登記簿,上面記錄著館內的書名及存放 位置,比如在哪一間的第幾排存放著哪

Linux lvm 檔案目錄擴容

[[email protected] ~]# df -h Filesystem                    Size  Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root  158G   13G

C#路徑/檔案/目錄/I/O常見操作彙總

 檔案操作是程式中非常基礎和重要的內容,而路徑、檔案、目錄以及I/O都是在進行檔案操作時的常見主題,這裡想把這些常見的問題作個總結,對於每個問題,儘量提供一些解決方案,即使沒有你想要的答案,也希望能提供給你一點有益的思路,如果你有好的建議,懇請能夠留言,使這些內容更加完善。

linux 磁碟目錄掛載

lsblk檢視磁碟與對應掛載點的情況。 hadoop03:/ # lsblk NAME    MAJ:MIN RM   SIZE RO MOUNTPOINT xvda    202:0    0    20G  0 ├─xvda1 202:1    0   1.6G  0

Linux的開啟檔案表:開啟檔案表、檔案描述符、開啟的檔案控制代碼以及i-node之間關係

    在Linux系統中一切皆可以看成是檔案,檔案又可分為:普通檔案、目錄檔案、連結檔案和裝置檔案。檔案描述符(file descriptor)是核心為了高效管理已被開啟的檔案所建立的索引,其是一個非負整數(通常是小整數),用於指代被開啟的檔案,所有執行I/O操作的系統呼叫都通過檔案描述符。程式剛剛啟動的

Linux目錄掛載新磁碟目錄裡原檔案不見了

在掛載新磁碟到一個原先存在的目錄的後發現原先目錄裡面的檔案沒了發現資料夾裡只有lost+found資料夾,不用擔心,檔案並沒丟失,下面是解決辦法 mkdir /new  ###建立臨時目錄 mount /dev/sdb1 /new  ###將磁碟掛載到臨時上目錄 cp -

Linux檔案系統分析之二(超級塊,i節點點陣圖和邏輯塊點陣圖)

第二個扇區和第一個扇區一樣屬於引導塊,這裡就不列舉出其內容了,這裡的一塊是兩個扇區即1024B。接下來的一塊就是大名鼎鼎的超級塊了。其內容如下:00000400h: E0 01 A0 05 01 00 01 00 13 00 00 00 00 1C 08 10 ; ??..

Linux檔案描述符和開啟檔案之間關係

2014-07-06 wcdj 檔案描述符和開啟的檔案之間似乎是一一對應的關係,但實際可以多個檔案描述符指向同一開啟檔案,這些檔案描述符可能在相同或不同的程序中開啟。核心維護的三個資料結構: (1) 程序級的檔案描述符表 (2) 系統級的開啟檔案表 (3) 檔案系統的i-

Linux中的檔案i節點

linux檔案系統是Linux系統的心臟部分,提供了層次結構的目錄和檔案。檔案系統將磁碟空間劃分為每1024個位元組一組,稱為塊(也有用512位元組為一塊的,如:SCOXENIX)。編號從0到整個磁碟的最大塊數。 全部塊可劃分為四個部分,塊0稱為引導塊,檔案系統不用該

linux檔案目錄許可權關係

一,檔案許可權與目錄許可權: 檔案許可權與目錄許可權是不同的。 1,目錄許可權 r:可以查詢該目錄下的檔名。 w:可以在該目錄下刪除、新建檔案、更改檔名。 x:進入該目錄(使該目錄成為工作目錄) 2,檔案許可權 r:顯示該檔案的內容(如:用cat命令) w:可以編輯檔案,修

linux檔案系統之i節點詳解

0塊:引導塊,每塊1024B 1塊:超級塊 2塊:i節點點陣圖 3塊:邏輯塊點陣圖 4...18:i節點區塊 19塊:資料塊,剛好和Linux檔案系統分析之二中提到的資料塊開始於第19塊吻合。 下面分析第一個i節點,它位於塊號為4的塊中,即是第五塊了。 00001000h: ED 41 00 00 80

9. Linux 磁碟檔案管理系統(inode 目錄)

磁碟分割槽後要進行格式化,因為作業系統所設定的檔案屬性/許可權並不相同,為了存放這些檔案所需的資料, 因此需要將分割槽進行格式化,以成為作業系統能夠利用的檔案系統格式。 檔案系統通常會將檔案許可權和檔案屬性這2部分資料分別存放在不同的塊,許可權和屬性放置在