久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

linux的i節點號指什么意思

189次閱讀
沒有評論

共計 2206 個字符,預計需要花費 6 分鐘才能閱讀完成。

本篇內容介紹了“linux 的 i 節點號指什么意思”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

在 linux 中,i 節點號是指 inode 號,用于識別不同的文件。Linux 內部使用 inode 號來識別文件,而非文件名,對于系統來說,文件名是 inode 號的別稱,是便于用戶識別文件的,文件名和 inode 號是一一對應的關系,每個 inode 號對應一個文件名。

一、linux 中的 i 節點

在 linux 中,i 節點指的是 inode 節點。

linux 中,文件查找不是通過文件名稱來查找的。實際上是通過 i 節點來實現文件的查找定位的。我們可以形象的將 i 節點看做是一個指針 fip。當文件存儲到磁盤上去的時候,文件肯定會存放到一個磁盤位置上,可以這樣想象,既然文件數據是存放在磁盤上的,如果我們知道這個文件數據的地址,當我們想要讀寫文件的時候,我們是不是直接使用這個地址去找到文件就可以了呢?

是的,linux 下,i 節點其實就是可以這么認為,把 i 節點看作是一個指向磁盤上該文件存儲區的地址。只不過這個地址我們一般是沒辦法直接使用的,而是通過文件名來間接使用的。事實上,i 節點不僅包含了文件數據存儲區的地址,還包含了很多信息,比如數據大小,等等文件信息。但是 i 節點是不保存文件名的。文件名是保存在一個目錄項中。每一個目錄項中都包含了文件名和 i 節點。

我們可以通過一個圖來看看目錄項,i 節點,文件數據四者之間的關系。

從上圖可以看到,目錄項中包含了文件名和 i 節點。

同時,你會發現上圖中,目錄項 A 和目錄項 B 的 i 節點指向同一個存儲區,其中這個存儲區存放的是 printf(ha)的數據。

也就是意味著 helloA.c 和 helloB.c 的內容是一樣的。

i 節點號

每個 inode 都有一個號碼(即 inode 號),操作系統用 inode 號碼來識別不同的文件。

————Linux 內部使用 inode 號來識別文件,而非文件名,對于系統來說,文件名是 inode 號的別稱,是便于用戶識別文件的,文件名和 inode 號是一一對應的關系,每個 inode 號對應一個文件名。

inode 號是系統識別的唯一編碼,而文件名僅僅是為了使用者區分辨認,inode (index node)表中包含文件系統所有文件列表 一個節點 (索引節點) 是在一個表項,包含有關文件的信息(元數據)。

硬盤分區后的結構:

當用戶在 Linux 系統中試圖訪問一個文件時,系統會先根據文件名去查找它對應的 inode 號碼;通過 inode 號碼,獲取 inode 信息; 根據 inode 信息,看該用戶是否具有訪問這個文件的權限;如果有,就指向相對應的數據 block,并讀取數據;如果沒有就會返回。

訪問文件的簡單流程:

二、Linux 文件存儲

2.1 inode 的數量限制

inode 也會消耗硬盤空間,所以格式化的時候,操作系統自動將硬盤分成兩個區域:一個是數據區,存放文件數據; 另一個是 inode 區,存放 inode 所包含的信息。每個 inode 的大小,一般是 128 字節或 256 字節。

通常情況下不需要關注單個 inode 的大小,而是需要重點關注 inode 總數,inode 的總數在格式化時就已經定好了
——為什么需要重點關注 inode 總數,因為當 inode 用完時,即便磁盤還有空間也無法創建新文件了,因為在創建文件時需要一個 inode 號與之對應,而沒有 inode 時自然無法創建新文件。
執行“df-i”命令即可查看每個硬盤分區對應的的 inode 總數和已經使用的 inode 數量。

2.2 inode 的內容

inode 包含文件的元信息,具體有以下的內容:

文件的字節數

文件的擁有者 user ID

文件的 group ID

文件的讀、寫、執行權限

鏈接數,即有多少文件指向這個 inode

文件的時間戳

兩種方式查看某個文件的 inode 信息

方法一:stat [文件名]

示例:stat aa.txt

優點:可以查看文件 inode 的詳細信息

方法二:ls -i [文件名]

只能顯示 inode 號

2.3 Linux 系統文件三個主要的時間屬性

Linux 系統文件三個主要的時間屬性(即 inode 里的時間戳)

ctime(change time)
指的是最后一次改變文件或目錄(屬性)的時間

atime(access time)
指的是最后一次訪問文件或目錄的時間

mtime(modify time)
指的是最后一次修改文件或者目錄(內容)的時間

三、inode 的特殊作用

由于 inode 號碼與文件名分離,導致一些 Unix/Linux 系統具有以下的現象:

當文件名包含特殊字符,可能無法正常刪除文件,直接刪除 inode,也可以刪除文件

移動或重命名文件時,只改變文件名,不影響 inode 號碼

打開一個文件后,系統通過 inode 號碼來識別該文件,不再考慮文件名

文件數據被修改保存后,會生成一個新的 inode 號碼(原先的 inode 號會被釋放)

如何通過刪除 inode 號刪除文件:

方法一(刪除前需確認信息):find ./ -inum [inode 號] -exec rm -i {} \ ;

方法二(直接刪除):find ./ -inum [inode 號] -delete

“linux 的 i 節點號指什么意思”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注丸趣 TV 網站,丸趣 TV 小編將為大家輸出更多高質量的實用文章!

向 AI 問一下細節

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2024-02-04發表,共計2206字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 丘北县| 望江县| 美姑县| 株洲市| 天全县| 台中县| 曲阳县| 友谊县| 子洲县| 神木县| 遵义市| 仲巴县| 安宁市| 平舆县| 平利县| 尉氏县| 昌吉市| 沂源县| 龙胜| 海宁市| 那坡县| 景泰县| 通山县| 乡城县| 务川| 商都县| 富锦市| 武陟县| 盐边县| 新晃| 汽车| 乌兰浩特市| 兴仁县| 荥经县| 西畴县| 社旗县| 婺源县| 饶阳县| 喀喇沁旗| 东乡族自治县| 盐城市|