Can you show/list all extended-attributes and how?
5 Answers
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.
- 2,186
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
- 161
getfattr is not present in my debian distribution. I use this instead:
lsattr <filename>
- 197
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.
- 530
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
- 161