OS X(Unix)shell 命令:可以获取文件的最后打开日期吗?

OS X(Unix)shell 命令:可以获取文件的最后打开日期吗?

当您使用以下命令时

find /Users/someUser/someFolder/* -type f -mtime +90

您将获得所有修改日期大于 90 天的文件。但是,如果您在 OS X 上的 Finder 中打开文件属性,例如,还会有一个“上次打开”日期。是否有可能像上面的例子一样,获得所有上次打开日期大于某个阈值的文件?遗憾的是没有“-otime” :)

另外,在 Automator 上没有上次打开时间的过滤器,只有修改时间和创建时间的过滤器......

多谢

答案1

该参数atime定义最后一个使用权时间。看起来你想要这个?但这显然与你在 Finder 中使用的日期不同。

请参阅ls -lu日期atime用途。

Mac OS X 还使用“HFS 元数据”(或“Finder 信息”)来存储日期。例如:Unix 不存储文件创建日期。Unixcdate中的 实际上是更改日期(例如,包括访问权限的更改,因此cdate在与 的修改日期略有不同的场合会获得新值mdate)。使用此元数据,Mac OS X 仍可以保留详细信息。

有多种选项可以显示(部分)日期,例如:

统计文件.txt
获取文件信息文件.txt
mdls 文件.txt

使用mdfind一个可以搜索特定的元数据。但它使用聚光灯指数,所以我想它可能无法找到所有内容。

想要查找从 Time Machine 备份中排除的文件:

sudo mdfind "com_apple_backup_excludeItem = 'com.apple.backupd'"

要根据创建日期进行搜索,请使用kMDItemFSCreationDate。要查找上次打开的日期:kMDItemLastUsedDate。但请注意,通过某些终端命令创建的文件可能没有该元数据设置:

回显“Hello world”>〜/ Desktop / hello-world.txt
触摸〜/桌面/will-not-be-found.txt
mdfind -onlyin ~/Desktop 'kMDItemFSCreationDate >= $time.this_week'

在文本编辑中打开“will-not-be-found.txt”后,您将看到该文件。

另请参阅Spotlight 查询语法

相关内容