Linux xattr 命令详解

简介

Linux 中的 xattr 命令用于管理文件的扩展属性。扩展属性存储标准属性中未包含的附加元数据(如权限、所有者和时间戳)。它们通常由特定的应用程序或文件系统(例如,aclSELinux 标签)使用。

关键概念

  • 扩展属性:与文件相关的元数据,以键值对的形式存储

  • 属性的通用命名空间:

    • user:通用,普通用户可访问

    • security:用于安全框架,如 SELinux

    • system:用于系统级别的元数据

    • trusted:需要 root 访问权限的元数据

用法示例

列出文件的所有扩展属性

shell 复制代码
xattr example.txt

# 输出如:user.comment

查看扩展属性的值

shell 复制代码
xattr -p [attribute_name] [file]

xattr -p user.comment example.txt

# 输出如:This is a sample comment.

设置或更新扩展属性

shell 复制代码
xattr -w [attribute_name] [value] [file]

xattr -w user.comment "This is a test comment" example.txt

移除指定的扩展属性

shell 复制代码
xattr -d [attribute_name] [file]

xattr -d user.comment example.txt

列出文件的所有扩展属性的键和值

shell 复制代码
xattr -l [file]

xattr -l example.txt

复制一个文件的扩展属性到另一个文件

shell 复制代码
xattr --copy-source=[source_file] [destination_file]

xattr --copy-source=example.txt copy.txt

递归列出目录所有文件的扩展属性

shell 复制代码
xattr -r [directory]

递归删除目录所有文件的扩展属性

shell 复制代码
xattr -cr [directory]

常见问题

  • ext4XFSBtrfs 文件系统支持扩展属性,FAT32 文件系统不支持。

  • 如果扩展属性不工作,使用下列命令启用:

shell 复制代码
sudo mount -o remount,user_xattr /mount/point
相关推荐
Murphy_lx12 分钟前
Linux系统--信号(4--信号捕捉、信号递达)陌生概念篇
linux·运维·服务器
焱焱枫1 小时前
Linux疑难杂症诊断利器:深入解析 fuser 命令
linux·运维·服务器
博语小屋1 小时前
Linux进程信号(壹)_产生信号
linux·运维·服务器
轻松Ai享生活1 小时前
【Linux】VFS 虚拟文件系统 详解
linux
LCG元1 小时前
Linux环境Python生态速建指南:包管理+虚拟隔离+深度调优
linux
大白的编程日记.1 小时前
【Linux学习笔记】线程同步与互斥之生产者消费者模型
linux·笔记·学习
Knight_AL1 小时前
Spring Boot 中使用自定义注解和 AOP 实现微服务日志记录(包含 URL、状态码和耗时信息)
linux·spring boot·微服务
养海绵宝宝的小蜗2 小时前
Linux 例行性工作任务(定时任务)知识点总结
linux·运维·服务器
乌萨奇也要立志学C++2 小时前
【Linux】基础IO(二)深入理解“一切皆文件” 与缓冲区机制:从原理到简易 libc 实现
linux·运维·服务器
Ronin3052 小时前
【Linux网络】封装Socket
linux·网络·socket·网络通信