天天看點

《MacTalk•人生元程式設計》一一1.2 inode元資訊

本節書摘來自異步社群出版社《mactalk•人生元程式設計》一書中的第1章,第1.2節,作者:池建強,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

上一篇文章中我們講到了索引節點inode,每個檔案都有一個唯一的inode對象,描述了檔案的元資訊。inode與檔案是生死相依、一損俱損的關系,生命周期一緻。很多痛恨身份證的人都說:“老子一生下來就有身份了,幹嘛還又給個身份證?”mac君對這種态度是贊同的、肯定的、欣賞的,但inode不一樣,它就像你的指紋,屬于檔案的一部分并定義檔案,這就像人生元程式設計一樣,有了“元”的意味。inode由一個資料結構組成,主要包含這樣一些字段:

這些字段記錄了檔案的幾乎所有資訊,比如連結清單指針、索引節點号、引用計數器、檔案權限、硬連結數、檔案所有者辨別等,一共有幾十個。但是這麼去了解inode是令人發指和不人道的,誰能記住這麼多i字段?寫到這估計很多小白和老白已經拍案而起義憤填膺了,“mac君,難道我們記住ipad和iphone還不夠嗎?”是的,這麼寫人民是不會答應的!

我們馬上來實際操作一下,用stat指令來檢視真實檔案的inode資訊。打開終端,找到一個檔案輸入:

結果是:

這就好辦多了,隻要認識英文,我們就能看到檔案的inode裡包含了檔案的位元組數、檔案占用的塊數、檔案所屬裝置的裝置号、索引節點号、連結數(有多少檔案名指向這個inode)、權限(後續篇章會細說)、使用者id群組id。

最後三行分别表示上次檔案的通路時間、檔案内容改變時間和檔案屬性改變時間。這一點mac使用者應該深有體會,打開finder時可以根據檔案屬性對檔案排序,那些屬性中有類似這樣的建立時間、打開時間、添加時間等,大家可以去感受下。

如果想單獨檢視檔案的索引節點号,可以執行如下指令:

系統會顯示:

繼續閱讀