zoukankan      html  css  js  c++  java
  • 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号码。所以可以把目录的读权限和写权限对应到目录文件上理解。如果有读权限,代表可以读取目录文件中的文件名列表。有写权限代表可以在目录中创建,删除,重命名文件。有执行权限代表可以进入此目录。

      

  • 相关阅读:
    2019.4.1 JMeter中文乱码解决方案
    19.3.25 sql查询语句
    2019.3.23 python的unittest框架与requests
    2019.3.22 JMeter基础操作
    19.3.21 计算机网络基础知识
    19.3.20 cmd操作:1.dir查看当前文件夹内的文件;2.alt+space+c关闭cmd窗口
    19.3.20 解决pycharm快捷键无法使用问题和熟悉git与码云操作流程
    19.3.19 使用Flask框架搭建一个简易登录服务器
    回调函数
    var img = new Image()
  • 原文地址:https://www.cnblogs.com/MyOnlyBook/p/9363183.html
Copyright © 2011-2022 走看看