在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来挂装目录.
使用这个特性来挂装文件系统后,只有当mtime比atime更新的时候,才会更新atime。事实上,这个时候atime和mtime已经是同一个东西了。所以这个选项就是为了实现对atime的兼容才推出的。并不是一个新的时间属性。使用方法就是通过mount -o relatime /dir来挂装目录.
》》》》》到此结束!