Linux 文件系统扩展属性

最近需要基于linux文件系统的扩展属性,做一些自定义的操作;在这里对调研过程进行简要记录;我们常见的很多服务如glusterfs 等,都是使用文件扩展属性做一些定制化的操作;

扩展属性(xattrs)提供了一种机制,用来将键值对永久得关联到文件;让现有的文件系统得以支持在原始设计中未提供的功能。扩展属性是目前流行的POSIX 文件系统具有的一项特殊的功能,可以给文件,文件夹添加额外的Key-value的键值对,键和值都是字符串并且有一定长度的限制。

常用的命令:setfattr, getfattr, attr; 关于命令的详细使用可以参考man-pages进行发现;

apt list attr 
Linux 文件系统扩展属性
/.
/usr
/usr/bin
/usr/bin/attr
/usr/bin/getfattr
/usr/bin/setfattr
/usr/share
/usr/share/doc
/usr/share/doc/attr
/usr/share/doc/attr/PORTING
/usr/share/doc/attr/README
/usr/share/doc/attr/copyright
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/attr.1.gz
/usr/share/man/man1/getfattr.1.gz
/usr/share/man/man1/setfattr.1.gz
/usr/share/man/man5
/usr/share/man/man5/attr.5.gz
/usr/share/doc/attr/changelog.Debian.gz
/usr/share/doc/attr/changelog.gz
attr包内容
setfattr -n user.foo -v bar test #设置 
getfattr -n user.foo test # 读取 
setfattr -x user.foo test  # 删除 
attr -lq test # 列举属性,不包含命名空间 
getfattr -d -m ".*"  test # 列举所有属性,包含命名空间 

这里的文件系统扩展属性,不是我们常说的lsattr和chattr中文件操作的属性。这里的扩展属性是完全自定义的。

保持更新,转载请注明出处,更多内容请关注cnblogs.com/xuyaowen; 

参考链接:

https://en.wikipedia.org/wiki/Extended_file_attributes 

https://en.wikipedia.org/wiki/Lustre_(file_system) 

Linux 文件系统扩展属性

上一篇:linux 下__iomem 解析【转】


下一篇:git版本控制系统--git远程仓库(局域网linux)