成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

關于 Linux 中的索引節(jié)點 Inode,你需要知道的一切

系統(tǒng)
Inode 不是您直接與之交互的東西,但它們扮演著重要的角色。

你是否抱怨過你的 Linux 系統(tǒng)沒有剩余空間,而你顯然還有足夠多的空間?

發(fā)生在我的親身經歷,我還有很多 GB,但我的 Linux 系統(tǒng)卻抱怨沒有空間了。這是我開始了解索引節(jié)點 inode 的時候。

inode 簡介

Inode 將系統(tǒng)上每個文件的元數據存儲在通常位于分區(qū)開頭附近的表狀結構中。它們存儲除文件名和數據之外的所有信息。

給定目錄中的每個文件都是一個帶有文件名和 inode 編號的條目。通過引用索引節(jié)點號從索引節(jié)點表中檢索有關該文件的所有其他信息。

Inode 編號在分區(qū)級別是唯一的。每個分區(qū)都有自己的 inode 表。

如果 inode 用完了,即使給定分區(qū)上還有剩余空間,也無法創(chuàng)建新文件。

Linux 中的 inode 是什么?

inode(Index Node)譯成中文就是索引節(jié)點。雖然歷史上對此不太確定,但這是他們提出的最合乎邏輯、最好的猜測。它曾經寫成I-node,但連字符隨著時間的推移丟失了。

如linfo.org上所述:

inode是一種數據結構…… …… 它存儲文件的所有信息,除了文件名和實際數據。

Inode 存儲有關它引用的文件的元數據。此元數據包含有關所述文件的所有信息。

  • 文件大小
  • 訪問權限
  • 創(chuàng)建時間
  • 修改時間
  • 數據在磁盤的位置
  • 其他信息

每個使用的 inode 引用一個文件。每個文件都有一個 inode。目錄、字符文件和塊設備都是文件。它們每個都有一個 inode。

對于目錄中的每個文件,都有一個條目,其中包含文件名和與之關聯(lián)的索引節(jié)點號。

Inode 在分區(qū)級別是唯一的。如果兩個文件位于不同的分區(qū)上,則它們可以具有相同的 inode 編號。Inodes 信息存儲在每個分區(qū)的戰(zhàn)略部分的類似表的結構中,通常在開頭附近找到。

如何在 Linux 中查看 inode?

您可以使用以下命令輕松列出 inode 編號:

ls -i

下面的圖片顯示了我的根目錄以及相應的 inode 編號。

每個文件系統(tǒng)擁有的 inode 數量是在創(chuàng)建文件系統(tǒng)時決定的。對于大多數用戶來說,默認的 inode 數量已經足夠了。

創(chuàng)建文件系統(tǒng)時的默認設置是每 2K 字節(jié)空間創(chuàng)建 1 個索引節(jié)點。這為大多數系統(tǒng)提供了大量 inode。在用完 inode 之前,您很可能會用完空間。如果需要,您可以在創(chuàng)建文件系統(tǒng)時指定要創(chuàng)建多少 inode。

如果您用完 inode,您將無法創(chuàng)建新文件。您的系統(tǒng)也將無法這樣做。大多數用戶不會遇到這種情況,但這是可能的。

例如,郵件服務器會存儲大量非常小的文件。許多這些文件將小于 2K 字節(jié)。它也有望不斷增長。因此,郵件服務器有可能在空間用完之前用完 inode。

一些文件系統(tǒng),如Btrfs、JFS、 XFS 已經實現了動態(tài)索引節(jié)點。如果需要,他們可以增加可用的 inode 數量。

索引節(jié)點是如何工作的?

創(chuàng)建新文件時,會為其分配一個 inode 編號和文件名。inode 編號是該文件系統(tǒng)中的唯一編號。名稱和 inode 編號都作為條目存儲在目錄中。

當我運行l(wèi)s 命令“ ls -li / ”時,文件名和 inode 編號是存儲在目錄/中的內容。使用 inode 編號從 inode 表中檢索剩余信息用戶、組、文件權限、大小等。

您可以在 Linux 中使用 df 命令列出每個文件系統(tǒng)的 inode 信息:

┌──(linuxmi?linuxmi)-[~]
└─$ df -hi

在 Linux 中列出 inode 信息

索引節(jié)點和軟/硬鏈接

軟鏈接或符號鏈接是 Linux 的一個眾所周知的功能。但是,當您在 Linux 中創(chuàng)建符號鏈接時,Inode 會發(fā)生什么情況?在下一張圖片中,我有一個名為“ dir1 ”的目錄,一個名為“ file1 ”的文件,在“ dir1 ”中我有一個名為“ slink1 ”的軟鏈接,它指向“ ../file1 ”

┌──(linuxmi?linuxmi)-[~/linuxmi]
└─$ tree
.
├── dir1
└── slink1 -> ../file1
└── file1

1 directory, 2 files

現在我可以遞歸列出并顯示 inode 信息。

┌──(linuxmi?linuxmi)-[~/linuxmi]
└─$ ls -liR
.:
總計 4
13247036 drwxr-xr-x 2 linuxmi linuxmi 4096 2 3 20:19 dir1
13119533 -rw-r--r-- 2 linuxmi linuxmi 0 1 8 14:28 file1

./dir1:
總計 0
13247041 lrwxrwxrwx 1 linuxmi linuxmi 8 2 3 20:19 slink1 -> ../file1

正如預期的那樣,dir1 和 file1 具有不同的 inode 編號。而且軟鏈接也是如此。創(chuàng)建軟鏈接時,您創(chuàng)建了一個新文件。在其元數據中,它指向目標。對于您創(chuàng)建的每個軟鏈接,您都使用一個 inode。

