天天看点

《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时可以根据文件属性对文件排序,那些属性中有类似这样的创建时间、打开时间、添加时间等,大家可以去感受下。

如果想单独查看文件的索引节点号,可以执行如下命令:

系统会显示:

继续阅读