31

Can you show/list all extended-attributes and how?

5 Answers5

39

In Linux, independent of filesystem command to view file extended attributes is

getfattr -d -m '' -- <filename>

At last it show Selinux attributes.

getfattr -d -- <filename>

Show only user.* attributes.

6

On a MacOs the Unix flavor is Darwin which is derived from BSD. In this version of Unix, use the command xattr to list (or create, write, or clear) the extended attributes.

xattr <filename> will just list the names of the attributes

xattr -l <filename> will list their names and values

xattr -h for a more succinct help message

man xattr for a detailed help message (ZZ to exit the help)

I found this command at https://en.wikipedia.org/wiki/Extended_file_attributes#macOS

cedricdlb
  • 161
4

getfattr is not present in my debian distribution. I use this instead:

lsattr <filename>
deviato
  • 197
1

Using the (g)libc functions directly, say through Python, is also an option. They are documented at https://man.archlinux.org/man/xattr.7.en

$ touch /mnt/beegfs/pepa

$ python -c 'import os; os.setxattr("/mnt/beegfs/pepa", "user.lek", b"value", os.XATTR_CREATE)'

$ python -c 'path = "/mnt/beegfs/pepa"; import os; print([(attr, os.getxattr(path, attr)) for attr in os.listxattr(path)])' [('user.lek', b'value')]

Supported since Python 3.3, according to https://docs.python.org/3/library/os.html#linux-extended-attributes.

user7610
  • 530
1

The command to list all extended attributes is ls -l@.

An example (from my mac, linux/BSD will look different):

felixphew-mbp:/ felixphew$ ls -l@
total 45
drwxrwxr-x+ 63 root  admin  2142 27 Dec 17:49 Applications
drwxr-xr-x+ 62 root  wheel  2108 16 Nov 06:25 Library
drwxr-xr-x@  2 root  wheel    68 10 Sep 06:47 Network
    com.apple.FinderInfo      32 
drwxr-xr-x+  4 root  wheel   136  1 Nov 14:02 System
drwxr-xr-x   6 root  admin   204 28 Dec 07:36 Users
drwxrwxrwt@  3 root  admin   102 30 Dec 06:40 Volumes
    com.apple.FinderInfo      32 
drwxr-xr-x@ 39 root  wheel  1326 11 Nov 07:06 bin
    com.apple.FinderInfo      32 
drwxrwxr-t@  2 root  admin    68 10 Sep 06:47 cores
    com.apple.FinderInfo      32 
dr-xr-xr-x   3 root  wheel  4306 30 Dec 06:40 dev
lrwxr-xr-x@  1 root  wheel    11  1 Nov 13:56 etc -> private/etc
    com.apple.FinderInfo      32 
dr-xr-xr-x   2 root  wheel     1 30 Dec 06:40 home
-rw-r--r--@  1 root  wheel   313  1 Oct 16:12 installer.failurerequests
    com.apple.FinderInfo      32 
dr-xr-xr-x   2 root  wheel     1 30 Dec 06:40 net
drwxr-xr-x@  3 root  wheel   102 12 Aug 07:19 opt
    com.apple.FinderInfo      32 
drwxr-xr-x@  6 root  wheel   204  1 Nov 14:05 private
    com.apple.FinderInfo      32 
drwxr-xr-x@ 59 root  wheel  2006 18 Nov 07:46 sbin
    com.apple.FinderInfo      32 
drwxr-xr-x@  3 root  wheel   102 22 Dec 07:46 srv
    com.apple.FinderInfo      32 
lrwxr-xr-x@  1 root  wheel    11  1 Nov 13:57 tmp -> private/tmp
    com.apple.FinderInfo      32 
drwxr-xr-x@ 13 root  wheel   442 23 Nov 11:20 usr
    com.apple.FinderInfo      32 
lrwxr-xr-x@  1 root  wheel    11  1 Nov 13:57 var -> private/var
    com.apple.FinderInfo      32 

The same dir in ls -l:

felixphew-mbp:/ felixphew$ ls -l
total 45
drwxrwxr-x+ 63 root  admin  2142 27 Dec 17:49 Applications
drwxr-xr-x+ 62 root  wheel  2108 16 Nov 06:25 Library
drwxr-xr-x@  2 root  wheel    68 10 Sep 06:47 Network
drwxr-xr-x+  4 root  wheel   136  1 Nov 14:02 System
drwxr-xr-x   6 root  admin   204 28 Dec 07:36 Users
drwxrwxrwt@  3 root  admin   102 30 Dec 06:40 Volumes
drwxr-xr-x@ 39 root  wheel  1326 11 Nov 07:06 bin
drwxrwxr-t@  2 root  admin    68 10 Sep 06:47 cores
dr-xr-xr-x   3 root  wheel  4306 30 Dec 06:40 dev
lrwxr-xr-x@  1 root  wheel    11  1 Nov 13:56 etc -> private/etc
dr-xr-xr-x   2 root  wheel     1 30 Dec 06:40 home
-rw-r--r--@  1 root  wheel   313  1 Oct 16:12 installer.failurerequests
dr-xr-xr-x   2 root  wheel     1 30 Dec 06:40 net
drwxr-xr-x@  3 root  wheel   102 12 Aug 07:19 opt
drwxr-xr-x@  6 root  wheel   204  1 Nov 14:05 private
drwxr-xr-x@ 59 root  wheel  2006 18 Nov 07:46 sbin
drwxr-xr-x@  3 root  wheel   102 22 Dec 07:46 srv
lrwxr-xr-x@  1 root  wheel    11  1 Nov 13:57 tmp -> private/tmp
drwxr-xr-x@ 13 root  wheel   442 23 Nov 11:20 usr
lrwxr-xr-x@  1 root  wheel    11  1 Nov 13:57 var -> private/var
felixphew
  • 161