ls -l输出中的“ @”符号是什么意思?


11

我在MacOSX上有以下输出:

$ ls -l
total 40
-rwxr-xr-x@ 1 levente  staff   52 30 Sep 15:38 pl
-rwxr-xr-x  1 levente  staff  675 14 Feb 17:07 plplay
-rwxr-xr-x@ 1 levente  staff  662 26 Jan 14:13 plstart
-rwxr-xr-x@ 1 levente  staff  296  1 Dec 11:50 plstop
-rwxr-xr-x@ 1 levente  staff  268 29 Dec 18:44 plweb

权限旁边的“ @”是什么意思?

Answers:


15

这意味着这些文件具有文件系统的扩展属性,而这些属性不是正常的Unix权限。尝试执行xattr plstart,看看设置了什么样的东西。


谢谢,好像TextMate上有一些属性:com.macromates.caret。保存在MacVim中将其清除。
Leventix 2011年

1
ls -l@还将列出扩展属性。使用xattr -l看XATTR值以及刚刚的属性名称。
戈登·戴维森

5

Kashani可以正确使用xattr来显示多余的位。更具体地说,在OSX上,这可能就是所谓的资源叉。OSX使用的基础文件系统HFS +具有额外的数据段,可以存储各种信息。顺便说一句,您也可以在SMB,NTFS等安装文件上以._FILENAME文件的形式看到相同的内容。

有关资源叉的完整文章,请参见Wikipedia文章Apple Developer网站。


这是错误的,扩展属性独立于(现在很少使用的)资源叉,而诸如xattr之类的处理一个工具的工具不一定了解其他工具。
blahdiblah
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.