关于文件 atime mtime gtime 专题
2016-07-28 09:54
603 查看
Linux文件组成部分:元数据(metadata)和数据(date)
元数据的查看方式:使用stat命令;数据的查看方式:文本格式使用 cat nano查看及修改即可;stat命令:
功能说明:显示文件或文件系统的状态语法:
stat [OPTION] ... FILE...
参数:
举例:
[root@wCentos7 testdir]# stat stat.txt ====>显示stat.的文件属性 File: ‘stat.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: 805h/2053dInode: 3140 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Context: unconfined_u:object_r:etc_runtime_t:s0Access: 2016-07-27 18:59:23.691076633 +0800#文件访问时间状态(atime)Modify: 2016-07-27 18:59:23.691076633 +0800#文件修改时间状态(mtime)Change: 2016-07-27 18:59:23.691076633 +0800#文件属性改变状态(ctime)Birth: - 注意:由于文件是刚刚建立的,三个时间是一样的
验证一下操作会对文件的属性带来三个时间上的变化
1. cat文件内容,看看文件属性变化如何?2. nano看看文件变化如何?3. 给文件追加部分内容,看看文件属性变化如何?4. nano添加文件内容看看文件属性变化如何?5. 修改文件权限,看看文件属性变化如何?6. touch 下文件看看文件属性变化如何?测试一: cat文件内容,看看文件属性变化如何?
cat文件内容,atime时间变为当前系统时间(实际应用中,文件的访问时间没有什么太大的意义,可以设置文件的访问时间不需要变化注意:centos 6后以后atime 的时间不会由于 cat而改变时间: atime 时间变化一天以前 时 当atime的时间比mtime 要旧 时[root@wCentos7 testdir]# cat stat.txt [root@wCentos7 testdir]# stat stat.txt File: ‘stat.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: 805h/2053dInode: 3140 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Context: unconfined_u:object_r:etc_runtime_t:s0Access: 2016-07-27 19:10:48.000064317 +0800Modify: 2016-07-27 18:59:23.691076633 +0800Change: 2016-07-27 18:59:23.691076633 +0800 Birth: -测试二:nano看看文件变化如何?
nano没有修改文件内容,文件属性没有任何的变化,所有的属性都没有变化[root@wCentos7 testdir]# nano stat.txt [root@wCentos7 testdir]# stat stat.txt File: ‘stat.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: 805h/2053dInode: 3140 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Context: unconfined_u:object_r:etc_runtime_t:s0Access: 2016-07-27 19:10:48.000064317 +0800Modify: 2016-07-27 18:59:23.691076633 +0800Change: 2016-07-27 18:59:23.691076633 +0800 Birth: -测试三:给文件追加部分内容,看看文件属性变化如何?
追加部分内容进入stat.txt文件,修改时间与改变时间都变成当前系统时间 (追加内容 导致文件大小变化,也导致文件 mtime时间变化,文件属性本身有变化,所以文件改变时间也会更新)[root@wCentos7 testdir]# echo "wo shi hao ren " > stat.txt [root@wCentos7 testdir]# stat stat.txt File: ‘stat.txt’ Size: 16 Blocks: 8 IO Block: 4096 regular fileDevice: 805h/2053dInode: 3140 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Context: unconfined_u:object_r:etc_runtime_t:s0Access: 2016-07-27 19:10:48.000064317 +0800Modify: 2016-07-27 19:22:33.231051624 +0800Change: 2016-07-27 19:22:33.231051624 +0800 Birth: -
测试四:nano添加文件内容看看文件属性变化如何?
[root@wCentos7 testdir]# nano stat.txt ->修改文件内容[root@wCentos7 testdir]# stat stat.txt ->查看文件状态 File: ‘stat.txt’ Size: 52 Blocks: 8 IO Block: 4096 regular fileDevice: 805h/2053dInode: 3140 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Context: unconfined_u:object_r:etc_runtime_t:s0Access: 2016-07-27 19:27:08.464046670 +0800Modify: 2016-07-27 19:27:27.441046329 +0800Change: 2016-07-27 19:27:27.441046329 +0800 Birth: -(修改文件内容后,三个文件时间都在变化,文件修改时间和文件改变时间是一致的,并且和大于文件访问时间)[root@wCentos7 testdir]# cat stat.txt -> 查看文件内容woshi hao ren ni shi bu shi de a dksajf aklsjf ;l [root@wCentos7 testdir]# stat stat.txt ->再来查看文件状态 File: ‘stat.txt’ Size: 52 Blocks: 8 IO Block: 4096 regular fileDevice: 805h/2053dInode: 3140 Links: 1Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)Context: unconfined_u:object_r:etc_runtime_t:s0Access: 2016-07-27 19:28:08.989045581 +0800Modify: 2016-07-27 19:27:27.441046329 +0800Change: 2016-07-27 19:27:27.441046329 +0800 Birth: -(cat文件内容后,文件访问时间在变化,其它的文件时间没有变化)测试五:修改文件权限,看看文件属性变化如何?
[root@wCentos7 testdir]# chmod 777 stat.txt -->修改文件权限[root@wCentos7 testdir]# stat stat.txt -->查看其文件属性 File: ‘stat.txt’ Size: 52 Blocks: 8 IO Block: 4096 regular fileDevice: 805h/2053dInode: 3140 Links: 1Access: (0777/-rwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)Context: unconfined_u:object_r:etc_runtime_t:s0Access: 2016-07-27 19:28:08.989045581 +0800Modify: 2016-07-27 19:27:27.441046329 +0800Change: 2016-07-27 19:34:52.197038324 +0800 Birth: -(修改文件权限后,只改变了文件的属性,故只有mtime的时间改变了)测试六:touch 下文件看看文件属性变化如何?
[root@wCentos7 testdir]# touch stat.txt [root@wCentos7 testdir]# stat stat.txt File: ‘stat.txt’ Size: 52 Blocks: 8 IO Block: 4096 regular fileDevice: 805h/2053dInode: 3140 Links: 1Access: (0777/-rwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)Context: unconfined_u:object_r:etc_runtime_t:s0Access: 2016-07-27 19:39:29.247033338 +0800Modify: 2016-07-27 19:39:29.247033338 +0800Change: 2016-07-27 19:39:29.247033338 +0800 Birth: -(touch下文件后,文件的三个时间都改变了,由于touch命令的会修改文件mtime的时间,故ctime的时间也会改变)进过以上测试,我可以得出以下理论:
1.修改atime的时间,只要涉及到打开文件的操作就会修改atime的时间,不过实际中atime的时间修改太过频繁,所以在实际企业应用中可能会禁止修改atime的时间。2.修改文件内容,追加新的内容,追加空白内容也会修改文件的修改时间 mtime,也会导致文件ctime的时间改变。3.ctime,文件权限变化,文件大小变化,或其他文件状态变化都会导致文件ctime时间变化,不过atime的时间变化不会影响ctime的时间变化。相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- Linux 下无损图片压缩小工具介绍