so I have some files in a directory and when I type ls -l I get

-rw-r--r--   1 home  staff   275 Apr  9 16:01 index.js
-rwxr-xr-x@  1 home  staff  2565 Apr  8 10:38 person.js
-rwxr-xr-x@  1 home  staff  4219 Apr  9 15:55 people.js
drwxr-xr-x  11 home  staff   374 Apr  9 15:43 node_modules
-rw-r--r--   1 home  staff   367 Apr  9 15:43 package.json

and I was wondering what the @ means after the person.js and people.js permissions

  • Ever thought of doing man ls? – Stéphane Chazelas Apr 9 '13 at 20:17
  • Which OS? What is the output of type ls? – michas Apr 9 '13 at 20:18
  • type ls outputs ls is hashed (/bin/ls) – Loourr Apr 9 '13 at 20:26

That's system specific, man ls will tell you. On Apple OS/X for instance, that's to say the file has extended attributes.

  • It may not be in the manpage. With my GNU ls, a + at the end indicates POSIX extended attributes, but I can't find that in the actual documentation. – jordanm Apr 9 '13 at 20:20
  • @jordanm, man ls for GNU ls tells you to continue reading with the info page where it's explained (and that's not for extended attributes, and AFAIK, POSIX doesn't specify extended attributes (though there once was a now-defunct draft that specified extended ACLs which you may be referring to)) – Stéphane Chazelas Apr 9 '13 at 20:22

Not the answer you're looking for? Browse other questions tagged or ask your own question.