对 linux文件三个时间的认识

    在Windows下文件信息为

 

在Linux下没有文件创建时间,现在通过指令 stat +文件名  查看文件信息

 例如 : 使用 stat 指令 查看 12.c文件 

stat 12.c

显示信息如下:


 

我们主要理解的是文件三个时间

atime(Access time) :我们去访问这个文件时,这个时间会更新,时间就是我们最后一次访问的时间
mtime(Access time): 文件内容最后一次更改的时间,不涉及权限
ctime(Change time): 文件 inode信息最后一次修改时间,比如:文件的link链接数,文件的大小,文件的权限

在linux 下查看文件三个时间指令为

ls -lc 查看文件的 ctiem
ls -l  查看文件的 mtime
ls -lu 查看文件atime


一.现在使用指令对文件进行操作,看三个时间如何变化


1.使用 vim 编辑文件12.c看看三个时间的改变



我们发现文件3个时间都发生了改变,因为vim先打开文件,就是读取了文件所以改变了atime

在文件中加入了一个小程序,改变了文件大小与文件内容,所以也改变了mtime,ctime。

2. 使用echo命令对文件进行操作   

echo "123">12.c  //向文件写入123,将文件原内容覆盖掉


 我们发现 atime 并没有发生改变 ,其他两个都发生了改变。这是因为echo可以在不改变文件访问时间的情况下,对文件进行操作,mtime改变的原因是文件内容发生了改变,ctime改变的原因是文件大小发生了变化。

3. 使用cat命令对文件进行操作

cat 12.c // 查看文件内容


我们发现只有atime 发生了改变。是因为cat只是查看文件内容,访问了文件而已。

二. touch指令对三个时间的影响

  touch命令一般用来修改文件的时间戳,或者新建一个不存在的文件

(1)命令格式: touch [参数选项] 文件名

(2)命令参数 

-a 或–time=atime或–time=access或–time=use只更改存取时间。 

-c 或–no-create 不创建任何文档 

-m 或–time=mtime或–time=modify 只更改变动时间。 

-r 将指定文件或目录的日期时间设置成参考文件或目录的时间日期。 

-t 使用指定的日期时间而不是现在的时间。

(3)touch命令可以更改文档或目录的日期时间包括存取时间和更改时间
现在对touch指令进行详解 
1. touch -a 

touch -a 改变文件的atime 但是ctime为什么也变了? 是因为改变了文件的atime之后,文件的状态发生了变化,所以ctime 也改变了
2. touch -c
将文件三个时间更新到最新时间

touch -m
 更新文件的修改时间(mtime),同时文件的ctime 更新

touch -t
将文件的日期和时间指定的给出。这里的时间的格式:[ [CC] YY] MMDDhhmm [.SS]。这里的CC是”世纪数”的前两位,”YY”是年数的后两位(CCYY的范围是1969–2068),MM是月份,DD是天数,hh是小时,mm是分钟,SS是秒数
touch -t  199504141224  //1995年4月14日12点24分

文件的atime,mtime 时间改到了1995年4月14日12点24分, ctime时间是系统最新时间。





















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值