文件属性中的三个时间ACM(Makefile中的‘xxx‘ is up to date)

Linux中显示文件属性的指令是 stat 文件名

我们所说的ACM时间就是这里的Access、Modify、Change

下面就依次介绍这三种时间


目录

1、Access:最近一次访问文件的时间

2、Modify:最近一次修改文件内容的时间

3、Change:最近一次修改文件属性的时间

4、Makefile中的'xxx' is up to date


1、Access:最近一次访问文件的时间

无论是读取文件内容,还是修改文件内容或者属性,Access都会发生变化

修改文件内容或者修改文件属性的时候,Access的时间会立即更新;但是读取文件或者查看文件的操作,不会立即更新

我们读取文件或者查看文件,如cat、find等操作,这些都属于高频操作,如果我们频繁使用这些命令,可能会频繁更新Access时间,导致Linux的处理速度下降

在较新的Linux内核中,这个问题被优化了,对文件进行读操作以后,Access时间不会立即更新,经过一定的时间间隔,OS才会自动进行更新时间

2、Modify:最近一次修改文件内容的时间

只要是修改文件内容,Modify的时间都会被更新,这个被视为低频操作,所以一般修改文件内容以后,会立即刷新

但是修改文件内容,有可能会顺带着修改文件属性,比如新增内容会改变文件大小(文件大小属于文件属性)

3、Change:最近一次修改文件属性的时间

修改文件属性也被视为低频操作,修改文件属性会立即更新Change的时间

只是单纯的修改文件属性,不会影响到Modify的时间

4、Makefile中的'xxx' is up to date

在使用Makefile编译文件时,我们经常会看到下面这种情况, 这是源文件 test.c 和 执行文件 test 的ACM时间导致的

执行文件test 都是在 源文件test.c之后创建的,所以 test 的ACM的时间要更新一点

如果test 的时间 比 test.c更新,那就说明test.c 没有被修改,就不需要重新编译,这个时候就会出现 'xxx' is up to date

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值