Linux:atime、mtime、ctime
三个时间
Linux 的文件属性中有:访问时间(Access Time)、修改时间(Modify Time)、改变时间(Change Time):
- 访问时间(Access Time):对文件进行一次读操作,它的访问时间就“有可能”会被更新。例如 cat 指令查看文件内容。
- 修改时间(Modify Time):对文件内容进行修改操作,它的修改时间就会被更新。例如 vim 指令修改文件内容。
- 改变时间(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 指令查找文件可以添加时间的参数从而减少查找的范围,其中就会利用到以上三种时间作为参数,它们分别是:
- Access Time:atime;
- Modify Time:mtime;
- Change Time:ctime。
假设现在是 2022年9月24日 18:15:00,我需要查找某文件夹下有三天之前被修改的文件,利用 mtime,查找到两个符合条件的文件:

-mtime +3 中的 mtime 表示距离上一次的修改时间,+3 代表修改时间的范围超过 3 天。
Linux:atime、mtime、ctime的更多相关文章
- Linux -atime、mtime、ctime
Linux中,文件都有其自身的atime.mtime.ctime,在不同的命令下,各时间发生相应的改变.下面,我们来简单的介绍一下: atime (access time):表示最后一次访问文件或目录 ...
- atime、mtime、ctime的区别及如何降低atime更新 mount时的option noatime
atime.mtime.ctime的区别及如何降低atime更新 mount时的option noatime http://mp.weixin.qq.com/s?__biz=MzA3MzYwNjQ3 ...
- Linux中的atim、mtime、ctime
- Linux中的atime.mtime.ctime 一.文件中的atime.mtime.ctime 1.含义及各种事件标记的显示方法 atime:最近一次访问文件的时间用ls -lu看到的时间为at ...
- atime、mtime、ctime
当你同熟练的UNIX用户进行交谈时,你经常会听到他们傲慢地讲出术语“改变时间(change time)”和“修改时间(modification time)”.对于许多人(和许多字典而言),改变和修改是 ...
- Linux常用命令之 查找命令 find —— 细说 -atime,-mtime,-ctime
我们知道 Linux里面一切皆文件 ,那么我们能否查看一个文件是何时创建的呢?答案是否定的.那我们可以知道些文件关于时间的什么信息呢?那就不得不说文件状态的三个时间了,它们分别是 -atime, -c ...
- Linux文件时间详解ctime、mtime、atime【转】
本文转载自:http://blog.csdn.net/doiido/article/details/43792561 Linux系统文件有三个主要的时间属性,分别是 ctime(change time ...
- Linux:Day7(上) find、文件特殊权限、if语句
文件查找: 在文件系统上查找符合条件的文件: 文件查找工具:locate,find locate:非实时查找(数据库查找) find:实时查找: locate: 依赖于事先 构建的索引:索引的构建是在 ...
- Linux文件的三个时间属性(Atime,Mtime,Ctime)
Linux下,一个文件有三种时间,分别是: 访问时间:atime 修改时间:mtime 状态时间:ctime 访问时间:对文件进行一次读操作,它的访问时间就会改变.例如像:cat.more等操作,但是 ...
- linux:磁盘的分割、检验、格式化与挂载
新增一颗磁碟: 1.对磁碟进行分割,以建立可用的partition 2.对该分割槽partition进行格式化(format),以建立系统可用的filesystem 3.若要仔细点,可对刚刚建立的fi ...
- Linux:Day12(下) 进程、任务计划
vmstat命令: vmstat [options] [delay [ count]] procs: r:等待运行的进程的个数: b:处于不可中断睡眠态的进程个数:(被阻塞的队列的长度): memor ...
随机推荐
- (java 实现开箱即用基于 redis 的分布式锁
项目简介 lock 为 java 设计的分布式锁,开箱即用,纵享丝滑. 开源地址:https://github.com/houbb/lock 目的 开箱即用,支持注解式和过程式调用 基于 redis ...
- keepalived 主备使用
keepalived 主备使用 本篇主要介绍一下 keepalived 的基本的 主备使用 1.概述 什么是 keepalived呢,它是一个集群管理中 保证集群高可用的软件,防止单点故障,keepa ...
- React报错之Function components cannot have string refs
总览 当我们在一个函数组件中使用一个字符串作为ref时,会产生"Function components cannot have string refs"错误.为了解决该错误,使用u ...
- 可视化软件Navicat,python操作MySQL
可视化软件Navicat 第三方开发的用来充当数据库客户端的简单快捷的操作界面 无论第三方软件有多么的花里胡哨,底层的本质还是SQL 能够操作数据库的第三方可视化软件有很多,其中针对MySQL最出名的 ...
- Octave/Matlab初步学习
Octave/Matlab初步学习 1.基本运算 和其他语言一样,可以通过数学运算符号来实现数学公式的运算.逻辑运算也基本相同 要注意的是,≠这个符号,表达式为 1 ~= 2 而不是用!=来表达 ...
- 从Spring中学到的【2】--容器类
容器类 我们在实际编码中,常常会遇到各种容器类,他们有时叫做POJO,有时又叫做DTO,VO, DO等,这些类只具有容器的作用,具有完全的get,set方法,作为信息载体,作数据传输用. 其实,很多地 ...
- openEuler 部署Kubernetes(K8s)集群
前言 由于工作原因需要使用 openEuler,openEuler官方文档部署K8s集群比较复杂,并且网上相关资料较少,本文是通过实践与测试整理的 openEuler 22.03 部署 Kuberne ...
- Asp-Net-Core权限认证
title: Asp.Net Core权限认证 date: 2022-10-27 16:17:52 tags: - .NET 翻了很多的博客,文档,发现asp.net core自带的权限认证还是比较复 ...
- P5690 [CSP-S2019 江西] 日期
简要题意 给你一个格式为 \(\texttt{MM-DD}\) 的日期.你每一次可以更改一个整数,花费 \(1\) 的代价.求将该日期改为一个合法的日期的最小代价.(注:\(2\) 月视为 \(28\ ...
- 刷题笔记——2181.信息学奥赛一本通T1005-地球人口承载力估计
题目 2181.信息学奥赛一本通T1005-地球人口承载力估计 2999.牛吃牧草 代码 x, a, y, b = map(int,input().strip().split()) z = float ...