简介
本章讲述的时间属性主要为文件的时间属性,在Linux中分为了3种时间属性,分别记录了文件内容更新、文件权限更新和文件最后的访问时间,下面将详细介绍在RHEL中如何查看与应用
三种时间属性介绍
- mtime(默认显示)
当该文件的文件内容更改时,就会更新,而不是文件的权限和属主
- atime
访问文件的时候,就会更新这个时间属性
- ctime
更改了文件的权限和属主,就会更新这个时间属性
查看时间属性
- 查看所有时间属性
查看文件的所有时间属性
> stat filename
- mtime
默认显示的是文件的mtime
> ls -l
- atime
> ls -l --time=atime /tmp/test/file3
- ctime
> ls -l --time=ctime /tmp/test/file3
时间属性的相关结合应用
- touch -t 1005170230 file4
创建指定时间的文件
- find ./ -mtime -2
查找当前目录下,近两天修改过的文件
- inotify
参照mtime ctime时间做触发,inotify它监控文件系统操作,比如读取、写入和创建。通过inotify实现数据的时时同步,所需要的应用软件inotify-tools。所以使用前需要通过yum来进行安装,由于inotify的使用篇幅比较大,这里不做过多的扩展,由于要想要通过inotify来实现文件同步的,可安装后使用man来查看相关资料
时间属性的相关疑问验证
- 进入目录,时间属性变化情况
进入/tmp/test目录前的mtime、atime、ctime这三个时间属性都没有变化
- 在目录下,建立新文件或新目录,时间属性变化情况
在目录下新建文件或目录是会改变mtime和ctime,但atime并不会改变
- 移动目录,时间属性变化情况
/tmp/test目录移动到根目录下时间属性并无变化
- cp目录,时间属性变化情况
被复制目录/test的时间属性并没有发生变化,而复制到/tmp下的test目录则更新了所有时间属性,相当于在/tmp下新建了test目录
- 在该目录下,执行ls -l 时,时间属性变化情况
在/tmp/test下执行ls -l,会更新atime
- 文件增加硬链接,时间属性变化情况
当文件增加硬连接时mtime和ctime这两个时间属性会更新
小结
以上就是时间属性的基础篇介绍,其实在Linux当中时间属性是一个比较细小的模块,主要是记录最近一次的文件更新与访问时间,在一些应用场景当中是比较实用的,例如文件实时同步之类的就能通过ctime来判断文件是否有进行改动,如果ctime和上次记录的ctime没有变化则不需要更新。