免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 851 | 回复: 0
打印 上一主题 下一主题

atime, ctime and mtime in Unix filesystems [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-23 11:21 |只看该作者 |倒序浏览

                As you know, Unix filesystems store a number of timestamps for each file. This means that you can use these timestamps to find out when any file or directory was last accessed (read from or written to),  changed (file access permissions were changed) or modified (written to).
File and directory timestamps in Unix
Three times tracked for each file in Unix are these:

  • access time - atime
  • change time - ctime
  • modify time - mtime

atime - File Access Time
Access time shows the last time the data from a file was accessed - read by one of the Unix processes directly or through commands and scripts.
ctime - File Change Time
ctime also changes when you change file's ownership or access permissions. It will also naturally highlight the last time file had its contents updated.
mtime - File Modify Time
Last modification time shows time of the  last change to file's contents. It does not change with owner or permission changes, and is therefore used for tracking the actual changes to data of the file itself.
Find atime, ctime and mtime with ls
The simplest way to confirm the times associated with a file is to use ls command.
Timestamps are shown when using the long-format output of ls command, ls -l:ubuntu# ls -l /tmp/file1
-rw-r–r– 1 greys root 9 2008-04-05 07:10 /tmp/file1
This is the default output of ls -l, which shows you the time of the last file modification - mtime. In our example, file /tmp/file1 was last changed around 7:10am.
If we want to see the last access time for this file, atime - you need to use -lu options for ls. The output will probably show some later time:ubuntu# ls -lu /tmp/file1
-rw-r–r– 1 greys root 9 2008-04-05 07:27 /tmp/file1
In the example, it's 7:27am.
Lastly, ls -lc will show you the last time our file was changed, ctime:ubuntu# ls -lc /tmp/file1
-rw-r–r– 1 greys root 9 2008-04-05 07:31 /tmp/file1
To show you how this works, I'll change the ownership of the file and then run the same 3 ls commands to show you that only the ctime had been updated. I run the date command just before doing anything else so that you can compare the times:ubuntu# date
Sat Apr  5 07:35:16 IST 2008
ubuntu# chown root /tmp/file1
ubuntu# ls -lc /tmp/file1
-rw-r--r-- 1 root root 9 2008-04-05 07:35 /tmp/file1
ubuntu# ls -lu /tmp/file1
-rw-r--r-- 1 root root 9 2008-04-05 07:27 /tmp/file1
ubuntu# ls -l /tmp/file1
-rw-r--r-- 1 root root 9 2008-04-05 07:10 /tmp/file1
Show atime, ctime and mtime with stat command
In Linux distributions, you will probably find a stat command, which can be used to show all of the times in a more convenient way, and among plenty of other useful information about your file:ubuntu# stat /tmp/file1
File: `/tmp/file1′
Size: 9             Blocks: 8          IO Block: 4096   regular file
Device: 811h/2065d    Inode: 179420      Links: 1
Access: (0644/-rw-r–r–)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2008-04-05 07:27:51.000000000 +0100
Modify: 2008-04-05 07:10:14.000000000 +0100
Change: 2008-04-05 07:35:22.000000000 +0100
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93926/showart_1874165.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP