您的浏览器Javascript被禁用,需开启后体验完整功能, 请单击此处查询如何开启
  • 百度首页
  • 登录
  • 加入VIP
  • 享VIP专享文档下载特权
  • 赠共享文档下载特权
  • 100w优质文档免费下载
  • 赠百度阅读VIP精品版
  • 立即开通
  • 意见反馈
  • 下载客户端
  • 网页 资讯 视频 图片 知道 贴吧 采购 地图 文库 |

    linux文件系统的权限王国(二)_计算机软件及应用_IT/计算机_专业资料

    8790人阅读|63次下载

    linux文件系统的权限王国(二)_计算机软件及应用_IT/计算机_专业资料。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: Size: ?文件 Device: Access: 500/ Access: Modify: Change: ".zshrc" 2566 Blocks: 8 IO Block: 4096 普通 fd02h/64770d Inode: 1048553 Links: 1 (0644/-rw-r--r--) Uid: ( 500/ chjq) Gid: ( chjq) 2013-09-12 11:37:39.396922508 +0800 2013-07-20 03:56:17.645786812 +0800 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 /dev/xvda devtmpfs none none none Inodes IUsed IFree IUse% Mounted on 1.3M 83k 1.2M 7% / 127k 1.5k 125k 2% /dev 127k 801 126k 1% /run 127k 2 127k 1% /run/lock 127k 1 127k 1% /run/shm ?大家可以看到,在?文件系统/dev/xvda上 inode 对象使?用了可?用空间的 7%。这?里做个提醒,如果你的系统?里?小?文件?非常多的话,那么完全 可能发?生在磁盘空间还有剩余的时候不能创建?文件的情况,这时候就 要?用 df -iH 命令看?一下是否 inode 对象已经把索引节点区占满了,?一 旦?无法创建 inode,?无论是?文件还是??目录,都将?无法创建! 如果我们想查看在/dev/xvda上 inode 对象的实际?大?小,可以执?行如下 命令: >sudo tune2fs -l /dev/xvda | grep "Inode size" 系统会返回如下内容,也就是每个 inode 对象?大?小是256字节。 tune2fs是 Linux 下的?文件系统参数调整?工具。 Inode size: 256 时间不早了,就到这?里,休息,休息?一下。
    +申请认证

    文档贡献者

    池建强

    《MacTalk·人生元编程》作者

    430254
    4.2
    浏览总量
    总评分

    喜欢此文档的还喜欢