在Linux中,没有文件创建时间的概念。只有文件的访问时间、修改时间、状态改变时间。也就是说不能知道文件的创建时间。但如果文件创建后就没有修改过,修改时间=创建时间;如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间;如果文件创建后,没有被读取过,那么访问时间=创建时间,这个基本不太可能。
与文件相关的几个时间:
1、访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件使用more命令。ls、stat命令都不会修改文件的访问时间。
2、修改时间,对文件内容修改一次,这个时间就会更新。比如:vi后保存文件。ls -l列出的时间就是这个时间。
3、状态改变时间。通过chmod命令更改一次文件属性,这个时间就会更新。查看文件的详细的状态、准确的修改时间等,可以通过stat命令 文件名。
比如: [jing@zhjh c]$ stat temp.c
引用:
File: 'temp.c'
Size: 66 Blocks: 8 IO Block: 4096 \u4e00\u822c\u6587\u4ef6
Device: 807h/2055d Inode: 1191481 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 500/ jing) Gid: ( 500/ jing)
Access: 2008-03-12 20:19:45.000000000 0800
Modify: 2008-03-12 20:19:45.000000000 0800
Change: 2008-03-12 20:19:45.000000000 0800
说明:Access访问时间。Modify修改时间。Change状态改变时间。可以stat *查看这个目录所有文件的状态
而 在Linux下,一个文件也有三种时间,分别是:访问时间、修改时间、状态改动时间。
两者有此不同, 在Linux下没有创建时间的概念,也就是不能知道文件的建立时间,但如果文件建立后就没有修改过,修改时间=建立时间;如果文件建立后,状态就没有改动过,那么状态改动时间=建立时间;如果文件建立后,没有被读取过,那么访问时间=建立时间,因为不好判断文件是否被改过、读过、其状态是否变过,所以判断文件的建立时间基本上能为不可能。
# date && echo "this is file be used test time of file" >filetime.txt && ll --full-time filetime.txt
Tue Aug
-rw-r--r--
# stat filetime.txt
Device: 802h/2050d
Access: (0644/-rw-r--r--)
Access: 2009-08-04 15:13:44.000000000 +0800
Modify: 2009-08-04 15:13:44.000000000 +0800
Change: 2009-08-04 15:13:44.000000000 +0800
说明:Access访问时间。Modify修改时间。Change状态改动时间。可以stat *查看这个目录所有文件的状态。
atime=access time
mtime=modifiy time
2、修改时间,修改时间是文件内容最后一次被修改时间。比如:vi后保存文件。ls -l列出的时间就是这个时间。
3、状态改动时间。是该文件的i节点最后一次被修改的时间,通过chmod、chown命令修改一次文件属性,这个时间就会更新。