《MacTalk•人生元编程》一一1.2 inode元信息

简介:

本节书摘来自异步社区出版社《MacTalk•人生元编程》一书中的第1章,第1.2节,作者:池建强,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.2 inode元信息

上一篇文章中我们讲到了索引节点inode,每个文件都有一个唯一的inode对象,描述了文件的元信息。inode与文件是生死相依、一损俱损的关系,生命周期一致。很多痛恨身份证的人都说:“老子一生下来就有身份了,干嘛还又给个身份证?”Mac君对这种态度是赞同的、肯定的、欣赏的,但inode不一样,它就像你的指纹,属于文件的一部分并定义文件,这就像人生元编程一样,有了“元”的意味。inode由一个数据结构组成,主要包含这样一些字段:

i_hash
i_list
i_sb_list
i_dentry
i_ino
i_count
i_mode
i_nlink
i_uid
...

这些字段记录了文件的几乎所有信息,比如链表指针、索引节点号、引用计数器、文件权限、硬链接数、文件所有者标识等,一共有几十个。但是这么去了解inode是令人发指和不人道的,谁能记住这么多i字段?写到这估计很多小白和老白已经拍案而起义愤填膺了,“Mac君,难道我们记住iPad和iPhone还不够吗?”是的,这么写人民是不会答应的!

我们马上来实际操作一下,用stat命令来查看真实文件的inode信息。打开终端,找到一个文件输入:

>stat .zshrc

结果是:

File: ".zshrc"
  Size: 2566          Blocks: 8          IO Block: 4096   普通文件
Device: fd02h/64770d    Inode: 1048553     Links: 1
Access: (0644/-rw-r--r--)  Uid: (  500/    chjq)   Gid: (  500/    chjq)
Access: 2013-09-12 11:37:39.396922508 +0800
Modify: 2013-07-20 03:56:17.645786812 +0800
Change: 2013-07-20 03:56:17.660906263 +0800

这就好办多了,只要认识英文,我们就能看到文件的inode里包含了文件的字节数、文件占用的块数、文件所属设备的设备号、索引节点号、链接数(有多少文件名指向这个inode)、权限(后续篇章会细说)、用户ID和组ID。

最后三行分别表示上次文件的访问时间、文件内容改变时间和文件属性改变时间。这一点Mac用户应该深有体会,打开Finder时可以根据文件属性对文件排序,那些属性中有类似这样的创建时间、打开时间、添加时间等,大家可以去感受下。

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

>ls -i .zshrc

系统会显示:

1048553 .zshrc
相关文章
|
22天前
|
存储 缓存 监控
Linux 系统 内存通用指标以及查询方式
Linux 系统 内存通用指标以及查询方式
18 0
|
5月前
|
机器学习/深度学习 自然语言处理 算法
C++模板元模板(异类词典与policy模板)- - - 中篇后续
C++模板元模板(异类词典与policy模板)- - - 中篇后续
46 0
|
5月前
|
存储 自然语言处理 C++
C++模板元模板(异类词典与policy模板)- - - 前篇
C++模板元模板(异类词典与policy模板)- - - 前篇
20 0
|
5月前
|
存储 自然语言处理 编译器
C++模板元模板(异类词典与policy模板)- - - 中篇
C++模板元模板(异类词典与policy模板)- - - 中篇
29 0
|
7月前
|
Windows
2.8 PE结构:资源表详细解析
在Windows PE中,资源是指可执行文件中存放的一些固定不变的数据集合,例如图标、对话框、字符串、位图、版本信息等。PE文件中每个资源都会被分配对应的唯一资源ID,以便在运行时能够方便地查找和调用它们。PE文件中的资源都被组织成一个树形结构,其中最顶层为根节点(Root),下一级为资源类型(Type),再下一级为资源名称(Name),最终是实际的资源内容。PIMAGE_RESOURCE_DIRECTORY是Windows PE可执行文件中的一个结构类型,用于描述资源(Resource)的树形结构,其中包括了每个资源的类型(Type)、名称(Name)和语言(Language),以及指向下一
82 0
2.8 PE结构:资源表详细解析
|
10月前
|
数据采集 移动开发 数据可视化
空间转录组|Load10X_Spatial函数修改适配多形式数据 + 空转标准流程
空间转录组|Load10X_Spatial函数修改适配多形式数据 + 空转标准流程
362 0
|
存储 XML 编译器
【C#基础】C# 程序通用结构
编程语言C# 程序结构的介绍 。
175 0
【C#基础】C# 程序通用结构
库定义相关的元方法
库定义相关的元方法
29 0
|
存储 前端开发 关系型数据库
区的分类&XDES Entry(3)---独立表空间结构(二十九)
区的分类&XDES Entry(3)---独立表空间结构(二十九)