中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux的i節點號指什么意思

發布時間:2023-04-19 10:47:59 來源:億速云 閱讀:119 作者:iii 欄目:建站服務器

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

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

一、linux中的i節點

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

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

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

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

linux的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的i節點號指什么意思

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

訪問文件的簡單流程:

linux的i節點號指什么意思

二、Linux 文件存儲

2.1 inode的數量限制

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

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

linux的i節點號指什么意思

2.2 inode 的內容

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

  • 文件的字節數

  • 文件的擁有者 user ID

  • 文件的group ID

  • 文件的讀、寫、執行權限

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

  • 文件的時間戳

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

方法一:stat [文件名]

示例:stat aa.txt

linux的i節點號指什么意思

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

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

linux的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 {} \ ;

linux的i節點號指什么意思

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

linux的i節點號指什么意思

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鸡泽县| 湟中县| 瑞丽市| 汾阳市| 邹城市| 德江县| 南雄市| 富顺县| 青岛市| 阳曲县| 双牌县| 扎赉特旗| 棋牌| 汝阳县| 隆子县| 淮安市| 南投县| 金溪县| 昭觉县| 黔东| 宣化县| 博兴县| 汤阴县| 镇平县| 惠州市| 松潘县| 泸州市| 古田县| 金坛市| 壶关县| 承德市| 格尔木市| 九龙城区| 稷山县| 大邑县| 禹州市| 东港市| 泾阳县| 界首市| 右玉县| 威海市|