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

我在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 

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

这意味着这些文件具有来自文件系统的扩展属性,这不是普通的Unix权限。 尝试做xattr plstart,看看设置了什么样的东西。

Kashani正确使用xattr来显示多余的位。 更具体地说,在OSX上,这可能是所谓的资源分叉。 OSX使用的底层文件系统HFS +具有额外的数据段,可存储所有信息。 顺便说一句,你也可以用._FILENAME文件的forms在SMB,NTFS等上看到相同的东西。

有关资源分叉的完整信息,请参阅维基百科文章或Apple开发人员网站。