在windows系统下查看过文件属性的朋友可能都知道,每个文件都有三个时间参数,分别为:创建时间、修改时间、访问时间。如图:
同样的,Linux文件系统下对应每个文件也有三个时间参数,但与windows下略有不同,三个时间分别为:
- Access(atime):访问时间,指文件最后一次被访问的时间;
- Modify(mtime):修改时间,指文件内容最后一次被修改的时间。这里的文件内容指文件内的数据;
- Change(ctime):状态修改时间,指文件的属性状态一次被修改的时,比如文件权限、所有者、大小等;
文件的时间参数对我们是特别重要,尤其是修改时间mtime,比如我们在公司的一个项目组工作,由于一个菜鸟(可能是你)失误改变了一个文件的数据而导致了服务器的奔溃,找出这个文件并复原就是我们必须要做的事情。所以掌握这三个时间的变化规则是我们必要的技能。
atime
怎么算访问一个文件呢?比如用cat、more、less指令查看一个文件的内容或用vim编辑器打开一个文件都算一次访问。下面我们研究一下它的变化规则。
测试1:
首先我们创建一个文件,并用stat指令查看文件的inode信息。
用cat指令查看文件内容,并再次查看。我们会发现访问时间atime发生变化。(more、less不再测试,效果相同)
紧接着,我们再次对这个文件进行一次cat操作,时间会不会变化呢?