inode介紹

Linux空間還有很多剩餘,但有些時候會提示空間已滿,這是爲啥?

df查看空間

在平常使用中,有時候會發生以下狀況,輸入: df,顯示以下:php

文件系統 已用(I)%
/dev/xvda1 70%

可是你建立文件或者文件夾的時候會提示你,空間已滿!node

輸入:df -ibash

文件系統 已用(I)%
/dev/xvda1 100%

問題就在這裏,-i表示:顯示inode信息而非塊使用量,那麼inode又是什麼呢?服務器

inode

inode中文意思爲索引節點,這個索引的就是文件,咱們知道Linux下一切皆爲文件,inode記錄的就是文件在硬盤獲取其它設備上對應的儲存位置。
文件名與目錄名是便於使用的別名。一個文件系統對象能夠有多個別名(好比軟、硬鏈接),但只能有一個inode,並用這個inode來索引文件系統對象的存儲位置。
Linux中硬盤在格式化,後會將硬盤分爲inode區、數據區、目錄區。學習

  • inode區記錄的就是每一個節點的節點類型、字節數、權限、建立時間等相關屬性
  • 數據區固然是數據真正儲存的地方了
  • 目錄區記錄的是目錄下面文件的名稱以及對應的inode

inode在生成分區的時候已經定義好了數量,若是inode使用完了,也就不能繼續建立新的文件了spa

POSIX inode

POSIX標準強制規範了文件系統的行爲。每一個「文件系統對象」必須具備:3d

  • 以字節爲單位表示的文件大小。
  • 設備ID,標識容納該文件的設備。
  • 文件全部者的User ID。
  • 文件的Group ID
  • 文件的模式(mode),肯定了文件的類型,以及它的全部者、它的group、其它用戶訪問此文件的權限。
  • 額外的系統與用戶標誌(flag),用來保護該文件。
  • 3個時間戳,記錄了inode自身被修改(ctime, inode change time)、文件內容被修改(mtime, modification time)、最後一次訪問(atime, access time)的時間。
  • 1個連接數,表示有多少個硬連接指向此inode。
  • 到文件系統存儲位置的指針。一般是1K字節或者2K字節的存儲容量爲基本單位。

查詢inode屬性

執行stat file會輸出相似以下信息:指針

文件:"a.php"
  大小:4096          塊:8          IO 塊:4096   目錄
設備:ca01h/51713d    Inode:276961      硬連接:2
權限:(0755/drwxr-xr-x)  Uid:(    0/    root)   Gid:(    0/    root)
最近訪問:2017-02-18 17:16:02.916390626 +0800
最近更改:2017-02-18 17:16:02.916390626 +0800
最近改動:2017-02-18 17:16:02.916390626 +0800
建立時間:-

使用inode刪除文件

有時候服務器上由於各類緣由會生成一些名字很奇怪的文件或者目錄,想刪除掉的話,能夠直接經過inode刪除code

ll -i查看文件列表:對象

276893 -rw-r--r--  1 root    root       0 2月  18 17:30 a.php
268121 drwxr-xr-x  3 root    root    4096 2月  14 18:25 blog

執行

rm `find -inum 276893` //經過find查詢inode爲276893的文件名,而後刪除

關注公衆號,一塊兒學習成長~

xysy.jpg

相關文章
相關標籤/搜索