【Linux】Linux下的Access time/Modify time/Change time三个时间


1.Access time/Modify time/Change time这三个时间

在Linux系统下,用stat指令可以查看文件信息,主要是可以查看inode的信息。


文件显示的信息分别为: 
File:文件名          Size:文件大小                       Blocks:文件使用的数据块总数
IO Block:IO块大小     regular file文件类型(常规文件)      Device:设备编号
Inode:Inode号       Links:链接数                         Access:文件的权限
Gid、Uid:文件所有权的Gid和Uid。
三个时间所表示的含义如下(注意:变更的时间为当前的系统时间):
Access time: 代表文件的访问时间,每当文件被访问时,这个时间就会变更。
Modify time: 代表文件内容被修改的时间,当文件的内容被更改时,这个时间就会变更。
Change time: 代表文件状态改变的时间,即当文件的信息如Size、Block、Access等改变时,这个时间就会变更。

由于之前我用了Vim打开了文件,又写入了文件(相当于修改),此时文件的大小状态都会发生变化。所以如上面显示, 这三个时间都同时发生了变化,所以一样。

下面我们通过实例展示根据不同操作三个时间发生的相应变化。
1.Access time(访问时间)的变更

2.Modify time(修改文件内容时间)的变更
我们使用echo指令想文件写入内容,访问时间不变,但此时不仅文件的Modify修改时间发生变更,Change状态时间也发生了变更。那是因为在写入的过程文件的大小,所使用的数据块数等也发生了变化,所以Change状态时间发生了变更。

3.Change time(状态时间)的变更

此时Access time访问时间不变,Modify time 修改文件时间不变,Change time状态时间发生了改变。


由上可得如下结论:

当访问文件时,Access time 改变,而 Modify time 、Change time 不变。
当修改文件内容时,Modify time 、Change time 会改变,Access time 不一定改变(得看修改文件内容的方式。例如echo,vim这两种就不同)
当修改文件属性信息时,Change time 改变,而 Access time 、 Modify time 不变。


2.那这三个时间只能在变更时系统给出?我们不能人工进行设置吗?


答案是当然可以,我们可以通过touch指令完成对这三个时间的修改。

用法:

touch -a 是将Access修改为当前系统时间,touch -a -d 是将Access修改为指定的时间

touch -m是将Modify修改为当前系统时间,touch -m -d是将Modify修改为指定的时间

touch -c是将Access/Modify修改为当前系统时间,touch -c -d是将Access/Modify修改为指定的时间

touch -d 与 touch -c -d 作用相同。

使用以上所有指令时,Change都被自动变更为当前系统时间。


通过以下实例证明一下:


     touch -a test 修改test文件的Access为当前系统时间,Change自动变更为当前系统时间

 

      touch - m test 修改test文件的Modify为当前系统时间,Change自动变更为当前系统时间

    

    touch -c test 修改test文件的Access/Modify为当前系统时间,Change自动变更为当前系统时间


   touch -a -d 2017-3-25 test  是将test文件的Access更改为2017-3-25。Change自动变更为当前系统时间。



touch -m -d 2017-3-25 test  是将test文件的Modify更改为2017-3-25.Change自动变更为当前系统时间。



touch -c -d 2017-3-25 test  将test文件的Access/Modify更改为2017-3-25.Change自动变更为当前系统时间



touch -d 2017-3-25  test  是将test文件的Access/Modify更改为2017-3-25.Change自动变更为当前系统时间。它与 touch -c -d 2017-3-25 test 作用一样。








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值