文件时间记录的读取
来源:互联网 发布:情话知乎 编辑:程序博客网 时间:2024/04/30 11:12
问题:对Mac OS X 进行文件时间信息的获取中需要获取文件的历史打开时间
首先,对于Linux下:
一个文件有三种时间,分别是:访问时间、修改时间、状态时间,没有创建时间。
但是在Mac OS X下除了Linux上的三种时间,可以发现还有创建时间。
各个时间的含义大概如下:
创建时间(created) Mac OS X下文件写到磁盘上时记录的时间,一般是首次添加时间。
修改时间 (modified)mtime 只有修改文件内容,这个时间才变,修改文件名不算。
变更时间 (change)ctime 当文件的属性发生变化(比如改变权限或者所有关系)时,ctime的值就会被改变。
访问时间(last opened,Access): atime(要文件被访问(比如运行或读取),它就会被修改)
单独查看三个时间的操作除了可以通过stat来查看文件的mtime,ctime,atime等属性,也可以通过ls命令来查看,具体如下:ls -lc filename 列出文件的 ctime (最后更改时间)ls -lu filename 列出文件的 atime(最后存取时间)ls -l filename 列出文件的 mtime (最后修改时间)
复制文件或者移动文件的时候,文件的哪些时间会变化呢?
再对Mac OS X来说,其实上面多了的内容是为spotlight 服务的,可以通过Common Metadata Attribute Keys 的属性来获取。
可以参考:
1.Common Metadata Attribute Keys
https://developer.apple.com/documentation/coreservices/mditem/common_metadata_attribute_keys
kMDItemLastUsedDate
kMDItemFSContentChangeDate
2.Spotlight syntax, mdfind examples, and metadata attributes
http://osxnotes.net/spotlight.html
对这些item做了详细介绍。
另外对时间读取的命令可以参考:
1,mdls
uyis-iMac:Downloads julius$ mdls /Users/julius/Downloads/Quicken_Home_Business_2017.zip _kMDItemOwnerUserID = 501kMDItemContentCreationDate = 2017-08-01 02:10:02 +0000kMDItemContentModificationDate = 2017-08-01 02:35:21 +0000kMDItemContentType = "public.zip-archive"kMDItemContentTypeTree = ( "public.zip-archive", "com.pkware.zip-archive", "public.data", "public.item", "public.archive")kMDItemDateAdded = 2017-08-01 02:10:02 +0000kMDItemDisplayName = "Quicken_Home_Business_2017.zip"kMDItemFSContentChangeDate = 2017-08-01 02:35:21 +0000kMDItemFSCreationDate = 2017-08-01 02:10:02 +0000kMDItemFSCreatorCode = ""kMDItemFSFinderFlags = 0kMDItemFSHasCustomIcon = (null)kMDItemFSInvisible = 0kMDItemFSIsExtensionHidden = 0kMDItemFSIsStationery = (null)kMDItemFSLabel = 0kMDItemFSName = "Quicken_Home_Business_2017.zip"kMDItemFSNodeCount = (null)kMDItemFSOwnerGroupID = 20kMDItemFSOwnerUserID = 501kMDItemFSSize = 229824432kMDItemFSTypeCode = ""kMDItemKind = "ZIP archive"kMDItemLastUsedDate = 2017-08-01 03:20:46 +0000kMDItemLogicalSize = 229824432kMDItemPhysicalSize = 229826560kMDItemUseCount = 1kMDItemUsedDates = ( "2017-07-31 16:00:00 +0000")
2,stat
juyis-iMac:Downloads julius$ stat /Users/julius/Downloads/Quicken_Home_Business_2017.zip 16777221 26775129 -rw-r--r-- 1 julius staff 0 229824432
"Aug 4 13:50:22 2017"
"Aug 1 10:35:21 2017"
"Aug 1 10:35:21 2017"
"Aug 1 10:10:02 2017"
4096 448880 0
3,mdfind,mdutil ,GetFileInfo
等其它用处也可以参考
- 文件时间记录的读取
- 记录下关于读取文件的东西
- 记录一个文件读取的Bug
- 文件时间设置与读取的代码
- java读取excel文件的数字,读取时间
- JAVA读取文件的创建时间和修改时间
- JAVA读取文件的创建时间和修改时间
- JAVA读取文件的创建时间和修改时间
- JAVA读取文件的创建时间和修改时间
- java 读取文件的创建 时间和修改时间
- 时间转化 文件读取
- 读取文件的本地时间(不打开文件)
- 读取文件的最后修改时间的方法
- WP7编程 读取外部XML文件中存放的记录
- 读取unicode日志文件并清除记录的垃圾文件
- delphi 用record结构读取记录文件的问题
- 记录如何读取jar包里的文件
- 读取unicode日志文件并清除记录的垃圾文件
- pdf转dwg为什么乱码
- vue 插件和axios封装
- Django 用到的命令总结
- 看过三生三世的桃花_你吃过凌晨三点的桃子吗?
- 我是怎样教媳妇面向对象编程的
- 文件时间记录的读取
- 装饰者模式
- 二十三种设计模式之适配器模式
- [caioj]1214:【计算几何】凸包 graham scan求凸包
- LeetCode 101 Symmetric Tree (DFS)
- 数组区间匹配算法解析
- A simple problem HDU-2522 【数学技巧】
- LR监测windows资源一般监测哪几项
- 多个线程访问共享对象和数据的方式