# attr(1) - man - phpman

[ATTR(1)](https://www.chedong.com/phpMan.php/man/ATTR/1/markdown)                                 XFS Compatibility API                                [ATTR(1)](https://www.chedong.com/phpMan.php/man/ATTR/1/markdown)



## NAME
       attr - extended attributes on filesystem objects

## SYNOPSIS
       **attr** [ **-LRSq** ] **-s** **attrname** [ **-V** **attrvalue** ] **pathname**

       **attr** [ **-LRSq** ] **-g** **attrname** **pathname**

       **attr** [ **-LRSq** ] **-r** **attrname** **pathname**

       **attr** [ **-LRSq** ] **-l** **pathname**


## OVERVIEW
       Extended  attributes  implement  the ability for a user to attach name:value pairs to objects
       within the filesystem.

       This document describes the _attr_ command, which is mostly compatible with the IRIX command of
       the  same  name.   It  was originally aimed specifically at users of the XFS filesystem, even
       though it can be used now on any filesystem that supports extended attributes,  but  for  the
       generic  and  more portable interface for filesystem independent extended attribute manipula‐
       tion, consult the [_getfattr_(1)](https://www.chedong.com/phpMan.php/man/getfattr/1/markdown) and [_setfattr_(1)](https://www.chedong.com/phpMan.php/man/setfattr/1/markdown) documentation.

       Extended attributes can be used to store meta-information about the file.  For example "char‐
       acter-set=kanji" could tell a document browser to use the Kanji character set when displaying
       that document and "thumbnail=..." could provide a reduced resolution overview of a high reso‐
       lution graphic image.

       In supported filesystems, the _names_ can be up to 256 bytes in length, terminated by the first
       0 byte.  The intent is that they be printable ASCII (or other character set)  names  for  the
       attribute.  The _values_ can be up to 64KB of arbitrary binary data.

       Attributes  can  be  attached  to  all  types of inodes: regular files, directories, symbolic
       links, device nodes, etc.

       Extended attributes use 2 disjoint attribute name spaces associated with every filesystem ob‐
       ject.   They are the **root** and **user** address spaces.  The **root** address space is accessible only
       to the superuser, and then only by specifying a flag argument to the  function  call.   Other
       users  will  not see or be able to modify attributes in the **root** address space.  The **user** ad‐
       dress space is protected by the normal file permissions mechanism, so the owner of  the  file
       can decide who is able to see and/or modify the value of attributes on any particular file.

## DESCRIPTION
       The  _attr_  utility  allows the manipulation of extended attributes associated with filesystem
       objects from within shell scripts.

       There are four main operations that _attr_ can perform:

       **GET**    The **-g** **attrname** option tells _attr_ to search the named object and print (to _s_s_t_t_d_d_o_o_u_u_t_t) the
              value  associated  with that attribute name.  With the **-q** flag, _s_s_t_t_d_d_o_o_u_u_t_t will be exactly
              and only the value of the attribute, suitable for storage directly into a file or pro‐
              cessing via a piped command.

       **LIST**   The  **-l**  option tells _attr_ to list the names of all the attributes that are associated
              with the object, and the number of bytes in the value of  each  of  those  attributes.
              With  the  **-q**  flag, _s_s_t_t_d_d_o_o_u_u_t_t will be a simple list of only the attribute names, one per
              line, suitable for input into a script.

       **REMOVE** The **-r** **attrname** option tells _attr_ to remove an attribute with the given name from  the
              object if the attribute exists.  There is no output on successful completion.

       **SET/CREATE**
              The  **-s**  **attrname**  option  tells  _attr_ to set the named attribute of the object to the
              value read from _s_s_t_t_d_d_i_i_n_n.  If an attribute with that name already exists, its value  will
              be replaced with this one.  If an attribute with that name does not already exist, one
              will be created with this value.  With the **-V** **attrvalue** flag, the  attribute  will  be
              set to have a value of **attrvalue** and _s_s_t_t_d_d_i_i_n_n will not be read.  With the **-q** flag, _s_s_t_t_d_d_o_o_u_u_t_t
              will not be used.  Without the **-q** flag, a message showing the attribute name  and  the
              entire value will be printed.

       When  the  **-L**  option  is  given  and the named object is a symbolic link, operate on the at‐
       tributes of the object referenced by the symbolic link.  Without this option, operate on  the
       attributes of the symbolic link itself.

       When  the  **-R** option is given and the process has appropriate privileges, operate in the _root_
       attribute namespace rather that the _USER_ attribute namespace.

       The **-S** option is similar, except it specifies use of the _security_ attribute namespace.

       When the **-q** option is given _attr_ will try to keep quiet.  It will output error  messages  (to
       _s_s_t_t_d_d_e_e_r_r_r_r) but will not print status messages (to _s_s_t_t_d_d_o_o_u_u_t_t).

## NOTES
       The  standard  file  interchange/archive programs [_tar_(1)](https://www.chedong.com/phpMan.php/man/tar/1/markdown), and [_cpio_(1)](https://www.chedong.com/phpMan.php/man/cpio/1/markdown) will not archive or re‐
       store extended attributes, while the [_xfsdump_(8)](https://www.chedong.com/phpMan.php/man/xfsdump/8/markdown) program will.

## CAVEATS
       The list option present in the IRIX version of this command is not supported.  _getfattr_  pro‐
       vides a mechanism to retrieve all of the attribute names.

## AUTHOR
       Andreas  Gruenbacher,  <<_andreas.gruenbacher@gmail.com_>>  and  the  SGI  XFS  development team,
       <<_linux-xfs@oss.sgi.com_>>.

       Please send your bug reports or comments to <_<https://savannah.nongnu.org/bugs/?group=attr_>> or
       <<_acl-devel@nongnu.org_>>.

## SEE ALSO
       [**getfattr**(1)](https://www.chedong.com/phpMan.php/man/getfattr/1/markdown),  [**setfattr**(1)](https://www.chedong.com/phpMan.php/man/setfattr/1/markdown),  **attr**___**[get**(3)](https://www.chedong.com/phpMan.php/man/get/3/markdown), **attr**___**[set**(3)](https://www.chedong.com/phpMan.php/man/set/3/markdown), **attr**___**[multi**(3)](https://www.chedong.com/phpMan.php/man/multi/3/markdown), **attr**___**[remove**(3)](https://www.chedong.com/phpMan.php/man/remove/3/markdown), [**attr**(5)](https://www.chedong.com/phpMan.php/man/attr/5/markdown),
       [**xfsdump**(8)](https://www.chedong.com/phpMan.php/man/xfsdump/8/markdown)



Dec 2001                                 Extended Attributes                                 [ATTR(1)](https://www.chedong.com/phpMan.php/man/ATTR/1/markdown)
