Off the top of my head, I think is has something to do with the file having extended attributes available. Here's a link to a similar discussion:
http://discussions.apple.com/thread.jspa?messageID=5791060
So if you see a file with an "@" when you do an ls, try doing this:
xattr -l <filename>
That should show you the extended attributes.
You can check xattr's help for more details:
xattr --help
usage: xattr [-l] file [file ...]
xattr -p [-l] attr_name file [file ...]
xattr -w attr_name attr_value file [file ...]
xattr -d attr_name 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 attr_value.
The fourth form (-d) deletes the xattr attr_name.
options:
-h: print this help
-l: print long format (attr_name: attr_value)
It seems like if you look at the extra attributes with "-l" and then remove them with "-d" it'll probably do what you want. Practice this in a temporary directory somewhere first though and make sure it works ;)
xattr -r -d com.apple.TextEncoding *
will probably remove it if its a text file, like a C++ header or source file, created locally. If you downloaded it, thenxattr -r -d com.apple.quarantine *
will likely remove it, so you can do things like edit a Makefile. For some reason, Apple does not allow you to edit a Makefile, but does allow you to run a Makefile, withcom.apple.quarantine
. Go figure...