stat filename
-
查看文件的三个时间属性
-
ls -lc filename 列出文件的 ctime
-
ls -lu filename 列出问题的 atime
-
ls -l filename 列出文件的 mtime
-
stat filename 会显示该文件的详细信息,该信息保存在一个名为索引节点的区域-叫做inode
inode
- inode包含的文件信息:
* 文件的字节数;
* 文件数据block的位置;
* 文件的读,写,执行 的权限 ;
* 文件拥有者的ID;
* 文件的Group ID
*文件的时间戳(mtime ,atime ,ctime )
atime
- 在读取文件或者执行访问文件时更改
在读取或执行文件后,atime 改变而 ctime , mtime 不变。
ctime
- 在写入文件,更改所有者权限 或链接设置时随 inode 的内容更改而更改。
*只修改 inode信息(除文件内容),ctime 改变 --> atime 和 mtime 不变。
mtime
- 在写入文件时随文件内容的更改而更改。
*只要文件写入内容后,mtime 改变 ctime 改变 ,而 atime 不改变
另外,从kernel2.6.29开,还默认集成了一个relatime的属性。可能是因为在文件读操作很频繁的系统中,atime更新所带来的开销很大,所以很多SA都在挂装文件系统的时候使用noatime属性来停止更新atime。但是有些程序需要根据atime进行一些判断和操作,所以Linux就推出了一个relatime特性。
使用这个特性来挂装文件系统后,只有当mtime比atime更新的时候,才会更新atime。事实上,这个时候atime和mtime已经是同一个东西了。所以这个选项就是为了实现对atime的兼容才推出的。并不是一个新的时间属性。使用方法就是通过mount -o relatime /dir来挂装目录.