在bash shell中使用getfattr查看文件扩展属性
在bash shell中使用getfattr查看文件扩展属性
getfattr用法用于获取文件扩展属性,返回一系列键值对,参考Linux Man Page。
常用OPTIONS
-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 dereference symlinks. Instead of the file a symlink refers to, the symlink itself is examined. Unless doing a logical (-L) traversal, do not traverse symlinks to directories. -m pattern, --match=pattern Only include attributes with names matching the regular expression pattern. The default value for pattern is "^user\\.", which includes all the attributes in the user namespace. Specify "-" for including all attributes. Refer to attr(5) for a more detailed discussion of namespaces. --absolute-names Do not strip leading slash characters ('/'). The default behaviour is to strip leading slash characters. --only-values 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 to directories. The default behaviour is to follow symbolic link arguments unless --no-dereference is given, and to skip symbolic links encountered in subdirectories. Only effective in combination with -R. -P, --physical Physical walk, do not follow symbolic links to directories. This also skips symbolic link arguments. Only effective in combination with -R. --version Print the version of getfattr and exit. --help Print help explaining the command line options.
使用举例
查看所有扩展属性的命令:
getfattr -m . -d -e hex --absolute-names $(vs_quick_lookup.sh vm-disk-1.qcow2 | grep $(hostname) | awk -F ":" '{print $2}')
结果:
# file: /sf/data/vs/local/V1gACv-8aPk-GDhe-nNnx-6uoD-isPj-ia9fSO/c93f1a03-ca0a-41cf-bca2-f723b35122ed/images/cluster/ljr.vm/vm-disk-1.qcow2
trusted.afr.vs_vol_rep2-client-10=0x000000000000000000000000
trusted.afr.vs_vol_rep2-client-11=0x000000000000000000000000
trusted.gfid=0x4751bfcc6ad6406d8e00a973d45a9d4e
user.glusterfs.bd=0x6c76323a313138353131333730323400
user.glusterfs.wcache=0x0000000000000000
选项说明:
-m . 匹配所有格式的扩展属性,默认的是user.xxx,即"^user\."。
-d -e hex 使用16进制编码dump出对应扩展属性的值
--absolute-names 不过滤路径分隔符('/')
查看指定的扩展属性
getfattr -n 'trusted.gfid' -d -e hex --absolute-names $(vs_quick_lookup.sh vm-disk-1.qcow2 | grep $(hostname) | awk -F ":" '{print $2}' )
结果:
# file: /sf/data/vs/local/V1gACv-8aPk-GDhe-nNnx-6uoD-isPj-ia9fSO/c93f1a03-ca0a-41cf-bca2-f723b35122ed/images/cluster/ljr.vm/vm-disk-1.qcow2
trusted.gfid=0x4751bfcc6ad6406d8e00a973d45a9d4e
选项说明:
-n 指定扩展属性的名称
评论暂时关闭