linux下文件时间戳
linux下文件时间戳
linux下的时间戳有三个,Access(文件访问时间)、Modify(文件内容修改时间)、Change(文件修改时间,包括权限修改,内容修改)。
如何查看这三个时间
- 使用ls命令
ls -lc filename #列出文件的 ctime (最后更改时间)
ls -lu filename #列出文件的 atime(最后存取时间)
ls -l filename #列出文件的 mtime (最后修改时间)
- 使用stat命令
root@ubuntu:makefile_test# stat main.c
File: ‘main.c’
Size: 122 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 2037475 Links: 1
Access: (0777/-rwxrwxrwx) Uid: (65534/ nobody) Gid: (65534/ nogroup)
Access: 2017-02-28 13:50:03.410188551 +0800
Modify: 2017-02-28 13:50:02.982540013 +0800
Change: 2017-02-28 13:50:02.978188564 +0800
Birth: -
测试
chmod对时间戳的修改
root@ubuntu:makefile_test# stat main.c
File: ‘main.c’
Size: 122 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 2037475 Links: 1
Access: (0777/-rwxrwxrwx) Uid: (65534/ nobody) Gid: (65534/ nogroup)
Access: 2017-02-28 13:50:03.410188551 +0800
Modify: 2017-02-28 13:50:02.982540013 +0800
Change: 2017-02-28 13:50:02.978188564 +0800
Birth: -
root@ubuntu:makefile_test# chmod 666 main.c
root@ubuntu:makefile_test# stat main.c
File: ‘main.c’
Size: 122 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 2037475 Links: 1
Access: (0666/-rw-rw-rw-) Uid: (65534/ nobody) Gid: (65534/ nogroup)
Access: 2017-02-28 13:50:03.410188551 +0800
Modify: 2017-02-28 13:50:02.982540013 +0800
Change: 2017-02-28 14:04:40.062161972 +0800
Birth: -
可见,chmod修改了文件Change time。touch对时间戳的修改
root@ubuntu:makefile_test# touch main.c
root@ubuntu:makefile_test# stat main.c
File: ‘main.c’
Size: 122 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 2037475 Links: 1
Access: (0666/-rw-rw-rw-) Uid: (65534/ nobody) Gid: (65534/ nogroup)
Access: 2017-02-28 14:06:49.622158044 +0800
Modify: 2017-02-28 14:06:49.622158044 +0800
Change: 2017-02-28 14:06:49.622158044 +0800
Birth: -
可见,touch把三个时间都修改了最后看看恼人的Access time在什么时候修改
root@ubuntu:makefile_test# vim main.c
root@ubuntu:makefile_test# stat main.c
File: ‘main.c’
Size: 124 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 2037475 Links: 1
Access: (0666/-rw-rw-rw-) Uid: (65534/ nobody) Gid: (65534/ nogroup)
Access: 2017-02-28 14:13:36.730145701 +0800
Modify: 2017-02-28 14:13:43.914145483 +0800
Change: 2017-02-28 14:13:43.914145483 +0800
Birth: -
root@ubuntu:makefile_test# vi main.c
root@ubuntu:makefile_test# stat main.c
File: ‘main.c’
Size: 124 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 2037475 Links: 1
Access: (0666/-rw-rw-rw-) Uid: (65534/ nobody) Gid: (65534/ nogroup)
Access: 2017-02-28 14:14:14.782144547 +0800
Modify: 2017-02-28 14:13:43.914145483 +0800
Change: 2017-02-28 14:13:43.914145483 +0800
Birth: -
root@ubuntu:makefile_test# vi main.c
root@ubuntu:makefile_test# stat main.c
File: ‘main.c’
Size: 124 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 2037475 Links: 1
Access: (0666/-rw-rw-rw-) Uid: (65534/ nobody) Gid: (65534/ nogroup)
Access: 2017-02-28 14:14:14.782144547 +0800
Modify: 2017-02-28 14:13:43.914145483 +0800
Change: 2017-02-28 14:13:43.914145483 +0800
Birth: -
第一次vi,修改了文件内容,结果是3个时间都改了。第二次,只是单单打开再关闭,Access时间改了,第三次,再次单单打开再关闭,Access时间没改。
为什么打开了文件Access时间没改呢?
首先我怀疑了缓存的影响,于是我通过命令sync; echo 3 > /proc/sys/vm/drop_caches
清空缓存,但是结果是一样的,打开文件,Access时间依然没改。
然后google了一下(注意用英文描述搜),发现man mount里面对relatime、noraletime、strictatime可以看到缘故。下面简要描述下,什么情况会更新Access time。
linux2.6.30开始,mount默认是relatime的,Access time会在文件内容被修改后更新,以及被修改后的下一次访问时更新,距上一次访问时间超过一天会更新。这里和上面的测试也是相符的。
参考:
http://stackoverflow.com/questions/19551139/access-time-does-not-change-after-a-file-is-opened
linux下文件时间戳相关推荐
- linux下文件时间戳修改
1.touch命令 linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件. 命令格式: touch [选项]- 文件- 命令参数: -a ...
- Linux下文件的三种时间戳
Linux下文件的三种时间标记 三种时间对应关系表 column column column 访问时间 Access atime 修改时间 Modify mtime 状态改动时间 Change cti ...
- linux下文件字符集转化实战篇
linux下文件字符集转化实战篇 ------------------------------------------ 为什么转换编码,起因:分析应用程序日志,文件编码格式gb2312(含中文字符), ...
- linux下文件的压缩和解压缩
linux下文件的压缩和解压缩 目录 1.压缩 2.解压缩 3.归档工具 一. 压缩 compress: -d:解压缩,相当于uncompres-c:结果输出至标准输出,不删除原文件-v:显示详情 - ...
- Linux下文件的三个时间:ctime、mtime、atime的区别
Linux下文件的三个时间参数 (1)modification time(mtime):内容修改时间 这里的修改时间指的是文件的内容发生变化,而更新的时间. Eg:vi后保存文件. (2)status ...
- Unix/Linux下文件基本操作[zt]
Unix/Linux下文件基本操作 来源: ChinaUnix博客 日期: 2008.06.16 17:16 (共有0条评论) 我要评论 比较重要的设备文件有三个,它们是/dev/console./d ...
- Linux下文件描述符
Linux下文件描述符 标签: linuxfilelinux内核apacheunixsocket 2012-08-17 15:45 5798人阅读 评论(0) 收藏 举报 分类: 调优和安全(5) 版 ...
- linux下文件描述符的介绍
linux下文件描述符的介绍 (2012-10-02 16:01:56) 转载▼ 标签: 描述符 调用 返回 进程 限制 it 分类:linux 当某个程序打开文件时,操作系统返回相应的文件描述符,程 ...
- linux读文件整个过程,linux下文件资料传输实现全过程
linux下文件资料传输实现全过程 (8页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 17.90 积分 实用标准文案/***************** ...
最新文章
- php中需要注意的问题
- MFC 对话框小总结
- Python 远程部署利器 Fabric2 模块
- cmd、start命令中有空格的解决方法
- 1.空间中直线交点坐标问题,2.已知球面三点求球心问题以及Matlab实现
- 20191201每日一句
- windows bat批量创建文件夹与文件
- 服务器共享文件夹加密设置方法,共享文件夹加密专家使用教程
- AX9000利用docker实现迅雷远程下载2
- 一支口红用了5年_一支口红多久该扔掉?保质期过了还能用吗?
- 大气幼儿园html模板,幼儿园儿童HTML主题
- 推荐一款视频音频剪辑软件,可免费试用
- Etcd Unable to attach or mount volumes
- C语言 自定义字符串拼接函数
- mysql数据库国际化
- Pytorch 混合精度训练(Automatic Mixed Precision)原理解析
- python入门_老男孩_字典的增删查改
- 简约商务报告PPT模板
- 深度学习笔记:卷积神经网络的可视化--卷积核本征模式
- vue 自定义图片文件上传结合elementui
热门文章
- java zookeeper 主从热备_zookeeper 核心原理
- python 人脸检测_借助摄像头在Python中实现人脸检测
- 返回的图片 buffer 怎么接收_图片裁剪原理
- HTML li标签排列有空白间隙
- 【转载】如何使用docker部署c/c++程序
- Xcode打包上传时,最后一步出现An error occurred uploading to the iTunes Store.的解决方法...
- 实验四_078_刘玲志
- CComQIPtr spCmdButton PutTag
- Mac安装oh-my-zsh更改终端背景
- Hbuilder启动夜神游模拟器失败,解决方案