【发布时间】:2017-11-17 14:22:10
【问题描述】:
我想使用 xattr 将一些元数据直接存储在我的文件上。这些本质上是我在搜索文件时用于文件分类的标签。我的目标是通过将更多信息与每个标签相关联来扩展通常的 Mac OS X 标签,例如添加该标签的日期以及可能的其他信息。
我正在考虑使用 xattr -w 向文件添加 xattr。我的第一个猜测是在这个 xattr 值中存储类似 JSON 的东西,但我想知道
1) 我可以在 xattr 中存储的大小限制是多少? (xattr 的人是 vauge,指的是一个叫 _PC_XATTR_SIZE_BITS 的东西,我在任何地方都找不到)
2) 将 JSON 格式的字符串存储为 xattr 有什么问题吗?
【问题讨论】:
-
我在 homebrew 中使用
tag包,我喜欢它。您可以非常简单地在文件上添加、删除和更新标签,并在 Finder 中查看它们。 -
嗨,我知道这个包,但它适用于标准 OS X 标签,即您在 Finder 中看到并放入的标签。在这里,我正在尝试制作一组新的自定义标签。所以我认为我必须使用
xattr。无论如何,问题仍然存在,xattr 可以保存多大的数据? -
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/unistd.h中似乎定义为 26,但我不认为这意味着您可以存储 26 位,甚至它的大小可能不超过 26 位。我认为这是因为所有周围的#defines都按顺序编号在 26 左右。