三个时间

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. python3 利用当前时间、随机数产生一个唯一的数字作为文件名

    一.python3 利用当前时间.随机数产生一个唯一的数字作为文件名 代码如下: #-*-coding:utf-8-*- #python3自动生成文件名 from datetime import * ...

  2. Python中open()文件操作/OS目录操作

    File对象测试数据的读写与操作 #def open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, ...

  3. 实时采集MySQL数据之轻量工具Maxwell实操

    @ 目录 概述 定义 原理 Binlog说明 Maxwell和Canal的区别 部署 安装 MySQL准备 初始化Maxwell元数据库 Maxwell进程启动 命令行参数 配置文件 实时监控Mysq ...

  4. 如何在 .Net 7 中将 Query 绑定到数组

    在 .Net 7 中,我们可以通过绑定数组的方式来接收来自查询字符串的参数.这样就不需要再使用逗号分隔的字符串来获取参数了. 代码演示 假设我们需要从 query 上接受多个 id 并返回查询的结果. ...

  5. ArcObjects SDK开发 021 开发框架搭建-FrameWork包设计

    1.框架引擎部分 引擎模块其实就是之前我们说的App-Command-Tool模块,通过这个模块,把系统的主干框架搭建起来. 其中大部分出现在菜单以及工具条上的按钮都会继承这个框架定义ICommand ...

  6. 使用JsonConverter处理上传文件的路径

    场景 我们上传一个文件,把文件保存到服务器上,会有一个明确的物理路径,由于需要从前端访问这个文件,还需要web服务器中的一个虚拟路径.这个虚拟路径的存储会有一个问题,我们应该在数据库里存什么?是带域名 ...

  7. 解决scapy库下找不到IP,TCP模板的问题

    scapy版本: 问题描述: 我看到书中导入TCP,IP模块是通过from scapy.all import TCP,IP 上机实验发现找不到这个模块,通过大量查找发现此模块在最新版本中转移到其他包里 ...

  8. Profiler导致的严重性能问题

    背景 客户反馈系统突然运行非常缓慢,持续了近20分钟的时间,通过SQL专家云定位到有人开启了Profiler导致,但是不能定位是谁开启的,请我们协助分析. 现象  登录SQL专家云,进入实时可视化页面 ...

  9. [深度学习]Keras利用VGG进行迁移学习模板

    # -*- coding: UTF-8 -*- import keras from keras import Model from keras.applications import VGG16 fr ...

  10. YMOI 2019.6.29

    题解 YMOI 2019.6.29 放弃FAIOJ,用cena考了一次试.被全方位吊打.. T1 开灯 题面: 在一条无限长的路上,有一排无限长的路灯,编号为1,2,3,4,--. 每一盏灯只有两种可 ...