快速业务通道

linux文件的三个主要的修改时间

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-23

  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

  -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)

  本文出自 “宗军” 博客,请务必保留此出处http://tech110.blog.51cto.com/438717/283977

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号