您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

详解Linux文件三个主要的修改时间

添加时间:2010-12-10  添加: admin 

   Linux文件有3个修改时间,很多朋友都喜欢弄混淆,也包括我在内,现在列出来供参考。

  1)modification time (mtime,修改时间):这个时间指的是文件内容修改的时间,而不是文件属性的修改,当数据内容修改时,这个时间就会改变,用命令ls -l默认显示的就是这个时间:

  2)status time (ctime,状态时间):当一个文件的状态改变时,这个时间就会改变,例如更改了文件的权限与属性等,它就会改变。

  3)access time (atime,访问时间):当读取文件内容时,就会更改这个时间,例如使用cat 去读取/etc/man.config,那么该文件的atime就会改变。

  例如:

  # ls -l --full-time /etc/man.config mtime

  -rw-r--r-- 1 root root 4522 2007-11-17 18:47:54.000000000 +0800 /etc/man.config

  # ls -l --time=atime --full-time /etc/man.config

  -rw-r--r-- 1 root root 4522 2010-03-15 14:20:20.000000000 +0800 /etc/man.config

  # ls -l --time=ctime --full-time /etc/man.config

  -rw-r--r-- 1 root root 4522 2008-07-11 16:21:55.000000000 +0800 /etc/man.config

  -----------------------------------------------------------------------------------

  #cat /etc/man.config执行之后再查看atime,该时间已经更改

  # ls -l --time=atime --full-time /etc/man.config

  -rw-r--r-- 1 root root 4522 2010-03-15 14:24:30.000000000 +0800 /etc/man.config

  更改文件权限:# chmod o-r /etc/man.config

  查看ctime,已经更改。

  # ls -l --time=ctime --full-time /etc/man.config

  -rw-r----- 1 root root 4522 2010-03-15 14:28:34.000000000 +0800 /etc/man.config

  如果对文件内容进行编辑,那么mtime就会改变了。

  如果要一起查看文件的三个时间情况,可以用命令stat进行查看

  # stat /etc/man.config

  File: `/etc/man.config'

  Size: 4522 Blocks: 24 IO Block: 4096 regular file

  Device: 807h/2055d Inode: 1049307 Links: 1

  Access: (0640/-rw-r-----) Uid: ( 0/ root) Gid: ( 0/ root)

  Access: 2010-03-15 14:24:30.000000000 +0800

  Modify: 2007-11-17 18:47:54.000000000 +0800

  Change: 2010-03-15 14:28:34.000000000 +0800

  时间与上面的时间完全吻合。

  文件的时间很重要,因为如果误判文件时间,可能会造成某些程序无法正常运行,万一我们发现一个文件的时间是未来的时间(很多时候会有这个问题,我们在安装的时候提到的GMT时间就是那个意思),那么怎样才能让次时间变成现在的时间呢?我们只需要一个touch命令即可。

  touch的用法为:

  touch [-actmd] 文件

  参数:

  -a:仅修改access time

  -c:仅修改时间而不建立文件

  -t:后面可以接时间,格式为:[YYMMDDhhmm]

  -m:仅修改mtime

  -d:后面可以接日期,也可以使用--date="日期或时间"

  例如:将man.config的日期调整为两天前,则:

  #touch -d "2 days ago" /etc/man.config

  结果atime和mtime将会改变而ctime不会改变。

  通过touch命令,可以轻松的修改文件文件的日期与时间,并且也可以建立一个空文件,不过要注意的是,即使复制一个文件并复制所有属性页没有办法复制ctime属性。

  touch命令常用的情况是

  1)建立一个空文件

  2)将某个文件日期修改为当前日期(mtime和atime)

分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站