亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Linux服務器 > 正文

Linux中關于inode的知識總結

2024-09-05 23:04:00
字體:
來源:轉載
供稿:網友

背景

最近在復習Linux命令,到df的時候發現了一個之前忽略的東西。也就是 -i 這個選項,列出文件系統分區的inode信息。這個inode,是個什么東西?

inode是用來做什么的

inode是用來存儲文件元信息的區域。中文譯名叫做“索引節點”。

關于inode的背景知識

我們先復習下文件存儲的一些內容。我們知道,文件存儲在硬盤上,硬盤的最小存儲單元呢,又被稱為扇區,扇區的大小是512字節。

操作系統在硬盤上讀取信息時,是按照一次性讀取多個扇區的方式來的,而這多個扇區也叫塊。通常,塊的大小是4KB,大概有8個扇區的大小。需要注意的是,讀取的塊是連續的空間。

這個時候我們能知道,文件是存儲在“塊”中的,就像我們寫C語言程序的時候,我們知道,當我們聲明一個數組的時候,不僅僅會存儲放在數組里面的值,還會存儲對應的數組信息,比如數組的首地址、文件類型和數組長度等等,同樣的,需要找一個地方存儲文件的元信息,類似于文件的創建相關的信息、文件的長度等等。而這個地方,我們稱做inode。

inode中存儲的內容

inode包含著所存儲文件的元信息,包含著這些內容:

  • 文件的字節數。
  • 文件創建者的ID。
  • 文件的Group ID。
  • 文件的讀寫等權限。
  • 文件的相關時間戳。具體的有三個:ctime-->inode上一次變動的時間;mtime-->文件內容上一次變動的時間;atime-->文件上一次打開的時間。
  • 鏈接數
  • 文件數據的塊位置

inode號碼

第一次看到上面的存儲內容后,我想大家多少會有相同的疑問,既然inode是存儲文件相關信息的,為什么不存儲文件名呢。理由就是,文件名并不是Unix/Linux操作系統識別不同文件的標準。

操作系統是通過inode號碼來識別不同文件的。

在Unix/Linux系統中,用戶層名是通過文件名來打開文件的,系統層面主要是通過了三個步驟來打開文件:

  • 根據文件名找到對應的inode號碼。
  • 通過inode號碼獲取inode信息。
  • 根據inode信息,找到文件數據所存的塊,并獨處數據。

inode的特殊作用

Unix/Linux系統中inode號碼和文件名分離,這導致了系統中一些特別的現象:

  • 刪除inode節點,即是刪除文件。有些文件可能無法正確刪除,這時我們直接刪掉對應的inode節點,就可以起到刪除文件的作用。
  • 移動文件或者重命名文件,不改變inode號碼,僅僅只是改變文件名。
  • 通常來說,系統是無法通過inode號碼得到文件名的,當打開一個文件,系統往后就通過inode來識別該文件,不再考慮文件名。

因為inode號碼的存在,系統可以在軟件不關閉的情況下進行更新。系統通過inode號碼,識別運行中的文件,更新過程中,文件以相同的文件名,新的inode存在,而不會影響到目前運行中的文件。而原先舊版的inode會在軟件下一次打開時被回收,文件名會自動指向新的inode號碼。

inode空間占用問題

既然同樣是存儲在硬盤里的數據,inode必然也是會占用硬盤空間的,當格式化硬盤的時候,操作系統會自動將硬盤分成兩個區域:

  • 數據區
  • inode table

數據區主要存放文件數據,inode table區域則是存放inode信息。

特別的是,inode所占用的區域大小,在磁盤格式化時操作系統就已經給定。這樣做導致的后果就是,數據區的空間明明還沒有使用完,但是卻無法繼續存取數據了,這時因為inode table區域已經用滿了,所以無法再往磁盤里存儲新的文件。

目錄文件

我們知道,在Unix/Linux中,任何資源都是以文件的形式存在的。目錄也是。我們打開目錄,實際上就是打開目錄文件。目錄文件的結構就是一個列表。

