您的位置:首页 > 运维架构 > Linux

Linux学习第十篇--修改文件的时间

2017-08-04 00:00 323 查看

前言

在写这篇博客之前,看了一些文章(和技术无关),看了别人的大学生活,别人在大学时候做的事,才发现自己的大学生活的确略显苍白.

人生苦短,所以为了追上优秀的人的脚步,自己要加油了!

修改文件的时间

我记得在我补充inode节点时,里面有inode节点存储内容的一张图,在图里除了文件对应的权限之外还有三个属性.

分别是access,modify,Change,分别对应着文件最新访问时间(atime),文件内容最近变更时间(mtime),文件变更最近时间(ctime).

从名字上来看不难理解,

accesstime(atime)访问时间,也就是说这个时间标识该文件最新被访问时间.

modificationtime(mtime),修改时间,这个时间记录着文件最近被修改的时间.

changetime(status time/ctime):变更时间,当文件的状态变更时改变改时间.比如cp.mv,create

今天,我就开始尝试着变更这些文件的这几个时间.

如果需要修改文件的这几个时间,需要使用到一个命令--touch



在touch的帮助文档中,第一句就说明了touch的作用,改变文件的时间(戳).他可以将文件的访问和修改时间置为当前时间.

有一点需要注意的是,如果使用touch命令的时候,目标文件不存在,默认情况下,会创建一个新的文件.

下面主要聊一聊他的主要选项.

第一个参数a,a参数的作用仅仅是改变访问时间.

第二个参数c,使用这个选项的时候,如果目标文件不存在的话,也不会去创建一个新的文件.

第三个参数 d, d参数接受一个日期字符串,比如 touch -a -d 2017-06-16 12:01:00 文件名

第四个参数h,h参数的作用是让修改的文件不仅仅作用于其本身,同时还作用于链接文件上.

第五个参数m,m修改modification Time.

第六个参数t,t用于指定具体的时间,格式为YYMMDDhhmm,而不是使用当前时间.

剩下的就是不很重要的选项了.

一般情况下我们会怎么用这个命令呢?

比如,我现在有这么一个文件:touch.txt,使用stat 命令查看文件的节点信息如下.


我们可以看到touch.txt文件的atime,mtime和ctime.

这时候呢,我想改变一下,这个文件的atime.可以直接使用touch -a 命令

比如.



如果想要概念mtime,同时使用-m参数即可.

所以,touch命令貌似并不难,而且,touch命令除了在一些特殊的场景下,用的应该并不多吧.

结束语

本来这篇博客是想写文件的默认权限和特殊属性的,然后将touch命令夹杂在其中,但是想了想,还是觉得这篇还是单独放比较好一点.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: