在windows下,一个文件有三种时间:创建时间、修改时间、访问时间
而在Linux下,一个文件也有三种时间:访问时间atime(access
time)、修改时间mtime(modify time)、状态改动时间ctime(change
time)
两者有此不同,在Linux下没有创建时间的概念,也就是不能知道文件的建立时间。
如果文件建立后就没有修改过,修改时间=建立时间; 如果文件建立后状态就没有改动过,那么状态改动时间=建立时间; 如果文件建立后没有被读取过,那么访问时间=建立时间,
因为不好判断文件是否被改过、读过、其状态是否变过,所以linux下判断文件的建立时间基本上能为不可能。
说明:
- 元数据包括 节点、种类、权限模式、链接数量、所归属的用户和用户组、最近访问或修改的时间等内容
- 可能改变访问时间的命令(ls
-lu查看):cat,more,less,head,tail,sed,grep,awk,file,可执行文件被执行;音频视频文件被播放
- 可能改变修改的操作(ls
-l查看):文件内容被修改
- 可能改变状态时间的操作(ls
-lc查看):chmod,chown,mv,create,usermod,chgrp,ln
- 当修改mtime时,ctime必须随着改变,因为文件大小等都是属性;atime不一定随着改变,因为不访问文件也能修改其内容。如:#echo
“This is a test !” >> /etc/issue
- 对于CDN加速服务器来说,缓存的一些内容是经常被访问和修改的,而修改这些时间都会对磁盘的I/0产生影响,文件少的情况,影响不大,但是成千上万的文件在同一时间修肯定会影响到I/0的效果,以下方法为关闭atime和mtime的方法: 1、vi /etc/fstab 2、/dev/md5 /data/pics1 ext3 noatime,nodiratime 0 0 这样atime和mtime两个时间就会被关闭