• 在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 指定扩展属性的名称

  • 相关阅读:
    http和https的区别与联系
    HTTP请求/响应报文结构
    Java并发包中Lock的实现原理
    Java多线程基础——Lock类
    深入理解Java并发之synchronized实现原理
    ConcurrentHashMap 的实现原理
    【Java集合学习】HashMap源码之“拉链法”散列冲突的解决
    趣谈Java变量的可见性问题
    Java中CAS详解
    LockSupport的park和unpark的基本使用,以及对线程中断的响应性
  • 原文地址:https://www.cnblogs.com/vman/p/4968457.html
Copyright © 2020-2023  润新知