当前位置: 首页 > news >正文

【Linux】文件时间-ACM

文章目录

  • 文件时间-acm
    • Access
    • Change
    • Modify

文件时间-acm

我们可以使用stat 文件名的方式查看对应的文件的时间信息

Access

  • 表示文件最近一次被访问的时间

文件的访问 实际也就是文件的读取

实际操作中,文件的Access时间可能没有变化,这是因为在新的Linux内核中,Access时间不会被立即更新,而是经过一定的时间间隔,OS才会自动进行更新, 因为查看文件和读取文件是比较频繁的事情,如果频繁的去更新时间,就可能存在刷盘的问题,会让我们的Linux系统变得卡顿

Change

  • 表示最近一次修改文件属性的时间

例子:

image-20220703232006176

Modify

  • 表示最近一次修改文件内容的时间

实际上,当我们修改文件内容的时候,有可能也会修改文件的属性->如:文件的大小,导致Modify实际和Change实际一起发生改变

当我们修改文件内容时,文件的大小一般也会随之改变,所以一般情况下Modify的改变会带动Change一起改变,但修改文件属性一般不会影响到文件内容,所以一般情况下Change的改变不会带动Modify的改变

image-20220703232239952


问:Makefile怎么判定源文件是否被修改过呢? 从而知道系统的源文件是否需要重新编译,

image-20220703232422120

就是通过对比 源文件和生成的可执行程序的Modify时间

image-20220703232911574


结论: makefile和gcc会根据时间问题,来判定源文件和可执行程序谁更新,从而指导系统哪些源文件需要被重新编译


问:为什么 .PHONY定义的伪目标总是可以被执行

本质就是不关心时间谁先谁旧,直接编译


注意:当我们touch一个已经存在的文件,会更新文件时间(把3个时间都更新为现在时刻的时间,然后源文件的时间就比可执行程序更加新),这样即使内容没有任何修改,此时就可以重新编译了

image-20220703235337820

http://www.lryc.cn/news/24889.html

相关文章:

  • [架构之路-124]-《软考-系统架构设计师》-操作系统-3-操作系统原理 - IO设备、微内核、嵌入式系统
  • 【竞赛/TPU】算能TPU编程竞赛总结
  • Substrate 基础教程(Tutorials) -- 模拟网络 添加可信节点
  • SAP 设置无物料号的费用采购
  • k8s ConfigMap 中 subPath 字段和 items 字段
  • UML建模
  • JavaScript常见面试题(更新中)
  • TCP/IP协议
  • Python使用异步线程池实现异步TCP服务器交互
  • matplotlib常用操作
  • 二分算法题
  • Vue+ElementUI+SpringBoot项目配合分页插件快速实现分页(简单暴力)
  • 【回眸】牛客网刷刷刷!嵌入式软件中也会遇到的嵌入式硬件,通讯,通讯协议专题(一)
  • 使用Vue展示数据(动态查询)
  • 构建数据库测试数据——mysql
  • 你想要的Android性能优化系列:启动优化 !
  • python3的基础入门3:基本数据类型
  • 消息队列原理与实战-学习笔记
  • Linux权限相关知识(大量图文展示,及详细操作)
  • Ep_操作系统面试题-什么是协程
  • 在C#中使用互斥量解决多线程访问共享资源的冲突问题
  • JavaEE进阶第六课:SpringBoot配置文件
  • MySQL基础(一)SQL分类、导入、SELECT语句,运算符
  • 反激与正激的区别
  • 王道操作系统课代表 - 考研计算机 第四章 文件管理 究极精华总结笔记
  • 前端开发规范,你真的了解吗?一起来学习一下前端开发规范,让你的代码高级起来!
  • Licode—基于webrtc的SFU/MCU实现
  • 开发运维工具推荐 --- 解决远程访问局域网服务的问题。开发调试推荐
  • 【华为OD机试 】单词倒序(C++ Java JS Python)
  • PLC 诊断故障的基本原理