POSIX下三种time(atime,mtime,ctime)

简介: 在windows下一个文件有三种时间属性: 1>创建时间 2>修改时间 3>访问时间 相似的在Linux下一个文件也有三种时间属性: (与windows不同的是linux没有创建时间,而多了个访问时间) 1>访问时间(access time 简写为atime) ...

在windows下一个文件有三种时间属性:


1>创建时间

2>修改时间

3>访问时间


相似的在Linux下一个文件也有三种时间属性:

(与windows不同的是linux没有创建时间,而多了个访问时间)


1>访问时间(access time 简写为atime)

2>修改时间(modify time 简写为mtime)

3>状态修改时间(change time 简写为ctime)


关于Linux底下三种时间的简单介绍:


atime:(access time)显示的是文件中的数据最后被访问的时间,比如系统

的进程直接使用或通过一些命令和脚本间接使用。(执行一些可执行文件或脚本)

mtime: (modify time)显示的是文件内容被修改的最后时间,比如用vi编辑

时就会被改变。(也就是Block的内容)

ctime: (change time)显示的是文件的权限、拥有者、所属的组、链接数发

生改变时的时间。当然当内容改变时也会随之改变(即inode内容发生改变和Block内容

发生改变时)


下来小编我给大家看一个实例


    首先打开我的终端Terminal,(cd XXX)进入自己所要建文件的目录底下(我的

目录为cmd),(touch xxx,建一个文件,我的文件名为file.txt)),(vim xxx)打开

你所建的文件,并且修改其内容,退出该文件


POSIX面向多个connector, 比如nodejs的fs核心模块, 做portless的crud也是非常方便的.


查看这三种时间:

使用的命令为

stat filename


如下图:



在此说明:

(因为我们在创建文件之后修改过文件所以三个时间是不一样的,如果只是单纯地创

建文件,那么它们三个应该是相等的。)


   扩展知识:
         另外,从kernel2.6.29开,还默认集成了一个relatime的属性。可能是因为在文件读操作很频繁的系统
中,atime更新所带来的开销很大,所以很多SA都在挂装文件系统的时候使用noatime属性来停止更新atime。但是有些程序需要根据atime进行一些判断和操作,所以Linux就推出了一个relatime特性。
使用这个特性来挂装文件系统后,只有当mtime比atime更新的时候,才会更新atime。事实上,这个时候atime和mtime已经是同一个东西了。所以这个选项就是为了实现对atime的兼容才推出的。并不是一个新的时间属性。使用方法就是通过mount -o relatime /dir来挂装目录.


             》》》》》到此结束!

目录
相关文章
|
安全 数据库 数据安全/隐私保护
密码管理工具-KeePass入门指南
密码管理工具-KeePass入门指南
1715 0
|
10月前
|
Cloud Native 前端开发 JavaScript
前端开发者必看:不懂云原生你就OUT了!揭秘如何用云原生技术提升项目部署与全栈能力
【10月更文挑战第23天】随着云计算的发展,云原生逐渐成为技术热点。前端开发者了解云原生有助于提升部署与运维效率、实现微服务化、掌握全栈开发能力和利用丰富技术生态。本文通过示例代码介绍云原生在前端项目中的应用,帮助开发者更好地理解其重要性。
282 0
|
10月前
|
JavaScript 前端开发 API
探索组合式API与Options API的对比及最佳实践
探索组合式API与Options API的对比及最佳实践
299 83
|
存储 分布式计算 算法
基于 Log 的通用增量 Checkpoint
本文将从 Checkpoint 的性能优化历程出发,介绍 ChangelogStateBackend 的基本机制、应用场景和未来规划,同时介绍最新版本在 State 上的一些优化工作。
7648 2
基于 Log 的通用增量 Checkpoint
|
10月前
|
测试技术 开发者 Python
对于Python中的异常要如何处理,raise关键字你真的了解吗?一篇文章带你从头了解
`raise`关键字在Python中用于显式引发异常,允许开发者在检测到错误条件时中断程序流程,并通过异常处理机制(如try-except块)接管控制。`raise`后可跟异常类型、异常对象及错误信息,适用于验证输入、处理错误、自定义异常、重新引发异常及测试等场景。例如,`raise ValueError("Invalid input")`用于验证输入数据,若不符合预期则引发异常,确保数据准确并提供清晰错误信息。此外,通过自定义异常类,可以针对特定错误情况提供更具体的信息,增强代码的健壮性和可维护性。
|
Linux 数据处理 Perl
深入探索Linux的rename命令:文件重命名利器
**Linux的`rename`命令是批量重命名文件的利器,基于正则表达式或Perl,支持预览、交互式确认及多种操作模式。常用示例:用`s/ /_/g`替换空格为下划线,`s/$/.txt/`添加扩展名,`s/\..*//`删除扩展名。使用时注意备份、测试命令、权限和正则表达式知识。**
|
SQL 关系型数据库 API
SqlAlchemy 2.0 中文文档(二十一)(1)
SqlAlchemy 2.0 中文文档(二十一)
138 0
|
消息中间件 存储 Java
Spring boot + RabbitMQ延迟队列实战
Spring boot + RabbitMQ延迟队列实战
1398 0
Spring boot + RabbitMQ延迟队列实战
|
算法 C# 流计算
MD5、SHA256等Hash算法的实时计算
MD5、SHA256等Hash算法的实时计算