我正在使用Mac OSX。键入ls -l时,我看到类似

drwxr-xr-x@ 12 xonic  staff    408 22 Jun 19:00 .
drwxr-xr-x   9 xonic  staff    306 22 Jun 19:42 ..
-rwxrwxrwx@  1 xonic  staff   6148 25 Mai 23:04 .DS_Store
-rw-r--r--@  1 xonic  staff  17284 22 Jun 00:20 filmStrip.cpp
-rw-r--r--@  1 xonic  staff   3843 21 Jun 21:20 filmStrip.h


@的意思是什么?

#1 楼

它指示文件具有扩展属性。您可以使用xattr命令行实用工具来查看和修改它们:

xattr -l file # lists the names of all xattrs.
xattr -w attr_name attr_value file # sets xattr attr_name to attr_value.
xattr -d attr_name file # deletes xattr attr_name.
xattr -c file # deletes all xattrs.
xattr -h # prints help


评论


在10.8(Mountain Lion)中,--list无效。是-l。

– Mark E. Haase
2012年10月24日15:20

如果要查找所有类型的文件并删除OSX中的隔离属性:find。 -iname'* .ext'-print0 | xargs -0 xattr -d com.apple.quarantine。这就是为什么我发现这个问题。

– jcollum
15年6月26日在21:13

另外,对于SEO:@是“ at符号”

– jcollum
15年6月26日在21:14

没为我工作。必须使用xattr -d而不是--delete。

–地线学
15年11月28日在10:35

@jcollum更好,找到。型f -xattr -print | xargs -0 xattr -d com.apple.quarantine(不确定是否需要-type f)。尽管由于某种原因,这两个命令目前都不适用于我...这个命令对我有效:find。 -类型f -xattr -exec xattr -d com.apple.quarantine {} \;

–迈克尔
16 Mar 3 '16 at 18:32



#2 楼

至少在Snow Leopard中,您可以执行以下操作以显示更多信息:

ls -l@


评论


从xattr手册开始:属性名称也可以使用``ls -l @''显示。

–ordonezalex
17年6月14日19:52



#3 楼

它具有扩展的属性-有关ls的更多信息,请参见此处的OSX手册页。

#4 楼

您可能希望在Apple邮件列表中查看此帖子。它解释说@表示Finder具有ACL以外的扩展属性。

#5 楼

我认为这意味着文件/目录具有扩展属性。

#6 楼

在OSX上,这表明存在与文件关联的元数据。

评论


这也不意味着在Linux上的符号链接-符号链接在权限的第一列中用l表示,或者断开的链接在路径末尾(而不是在权限字符串的末尾)用@表示。

– B.R.
2010年8月10日19:51

知道了,已编辑。

–kbyrd
2010年8月10日19:53

#7 楼

除了
Michael Mrozek的答案:

在OSX 10.10(Yosemite)上,您还必须使用以下attrx参数:

xattr -l file
xattr -w attr_name attr_value file
xattr -d attr_name file