What does the "@" sign mean in ls -l output?
I have this output on 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
What does the "@" mean next to the permissions?
Solution 1:
It means those files have Extended Attributes from the file system that aren't the normal Unix permissions. Try doing xattr plstart and see what sort of things are set.
Solution 2:
Kashani has it right on with use of xattr
to display the extra fiddly bits. More specifically, on OSX, this is likely what is called the Resource Fork. The underlying filesystem that OSX uses, HFS+, has extra data segments that can store all manner of information. Incidentally, you can also see the same thing on SMB, NTFS, etc mounts in the form of ._FILENAME files.
For a full write up on Resource Forks see either the wikipedia article or the Apple Developer site.