使用ln 命令在 dir1 中創(chuàng)建硬鏈接后:

┌──(linuxmi?linuxmi)-[~/linuxmi/dir1]
└─$ ln ../file1 hlink1

inode 編號列表為我提供了以下信息:

┌──(linuxmi?linuxmi)-[~/linuxmi]
└─$ ls -liR
.:
總計 4
13247036 drwxr-xr-x 2 linuxmi linuxmi 4096 2 3 20:23 dir1
13119533 -rw-r--r-- 2 linuxmi linuxmi 0 1 8 14:28 file1

./dir1:
總計 0
13119533 -rw-r--r-- 2 linuxmi linuxmi 0 1 8 14:28 hlink1
13247041 lrwxrwxrwx 1 linuxmi linuxmi 8 2 3 20:19 slink1 -> ../file1

您可以看到“ file1”和“ hlink1 ”具有相同的 inode 編號。說實話,由于索引節(jié)點,硬鏈接成為可能。硬鏈接不會創(chuàng)建新文件。它只是為相同的數據提供了一個新名稱。

在舊版本的 Linux 中,可以硬鏈接目錄。甚至可以讓給定的目錄成為它自己的父目錄。由于 inode 實現,這成為可能。這現在受到限制,以防止用戶創(chuàng)建非常混亂的目錄結構。

inode 的其他含義

inode 的工作方式也是不可能在不同文件系統(tǒng)之間創(chuàng)建硬鏈接的原因。允許這樣的任務將打開 inode 編號沖突的可能性。另一方面,可以跨不同的文件系統(tǒng)創(chuàng)建軟鏈接。

因為硬鏈接和原文件有相同的inode號,你可以刪除原文件,數據仍然可以通過硬鏈接訪問。在這種情況下,您所做的只是刪除指向該 inode 編號的名稱之一。鏈接到此 inode 編號的數據將保持可用,直到刪除與其關聯(lián)的所有名稱。

索引節(jié)點也是 Linux 系統(tǒng)無需重啟即可更新的重要原因。這是因為一個進程可以使用庫文件,而另一個進程可以用新版本替換該文件。因此,為新文件創(chuàng)建一個新的 inode。已經運行的進程將繼續(xù)使用舊文件,而每次對其進行新調用都會導致使用新版本。

inode 附帶的另一個有趣的特性是能夠將數據存儲在 inode 本身中。這稱為內聯(lián)。這種存儲方法具有節(jié)省空間的優(yōu)點,因為不需要數據塊。它還通過避免更多的磁盤訪問來獲取數據來增加查找時間。

某些文件系統(tǒng)(如 ext4)有一個名為 inline_data 的選項。啟用后,它允許操作系統(tǒng)以這種方式存儲數據。由于大小限制,內聯(lián)僅適用于非常小的文件。ext2 及以后的版本經常會這樣存儲軟鏈接信息。也就是說,如果大小不超過 60 字節(jié)。

結論

Inode 不是您直接與之交互的東西,但它們扮演著重要的角色。如果一個分區(qū)要包含許多非常小的文件,比如郵件服務器,了解它們是什么以及它們如何工作可以為您避免很多問題。

責任編輯:趙寧寧 來源: Linux迷
相關推薦

2022-08-27 12:15:51

Linux Mint操作系統(tǒng)

2023-02-10 08:44:05

KafkaLinkedIn模式

2017-04-29 09:00:14

Linux程序進程

2022-09-01 15:26:45

物聯(lián)網人工智能傳感器

2018-06-15 23:00:56

2022-04-24 09:00:00

滲透測試安全數字時代

2022-12-30 11:24:21

2022-07-15 14:58:26

數據分析人工智能IT

2019-05-22 15:10:43

2022-11-28 00:07:47

2020-12-22 11:04:05

人工智能AI機器學習

2017-11-14 13:48:26

數據結構學習

2016-02-29 09:37:44

5G

2022-12-29 11:42:27

2023-10-12 07:06:32

2020-11-17 10:38:40

云計算工具技術

2023-10-12 09:42:44

2023-02-27 15:47:31

2021-12-29 14:24:12

物聯(lián)網IoT5G

2022-07-06 10:07:21

物聯(lián)網IoT
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品一区二区三区四区 | 久久国产一区 | 欧美一区二区三区在线看 | 国产精品亚洲综合 | 欧美日韩成人影院 | 国产aⅴ爽av久久久久久久 | 超碰在线人人 | 亚洲精品视频一区 | 人人玩人人添人人澡欧美 | 国产精品视频网站 | 亚洲精选久久 | 男人的天堂中文字幕 | 亚洲成人久久久 | 久久久久国产精品一区 | 国内91在线 | 国产成人精品网站 | 亚洲成人国产 | 欧美一级免费观看 | 亚洲成人免费观看 | 视频在线一区 | 国产精品欧美一区二区三区不卡 | 亚洲国产aⅴ成人精品无吗 亚洲精品久久久一区二区三区 | 少妇黄色 | 国产成人久久精品一区二区三区 | 日韩免费看片 | 日韩一级 | 成人免费在线视频 | 伦理一区二区 | 亚洲一二三视频 | 国产日韩欧美一区二区在线播放 | 亚洲在线视频 | 亚洲一区不卡在线 | 好婷婷网 | 日本国产精品视频 | 精品九九 | 天天拍天天操 | 看片国产 | 日韩中文字幕 | 蜜桃臀av一区二区三区 | 91精品麻豆日日躁夜夜躁 | 福利国产|