What does @ in ` -rw-r-r-@ ` mean in the output of `ls -l`?

I studied the output of ls -l in the bash completion folder on Mac OS X

 $ ls -alrth /usr/local/etc/bash_completion.d/docker-machine* -rw-r--r--@ 1 abhimskywalker staff 1.4K Jun 13 19:04 /usr/local/etc/bash_completion.d/docker-machine-prompt.bash -rw-r--r--@ 1 abhimskywalker staff 1.5K Jun 13 19:36 /usr/local/etc/bash_completion.d/docker-machine-wrapper.bash -rw-r--r--@ 1 abhimskywalker staff 6.8K Jun 13 19:37 /usr/local/etc/bash_completion.d/docker-machine.bash 

I could not understand what this @ in -rw-r--r--@ means?

+6
source share
1 answer

This means that the file has extended attributes . You can use the xattr command-line utility to view and modify:

 xattr -l file # lists the names of all xattrs. xattr -w attr_name attr_value file # sets xattr attr_name to attr_value. xattr -d attr_name file # deletes xattr attr_name. xattr -c file # deletes all xattrs. xattr -h # prints help 

You can also use ls -l@ to view additional information about these advanced attributes.

From the osx ls man page:

Long format
If the file or directory has extended attributes, the permission field printed with the -l option is followed by the @ symbol . Otherwise, if the file or directory has extended security information, the permission field printed with the -l option is followed by a +.

AND

- @ Show extended keys and attribute sizes in long (-l) output.

+8
source

All Articles