stat命令常用方式总结

简介:

  stat命令是用来显示文件inode中的内容的。我们平时的业务需求中可能会关注一个文件的更改时间,读写权限之类的信息。stat命令可以帮助我们把这些信息从一个文件的inode中提取并显示出来。

inode介绍:

  linux把一个文件存储在磁盘上的时候,会在磁盘上另外找一块地方来存储文件的元数据。存储这些数据的区域就叫做inode。inode里面东西比较多,一般比较关心的是以下几项:

    <1> 文件的时间戳,inode中一共有以下3个:

      a. access time, 最后一次访问的时间,只是访问,并没有修改。比如cat,head,tail之类的。

      b. modify time, 最后一次修改文件内容的时间。

      c. change time, 最后一次修改文件属性的时间,比如权限,大小之类的。

    <2> 文件的读写权限

    <3> 文件的字节数

    <4> 文件拥有者的UID和GID

  直接使用stat命令,就可以输出inode的大部分信息,比如 stat server:

  

 

日常使用

  <1> 监控文件状态

    有很多业务需要我们实时去监控文件的状态。比如,如果某个文件大小发生了变化,会起一个后台程序把发生变化的部分同步到某个数据库。stat输出信息判断方法:

       a. 当我们只是读取文件,并没有改变文件时,只有access time会发生变化,modify time 和 change time 不会变化。

       b. 当修改文件内容时, 如果使用vim之类的编辑软件,那么access time, modify time, change time都会发生变化。如果使用 > 或者 >> 修改文件,那么只有modify time 和 change time会发生变化,access time 不会变。

       c. 当修改文件属性,比如chmode,chown, 或者做硬链接的时候, change time 会发生变化,而 access time, modify time 不会发生变化。注意,软连接不会修改三者中的任何一个。因为软连接的原理就是重新创建一个新文件,新文件中保存旧文件的文件路径,这个和旧文件的属性完全没有关系。

       d. ls -l 中输出的是modify time,

 

  <2> 目录权限的判断

    目录在linux系统中也是以文件存在的,所以目录也有inode。目录文件中的内容是一系列目录项。每个目录项由2部分组成,文件名和inode号码。所以可以把目录的读权限和写权限对应到目录文件上理解。如果有读权限,代表可以读取目录文件中的文件名列表。有写权限代表可以在目录中创建,删除,重命名文件。有执行权限代表可以进入此目录。

 

  

转载于:https://www.cnblogs.com/MyOnlyBook/p/9363183.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值