目錄項 = 所包含文件文件名 + 對應inode號碼。

硬鏈接和軟鏈接

關于具體什么是硬鏈接什么是軟鏈接,我就不在這篇博文里贅述了,僅從inode角度去考慮。

從inode號碼的角度考慮,Unix/Linux系統中,是允許多個文件名指向同一個inode號碼的。這個時候,如果刪除掉其中一個文件名,不影響另一個文件名的訪問,同時,如果通過一個文件名打開文件并作出修改,其他文件名打開時可以共享到該修改。那么就稱這種為“硬鏈接”。在Linux中,我們可以通過ln命令來創建硬鏈接。

上面總結到,在inode中,有一個存儲項叫做“鏈接數”,記錄只想該inode的文件名總數。如果通過硬鏈接方式創建一個文件名指向某文件,那該文件對應的inode數據域中鏈接數部分就會 + 1,反之 - 1 。當這個值為0時,系統就會默認沒有文件名指向該inode,此時,就會回收該inode號碼,并且回收對應的塊區域。

而對應的軟鏈接,假設有文件A和文件B,B是A的軟鏈接。這個時候,A和B的inode號碼是不同的,因為它們是不同的文件,但是!B的內容是A的路徑,讀取B的時候,系統會自動訪問A,所以無論打開哪個文件,訪問的都是文件A。這個時候,文件B就被稱為文件A的“軟鏈接”或者“符號鏈接”。

在Unix/Linux系統中,我們可以通過ln -s 命令來創建軟鏈接。

總結和小補充

通過上面的敘述,我們知道inode就像C語言中的指針域,指針域記錄著多種信息,并把我們導向正確的文件位置,讀取需要的信息。(當然也不是完全像。)

Unix/Linux系統中創建目錄時,會自動生成兩個目錄項:

  • .目錄
  • ..目錄

