Stat 命令中 Access, Modify, Change的区别

4913阅读 0评论2012-07-09 sbc19861004
分类:系统运维


点击(此处)折叠或打开

  1. debian:/tvm/tvmupload# stat /tvm/tvmupload/monitor.flv
  2. File: `/tvm/tvmupload/monitor.flv'
  3. Size: 11750396 Blocks: 22984 IO Block: 4096 regular file
  4. Device: 808h/2056d Inode: 313573594 Links: 1
  5. Access: (0644/-rw-r--r--) Uid: ( 99/ nobody) Gid: ( 99/ nobody)
  6. Access: 2012-07-05 18:25:01.000000000 +0800
  7. Modify: 2012-07-05 18:25:01.000000000 +0800
  8. Change: 2012-07-09 11:54:05.000000000 +0800

Access 指最后一次读取的时间
Modify 指最后一次修改数据的时间
Change 指最后一次修改元数据的时间

Modify和Change的区别主要在对文件修改的部分不同,Modify指修改文件的内容,即write()操作;而Change指修改文件的元数据,如chown(),chgrp()等。

但此次例子有个特别之处时Access和Modify永远相同,这个理由本人摘抄了一段解释:

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