三个时间

Linux 的文件属性中有:访问时间(Access Time)、修改时间(Modify Time)、改变时间(Change Time):

  1. 访问时间(Access Time):对文件进行一次读操作,它的访问时间就“有可能”会被更新。例如 cat 指令查看文件内容。
  2. 修改时间(Modify Time):对文件内容进行修改操作,它的修改时间就会被更新。例如 vim 指令修改文件内容。
  3. 改变时间(Change Time):对文件的属性进行修改操作,它的改变时间就会被更新。例如 chown、chmod 修改文件的所有权和文件权限。

stat 指令可以查看文件的时间,还可以列出其他有用的信息:

访问时间

cat、less、more 等指令查看文件内容属于读操作,有可能?修改这个文件的“访问时间”。如下图,创建 hello.c 文件并写入了一些 C 代码,现在文件的访问时间与其他时间都是一致的:

cat 指令查看文件内容,进行了一次读操作,此时文件的“访问时间”被修改了。如上图,现在的 Access Time 是 17:38:01,与上一次的时间相差不到一分钟。

接下来用 more 指令查看文件内容,同样也是进行了一次读操作,但这次的“修改时间”没有被修改,这就是在开头说读操作是“有可能”修改访问时间的情况:

出于性能的考虑,每次访问都更新时间的话,会造成磁盘不停的读写,降低系统吸能,而是达到一定的条件才更新 Access Time。

修改时间

vim 修改文件的内容就会更新文件的“修改时间”,并且也会连着更新文件的“改变时间”、“访问时间”:

vim 这种对文件进行一次写操作的副作用范围很大,文件所有与时间相关的都被一同更新了。但,touch 指令可以单独更新“修改时间”而不影响其他的时间。

改变时间

文件的属性包括:文件名、文件扩展名、所有权和文件权限等。我们修改文件的属性之后,文件的“改变时间”也会被更新。如下图,使用 mv 修改文件名称:

除此之外,chown、chomd 等指令都会更新文件的“改变时间”。

实际使用

find 指令查找文件可以添加时间的参数从而减少查找的范围,其中就会利用到以上三种时间作为参数,它们分别是:

  1. Access Time:atime;
  2. Modify Time:mtime;
  3. Change Time:ctime。

假设现在是 2022年9月24日 18:15:00,我需要查找某文件夹下有三天之前被修改的文件,利用 mtime,查找到两个符合条件的文件:

-mtime +3 中的 mtime 表示距离上一次的修改时间,+3 代表修改时间的范围超过 3 天。

Linux:atime、mtime、ctime的更多相关文章

  1. Linux -atime、mtime、ctime

    Linux中,文件都有其自身的atime.mtime.ctime,在不同的命令下,各时间发生相应的改变.下面,我们来简单的介绍一下: atime (access time):表示最后一次访问文件或目录 ...

  2. atime、mtime、ctime的区别及如何降低atime更新 mount时的option noatime

    atime.mtime.ctime的区别及如何降低atime更新 mount时的option  noatime http://mp.weixin.qq.com/s?__biz=MzA3MzYwNjQ3 ...

  3. Linux中的atim、mtime、ctime

    - Linux中的atime.mtime.ctime 一.文件中的atime.mtime.ctime 1.含义及各种事件标记的显示方法 atime:最近一次访问文件的时间用ls -lu看到的时间为at ...

  4. atime、mtime、ctime

    当你同熟练的UNIX用户进行交谈时,你经常会听到他们傲慢地讲出术语“改变时间(change time)”和“修改时间(modification time)”.对于许多人(和许多字典而言),改变和修改是 ...

  5. Linux常用命令之 查找命令 find —— 细说 -atime,-mtime,-ctime

    我们知道 Linux里面一切皆文件 ,那么我们能否查看一个文件是何时创建的呢?答案是否定的.那我们可以知道些文件关于时间的什么信息呢?那就不得不说文件状态的三个时间了,它们分别是 -atime, -c ...

  6. Linux文件时间详解ctime、mtime、atime【转】

    本文转载自:http://blog.csdn.net/doiido/article/details/43792561 Linux系统文件有三个主要的时间属性,分别是 ctime(change time ...

  7. Linux:Day7(上) find、文件特殊权限、if语句

    文件查找: 在文件系统上查找符合条件的文件: 文件查找工具:locate,find locate:非实时查找(数据库查找) find:实时查找: locate: 依赖于事先 构建的索引:索引的构建是在 ...

  8. Linux文件的三个时间属性(Atime,Mtime,Ctime)

    Linux下,一个文件有三种时间,分别是: 访问时间:atime 修改时间:mtime 状态时间:ctime 访问时间:对文件进行一次读操作,它的访问时间就会改变.例如像:cat.more等操作,但是 ...

  9. linux:磁盘的分割、检验、格式化与挂载

    新增一颗磁碟: 1.对磁碟进行分割,以建立可用的partition 2.对该分割槽partition进行格式化(format),以建立系统可用的filesystem 3.若要仔细点,可对刚刚建立的fi ...

  10. Linux:Day12(下) 进程、任务计划

    vmstat命令: vmstat [options] [delay [ count]] procs: r:等待运行的进程的个数: b:处于不可中断睡眠态的进程个数:(被阻塞的队列的长度): memor ...

