修改文件时间和创建新的文件

三个time属性

访问时间(Access time):atime,读取一次文件的内容,该时间便会更新。要想看到文件访问时间可使用ls –ul命令。

修改时间(Modified time):mtime,对文件内容修改一次便会更新该时间。ls –l列出的时间便是这个时间。

改变时间(Change time):ctime,例如更改文件的权限和属性就会更改这个时间。

获得一个文件的三个time:

stat

注意:

更改文件的内容即会更改mtime和ctime,但是文件的ctime可能会在 mtime 未发生任何变化时更改,例如:更改了文件的权限,但是文件内容没有变化。

atime不一定在访问文件之后被修改,因为:使用ext3文件系统的时候,如果在mount的时候使用了noatime参数那么就不会更新atime的信息。

总之, 這三个time stamp 都放在 inode 中。若 mtime, atime 修改inode 就一定会改, 既然 inode 改了, 那 ctime 也就跟着要改了。 

创建新文件

功能:

       创建一个空的文件,将文件日期修改为目前日期。

语法:

touch [选项] 文件

选项:

-a:仅修改访问时间

-c:仅修改文件的时间,若该文件不存在则不创建新文件

-d:后面可以接欲修改的日期而不用目前的日期,也可以使用--date=“日期或时间”

-m:仅修改mtime

-t :后面可以接欲修改的日期而不用目前的日期,格式[YYMMDDhhmm]

示例:

1.创建一个空文件并查看时间:

2.复制文件:

说明:

       文件内容与原来的一致,因此mtime时间是原有的时间点;

       文件是刚刚被创建的,所以ctime,atime都是现在的时间点。

3.更改上面文件的时间:

说明:

       文件的atime由11号变成9号,即“前两天”;

       文件的mtime变为9号;

       文件的ctime没有变。

4.将上面的文件修改为指定的时间:

说明:

       文件的atime、mtime都变成了指定的时间;

       ctime时间没有变。 

注意:

       复制一个文件时,复制了所有属性,也办法复制ctime属性。

posted @ 2018-03-11 19:30  刘-皇叔  阅读(679)  评论(0编辑  收藏  举报