可以通過 ls -al 命令觀察到這兩個目錄。“.目錄“的inode號碼是當前目錄的inode號碼,等同于當前目錄的硬鏈接,而“..“目錄的inode號碼是當前目錄父目錄的inode號碼,等同于父目錄的硬鏈接。目錄硬鏈接總數 = 2 + 子目錄總數(包括隱藏文件)。

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美午夜视频在线观看| 国产成人精品一区二区| 国产一区二区三区网站| 日韩av一区在线观看| 久久高清视频免费| 日本精品免费一区二区三区| 欧美国产在线视频| 欧美日韩人人澡狠狠躁视频| 亚洲国产成人精品电影| 在线a欧美视频| 日韩精品亚洲精品| 国产va免费精品高清在线| 久久精品99久久久香蕉| 日韩激情片免费| 欧美日韩一区二区精品| 日韩中文视频免费在线观看| 91手机视频在线观看| 成人黄色免费网站在线观看| 国产日韩av高清| 亚洲电影免费观看高清完整版| 精品视频久久久久久| 午夜精品福利在线观看| 国产女人18毛片水18精品| 日韩精品久久久久| 91网在线免费观看| 97精品久久久中文字幕免费| 亚洲色图在线观看| 国产极品jizzhd欧美| 久久777国产线看观看精品| 亚洲国产精品一区二区久| 欧美主播福利视频| 亚洲男人第一av网站| 成人网页在线免费观看| 欧洲s码亚洲m码精品一区| 日韩中文在线视频| 欧美亚洲成人免费| 成人高h视频在线| 北条麻妃在线一区二区| 在线观看久久久久久| 欧美日韩在线免费观看| 亚洲成色777777在线观看影院| 国产精品6699| 2018国产精品视频| 国产精品va在线播放| 国产精品久久久91| 色久欧美在线视频观看| 欧美精品一区二区免费| 8x拔播拔播x8国产精品| 亚洲精品网站在线播放gif| 亚洲精品久久7777777| 欧美视频专区一二在线观看| 91久久精品日日躁夜夜躁国产| 亚洲精品mp4| 欧美第一黄网免费网站| 国产综合视频在线观看| 国产综合视频在线观看| 欧美激情精品久久久久久久变态| 久久久噜噜噜久久中文字免| 亚洲精品二三区| 国模精品视频一区二区| 性欧美在线看片a免费观看| 日本中文字幕久久看| 九九九久久国产免费| 国产成人一区二区| 亚洲国产天堂久久国产91| 国产精品视频xxxx| 91av在线精品| 成人精品视频在线| 中文字幕精品www乱入免费视频| 久久国产精品亚洲| 日韩电影中文 亚洲精品乱码| 国产91色在线免费| 97热在线精品视频在线观看| 91国内产香蕉| 久久久久久久91| 亚洲视频在线观看网站| 日韩欧美亚洲国产一区| 久久深夜福利免费观看| 色综合久久悠悠| 55夜色66夜色国产精品视频| 隔壁老王国产在线精品| 97视频国产在线| 国产精品久久久av久久久| 国产精品日韩在线一区| 久久精品一偷一偷国产| 日韩精品一区二区视频| 国外视频精品毛片| 色噜噜狠狠狠综合曰曰曰| 精品自拍视频在线观看| 欧美极品在线播放| 欧美刺激性大交免费视频| 久久在线免费视频| 最新国产成人av网站网址麻豆| 国产精品久久久久久久av电影| 成人网欧美在线视频| 成人乱人伦精品视频在线观看| 久久久久久久久久久久久久久久久久av| 亚洲国产女人aaa毛片在线| 精品美女国产在线| 成人激情免费在线| 欧美性受xxxx白人性爽| 亚洲精品色婷婷福利天堂| 91香蕉亚洲精品| 亚洲精品福利在线| 日韩成人免费视频| 欧美最猛黑人xxxx黑人猛叫黄| 久久久久久久爱| 中文字幕日韩综合av| 成人精品福利视频| 亚洲视频电影图片偷拍一区| 欧美视频国产精品| 久久噜噜噜精品国产亚洲综合| 国产精品18久久久久久麻辣| 久久综合伊人77777蜜臀| 国产精品自产拍高潮在线观看| 国产一区二区三区四区福利| 九九热r在线视频精品| 91在线视频精品| 欧美在线视频免费| 欧美日韩国产页| 日韩精品视频免费| 成人h片在线播放免费网站| 亚洲视频精品在线| 91性高湖久久久久久久久_久久99| 91精品久久久久久久久不口人| 久久精品精品电影网| 欧美肥臀大乳一区二区免费视频| 亚洲成人av片| 亚洲天堂男人的天堂| 亚洲变态欧美另类捆绑| 欧美xxxx做受欧美| 国语自产偷拍精品视频偷| 国产成人+综合亚洲+天堂| 亚洲91精品在线观看| 欧美国产日韩二区| 国产一区二区av| 亚洲男人的天堂网站| 欧美性xxxx| 亚洲综合最新在线| 亚洲va欧美va国产综合久久| 搡老女人一区二区三区视频tv| 欧美国产高跟鞋裸体秀xxxhd| 亚洲精品女av网站| 欧美疯狂性受xxxxx另类| 亚洲一区二区久久久| 伊人久久大香线蕉av一区二区| 国产精品亚洲片夜色在线| 欧美在线中文字幕| 日韩一区av在线| 久久久女女女女999久久| 精品久久久视频| 最近2019中文字幕在线高清| 日韩av日韩在线观看| 国产成人+综合亚洲+天堂| 中文字幕亚洲二区| 亚洲精品永久免费精品| 国产精品91在线观看| 久久久久久久久久久久av| 精品国偷自产在线视频99| 亚洲系列中文字幕| 欧美不卡视频一区发布| 国产一区视频在线播放| 欧美中文在线观看| 日韩av手机在线看|