随机推荐

  1. 【Java SE】Day01 前言、入门程序、常量、变量

    回顾一下Java之前学的内容 Day01 前言.入门程序.常量.变量 一.基础知识 莱布尼茨发明二进制,辗转相除与8421位权法互转,1B=1bit=1字节=8位=8byte dos cls清屏dir ...

  2. 【实时数仓】Day02-DWD、DIM层数据准备:各层职能、行为日志DWD层、业务日志DWD层及分流(Phoenix和HBASE)

    一.需求分析及实现思路 1.分层需求 建立数仓目的:增加数据计算的复用性 可以从半成品继续加工而成 从kafka的ODS层(数据一开始就读到了kafka)读用户行为数据和业务数据,并写回到kafka的 ...

  3. Servlet层

    package com.neu.servlet; import java.io.IOException;import java.io.PrintWriter;import java.util.Arra ...

  4. 用openpyxl创建工作簿和工作表

    import osimport openpyxl #设置默认路径os.chdir(r'D:/openpyxl/') #创建工作簿变量 wb = openpyxl.Workbook() #创建工作表变量 ...

  5. C#关于委托的一些事,开发日志

    ----- 委托是什么------ 其实委托事件很好理解,就当成是c语言中的函数指针或者是回调函数,或者说换种理解方式,信号和槽?触发器和接收器?总之就是一个地方调用了这个函数,那么在另一个地方也会调 ...

  6. js将时间戳转成时间格式

    let start_time = 1653007401082, date = new Date(+start_time), Y = date.getFullYear() + '-', M = (dat ...

  7. CH32V307以太网(芯片内部10M)

    用过WCH的CH579M或者CH563的话,就会发现CH32V307这个自带的10M以太网代码编写与前两颗芯片流程十分相似.部分区别就在于初始化方面. 代码流程依旧按照 初始化--->等待PHY ...

  8. [深度学习] ubuntu18.04配置深度学习环境笔记

    最近装过很多ubuntu18.04系统的nvidia驱动,cuda10.2,cudnn7.6.5,发现每次都会出现一些小问题.总结了具体步骤,做个记录.主要分为三个步骤:驱动安装,cuda安装,cud ...

  9. [python] mxnet60分钟入门Gluon教程

    mxnet60分钟入门Gluon教程代码下载,适合做过深度学习的人使用.入门教程地址: https://beta.mxnet.io/guide/getting-started/crash-course ...

  10. Android 使用实现简单的音乐播放以及管理

    这里主要通过 MediaPlayer以及 AudioManager 来实现的对应的功能. 1.第一种,播放本地媒体文件: 你需要自己准备一个MP3格式的音频文件: 然后在资源目录(res)里面新建一个 ...