如何在 mac os x 中赋予文件扩展属性? Mac os x 没有“setattr”命令。
答案1
我的埃尔卡皮坦没有setattr
或setxattr
(后者是C 运行时函数的名称:您可以使用它来创建自己的实用程序)。
OSX 提供xattr
,其中(注意诸如Mac OS X 扩展属性和 Xattr)似乎是最近的事。评论中手动设置任意文件的扩展属性from 2011 给出了有关 OSX 10.5 的提示
你可以看到一些讨论如何在 Mac OS X 中删除文件的“扩展属性”?,以及副本(无日期)SS64。在寻找资源的过程中,我发现了一个Sourceforge项目这可能是相关的。最好的来源当然是手册页你的机器。
手册页列出了几种格式,指出这种格式是放文件的属性:
xattr -w [-rsx] attr_name attr_value file ...
其中-r
、-s
和-x
选项分别处理目录递归、符号链接和输入使用十六进制的属性值。
答案2
像他们说的那样,“有一个应用程序可以做到这一点。”您可以下载xattred
– “全功能的扩展属性编辑器”以及其他相关工具。xattred
隐藏在简约的 GUI 中(而且 AFAIK 是闭源的),但它是了解 MacOS 中扩展属性可以做什么的更快方法。 GitHub 上还有适用于 MacOS 的开源 xattr 编辑器;例如xattr 编辑器。
MacOS 中捆绑的命令行实用程序xattr
最适合脚本编写和重复性任务。
答案3
xattr
它在 OS X 上被调用。您可以使用setxattr
它来设置属性。
答案4
在 MacOS Monterey 中,setxattr 给出zsh: command not found: setxattr
相反,它是xattr -w <attribute name> <attribute value> file/folder
。
完整的联机帮助页在这里:
$: xattr
Not enough arguments for option -�. Expected at least 1 but got 0
usage: xattr [-l] [-r] [-s] [-v] [-x] file [file ...]
xattr -p [-l] [-r] [-s] [-v] [-x] attr_name file [file ...]
xattr -w [-r] [-s] [-x] attr_name attr_value file [file ...]
xattr -d [-r] [-s] attr_name file [file ...]
xattr -c [-r] [-s] file [file ...]
The first form lists the names of all xattrs on the given file(s).
The second form (-p) prints the value of the xattr attr_name.
The third form (-w) sets the value of the xattr attr_name to the string attr_value.
The fourth form (-d) deletes the xattr attr_name.
The fifth form (-c) deletes (clears) all xattrs.
options:
-h: print this help
-l: print long format (attr_name: attr_value and hex output has offsets and
ascii representation)
-r: act recursively
-s: act on the symbolic link itself rather than what the link points to
-v: also print filename (automatic with -r and with multiple files)
-x: attr_value is represented as a hex string for input and output```