Linux下文件的ACM三个时间分别代表什么?如何修改?

本文详细解析了文件系统的访问时间、修改时间和inode更改时间的概念及其区别,并介绍了如何使用touch命令来更新这些时间。

      我们通过stat指令可以得到关于创建的文件的相关信息,其中在上面File表示文件,后面接文件名;然后是Blocks表示块,IO Blocks表示IO块, 是普通文件,大小为0。




下面我们主要还是要看一下Access,Modify和Change这三种时间分别代表的意思:


Access time:文件最后访问时间

   简称atime,就是一个文件或目录的最近一次的被访问时间

   看下图可以发现cat test后只有Access的时间变了





Modify  time: 文件最后修改时间

     简称 mtime,就是一个文件或目录当前内容最后被修改的时间

      修改了test的内容发现Modify时间变了,修改时间我们很容易想成文件有修改才改变,那其实也的确是这样,只是这个       修改是指修改的操作,不是说文件内容不变它就不改变,而是需要文件没有进行过写操作。

      同时Change也变了,是因为test文件的属性变了,所以Chenge也变了,可看下面Chenge的解释



Change time:对文件Inode信息最后修改时间

   简称ctime,就是一个文件或目录的更改时间,当然这里指的是文件或目录的属性(所有者,权限等等)被修改的时间。

一、inode是什么?
  理解inode,要从文件储存说起。
        文件储存在硬盘上,硬盘的最小存储单位叫做“扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。
        操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个“块”(block)。这种由多个扇区组成的“块”,是文件存取的最小单位。“块”的大小,最常见的是4KB,即连续八个 sector组成一个 block。
  文件数据都储存在“块”中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为“索引节点”。


二、inode包含文件的元信息,具体来说有以下内容:
 * 文件的字节数 * 文件拥有者的User ID  * 文件的Group ID  * 文件的读、写、执行权限       

    * 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一 次打开的时间。
    * 链接数,即有多少文件名指向这个inode
    * 文件数据block的位置







问题二、用touch如何修改时间


首先介绍touch指令:


使用touch指令,不仅可以创建一个文件,还可以修改文件的时间:


格式:touch 参数  文件名


参数:


-a:或--time=atime或--time=access或--time=use


-c:或--no-creat,如果棉花地文件不存在,也不创建任何文档


-d:使用指定的日期时间,可以使用不同的格式


-m:或--time=mtime或--time=modify,改变修改时间


-r:把指定的文件日期更设成和参考文档或目录日期相同的时间


-t:使用指定的日期时间,格式与date指令相同


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值