- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux文件系统的权限王国(二)
Linux ⽂件系统的权限⺩国(⼆)
作者:池建强
对世界的认知,很多⼈通过各种⽅式和模式进⾏探求,⽐如科学、宗
教、神学,当然还包括⼀些实践、⼊世、旅⾏、禅修等等,这些都是
认知世界的⽅式。作为⼀个写了很多年程序的码农,我更愿意探求计
算机世界的奥秘,虽然和年轻⼈相⽐,学习能⼒、速度和效率都⼤不
如前了,但是只要我们⼀直在往前⾛就好,世界本⽆尽头,⾛不动
了,才是终点!
inode 元信息
上⼀篇⽂章中我们讲到了索引节点 inode ,每个⽂件都有⼀个唯⼀的
inode对象,描述了⽂件的元信息。inode与⽂件是⽣死相依、⼀损俱
损的关系,⽣命周期⼀致。很多痛恨⾝份证的⼈都说,「⽼纸⼀⽣下
来就特么有⾝份了,干嘛还有给个⾝份证?」Mac 君对这种态度是赞
同的、肯定的、欣赏的,但 inode 不⼀样,它就像你的指纹,属于⽂
件的⼀部分并定义⽂件,这就像⼈⽣元编程⼀样,有了「元」的意
味。inode 由⼀个数据结构组成的,主要包含这样⼀些字段:
i_hash
i_list
i_sb_list
i_dentry
i_ino
i_count
i_mode
i_nlinki_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
inode的存储
⽂件会占⽤硬盘空间这事⼤家都清楚(注意是空间不是重量,⽆论您
是拷⻉100G进来,还是清除100G 出去,硬盘都在哪⾥,份量既不增
⼀分,也不减⼀克),那么 inode 存放在哪⾥呢?当然也是在硬盘
上,Linux 是很聪明的,在分区和格式化硬盘的时候,就把硬盘分为
了数据区和索引节点区,数据区存放普通⽂件,索引节点区存放
inode 对象。每个 inode 对象的⼤⼩⼀般是128字节或256字节,这个
数值可以在格式化的时候设定。
如何查看 inode 的使⽤情况呢?可以执⾏如下命令:df -iH
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/xvda 1.3M 83k 1.2M 7% /
devtmpfs 127k 1.5k 125k 2% /dev
none 127k 801
文档评论(0)