前言:
windows打开一个文本文件的设置,我们会看到有三个时间:
这三个时间分别标识了windows系统中,这个文件的创建时间、修改时间和访问时间。
那么,对于“一切皆文件的”Linux系统呢?
查看Linux下时间:
Linux下有一条查看时间的指令---stat
Linux系统下也有三个主要的时间参数,分别是Access,Modify,Change
Access:(access time),简写为atime指的是我们最后一次访问这个文件的时间。
Modify:(modify time),简写为mtime指的是我们我们最后一次修改文件的时间,多指文件内容等。
Change:(change time),简写为ctime指的是我们最后一次对文件属性修改的时间,包括权限,大小,属性等。
当然想要单独查看每个时间也有相对应的指令:
ls -lc filename 查看文件的ctime
ls -lu filename 查看文件的atime
ls -l filename 查看文件的mtime
还有另一种方式:#ll -time=atime/mtime/ctime 也可以查询文件的各个时间参数
知道了 这几个时间参数的意思,接下来,就要知道,如何修改这些事件参数呢?
修改时间参数:
1.修改atime参数
文件的内容被读取时,就会修改文件的atime参数,例如,我们cat 一个文件,那么这个文件的atime就会发生变化
对比分析:跟之前的图片对比,可以看出,mtime和ctime都没有发生变化,读取文件内容ghoulish,只有atime发生了变化。
2.修改mtime参数
文件内容发生变化时,这个参数就会发生变化,例如,我们vim file.txt文件,再删掉file.txt的内容,echo一句代码进去。
由于我们删掉了file.txt文件的一部分内容,改变了file.txt文件的大小,所以,文件的ctime也发生了改变。
3.修改ctime参数
文件的状态发生改变,就会更新ctime参数。在上面,虽然没有专门去测试修改这个参数,但是修改了文件大小,ctime也自动更新了。我们改变mtime参数,也会改变ctime,所以,要想不改变atime和mtime,之修改ctime参数,我们可以试着去修改文件权限,属性等。
这样,我们就对Linux下的三个时间有了一定的认识和了解,但是linux下命令很多,我们怎么知道这条命令到底有没有修改三个时间或者到底修改了哪几个时间,我在网上找到了一些常用命令对三个参数的修改表,
touch命令:
首先,我们在linux下输入man/info指令,查看touch命令的基本知识
man/info touch
我们只看最重要的,最常用的部分,就红红色框圈起来的部分。上图中都给出了意思。
我们都知道,touch指令是用来创建一个空文件的,但是它还有另一个重要的用处就是更改文件的时间。
接下来,我们看看它的参数
-a (change only the access time) 或--time=atime或--time=access或--time=use 只更改存取时间;
-c (--no creat do not creat any file) 不建立任何文件
-d:(--date=STRING please STRING and use it instead of current time)<时间日期>使用指定的日期时间更改文时间
-m: (change only the modification time) 或--time=mtime或--time=modify 只更该变动时间;
-r: (--reference=FILE,use this files time instead of current time)使用指定文件或目录的时间,更改参考文件的atime和mtime
-t: 使用指定的时间,而非现在的时间
好了,关于Linux下的三个时间就说到这里!!!