2015-06-17

快速認識 Linux 的 Inode

阿舍在接觸 Ubuntu 和 Linux 的過程中,已經在很多的機會下會看到 Inode 這個詞兒,不過,阿舍一直認為這個 inode 是和底層檔案結構有關的東西,阿舍沒要寫這類的程式,應該是沒有太多的需要去瞭解,所以,每次看到相關的說明或文件就會自然而然的跳過,但是,最近在看檔案日期的東西的時候,就一直碰到這個 inode 的東西,所以,阿舍就來研究了一下 Inode 哩 ! ...



阿舍瞭解過 Inode 之後,就發現是阿舍想太多了,其實,在 Linux 的檔案系統上會有 Inode 這個東西,是因為在像 ext2、ext3 和 ext4 這樣的 Linux 檔案系統上是把檔案內容和檔案資訊分開放置管理的原故,然後,Linux 系統是透過 Inode (Index node) 來找到檔案內容及取得相關資訊,所以,在 Linux 上,每個檔案都會有一個 Inode 哩 !

stat 指令可查到檔案的大部份 Inode 資訊

當 Linux 的檔案系統被建立的時候,就會分別建立二種區塊,分別是放 Inode 的 Inode 區塊和放檔案內容的資料的資料區塊,而這二種區塊在檔案系統建立後就固定無法變動,所以,不管那一種區塊先被用完,都會出現空間不足而無法存檔的情形哩 ! 如果你對還有多少的 Inode 和資料區塊可用,請分別用下面這二個指令來查看看囉 !

# 查 Inode 用量
$ df -i

# 查硬碟空間
$ df -h

阿舍在前面有提到,在 Inode 裡存放的是除了檔案名稱和檔案內容以外的檔案資訊,主要就是放了檔案的存取權限、所有者、所屬群組、檔案資料存放的區塊位置和檔案的變動時間們,如果你有興趣瞭解 Inode 所存放的資訊話,可以找個檔案用 state 指令來查看看就可看到哩 !

$ stat arthurtoday.txt

另外,如果需要用到 Inode 編號來進行操作的話,也可用 ls 指令加上 -i 選項來列出檔案的 Inode 編號哩 !

$ ls -i




推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

2 則留言 :

Eric Shih 提到...

請教一下,您現在用的Linux版本與桌面系統是什麼?

Arthur 提到...

Hello,

Ubuntu 搭 Cinnamon 或 XFCE ...

張貼留言

歡迎留言提問和討論 .... 😁