getfattr - Unix, Linux Command


getfattr - get extended attributes of filesystem objects


getfattr [-hRLP] -n name [-e en] 
getfattr [-hRLP] -d [-e en] 
[-m pattern] pathname...


For each file, getfattr displays the file name, and the set of extended attribute names (and optionally values) which are associated with that file.

The output format of getfattr -d is as follows:

 1:  # file: somedir/
 2:  user.name0="value0"
 3:  user.name1="value1"
 4:  user.name2="value2"
 5:  ...

Line 1 identifies the file name for which the following lines are being reported. The remaining lines (lines 2 to 4 above) show the name and value pairs associated with the specified file.


-n name, --name=name
  Dump the value of the named extended attribute extended attribute.
-d, --dump
  Dump the values of all extended attributes associated with pathname.
-e en, --encoding=en
  Encode values after retrieving them. Valid values of en are "text", "hex", and "base64". Values encoded as text strings are enclosed in double quotes ("), while strings encoded as hexidecimal and base64 are prefixed with 0x and 0s, respectively.
-h, --no-dereference
  Do not follow symlinks. If pathname is a symbolic link, the symbolic link itself is examined, rather than the file the link refers to.
-m pattern, --match=pattern
  Only include attributes with names matching the regular expression pattern. The default value for pattern is "^user\\.", -m which includes all the attributes in the user namespace. Refer to attr(5) for a more detailed discussion on namespaces.
  Do not strip leading slash characters (’/’). The default behaviour is to strip leading slash characters.
  Dump out the extended attribute value(s) only.
-R, --recursive
  List the attributes of all files and directories recursively.
-L, --logical
  Logical walk, follow symbolic links. The default behaviour is to follow symbolic link arguments, and to skip symbolic links encountered in subdirectories.
-P, --physical
  Physical walk, skip all symbolic links. This also skips symbolic link arguments.
  Print the version of getfattr and exit.
  Print help explaining the command line options.
-- End of command line options. All remaining parameters are interpreted as file names, even if they start with a dash character.


Consider the file test.txt. Without any extended attributes set, the command would display nothing

$ getfattr -d test.txt

You can set extended attributes to the file with setfattr command

$ setfattr -n user.Name1 -v Value1
$ setfattr -n user.Name2 -v Value2

With the extended attributes set the the command getfattr would show output as below

$ getfattr -d test.txt
# file: test.txt

Above example uses -d option to display all attributes.

You can use -n option to display only specific attributes

$ getfattr -n user.Name2 test.txt
# file: test.txt