linux文件时间有三类:
atime (Access time)读取文件或者执行文件时更改的时间
mtime(Modified time)写入文件时随文件内容的更改而更改的时间
ctime (Create time)写入文件、更改所有者、权限或链接设置时随 Inode 的内容更改而更改的。随mtime改变而改变。
那么每回ls -l显示的时间是什么时间哪?
我们使用stat来看看这些时间们:
e.g
[root@monitor test]# stat a
File: `a'
Size: 136 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 3074500 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2011-03-23 13:36:07.000000000 +0800
Modify: 2011-03-23 13:32:55.000000000 +0800
Change: 2011-03-23 13:32:55.000000000 +0800
[root@monitor test]# ll a
-rw-r--r-- 1 root root 136 Mar 23 13:32 a
我们再做一下以下的操作
[root@monitor test]# chown -R mj.mj a
[root@monitor test]# stat a
File: `a'
Size: 136 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 3074500 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 502/ mj) Gid: ( 503/ mj)
Access: 2011-03-23 13:36:07.000000000 +0800
Modify: 2011-03-23 13:32:55.000000000 +0800
Change: 2011-03-24 10:40:18.000000000 +0800
[root@monitor test]# ll a
-rw-r--r-- 1 mj mj 136 Mar 23 13:32 a
可以清晰的看出ll出来的时间是什么时间。
然后再进行一个操作
[root@monitor test]# touch a
[root@monitor test]# stat a
File: `a'
Size: 136 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 3074500 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 502/ mj) Gid: ( 503/ mj)
Access: 2011-03-24 10:51:35.000000000 +0800
Modify: 2011-03-24 10:51:35.000000000 +0800
Change: 2011-03-24 10:51:35.000000000 +0800
ls -lc filename 列出文件的 ctime
ls -lu filename 列出文件的 atime
ls -l filename 列出文件的 mtime
那这个三个time有什么用?答曰:该用的时候,就会有大用处!!!