在终端中输入 ls -l 常常可以看到部分文件的结尾含有@符号,如:
-rw-r–r–@ 1 Wayne staff 14789551 10 13 20:59 php-5.3.8.tar.gz
平时在忙工作就没细究,直到今天在v2ex看到有朋友提出了这个问题,参考了回帖中提及的资料做了此份笔记。
它是什么
文件的扩展属性标记
- 存放文件的元数据信息,存储在HFS文件系统内
- 常规浏览时不可见
- 许多流行的文件系统都支持这类元数据
- 除了@,还有+,表明文件拥有非标准的权限集,这些权限集在一些ACLs系统中使用
- 查看元数据属性的方式 ls -@ 即可。
注:com.apple.quarantine 属性表面文件是从互联网下载到本地的,在首次打开文件时候会弹出提示框要求用户是否确认要打开此文件,如果选“是”,此属性即被清除
如何管理
xattr用于访问和管理这些元数据,用法如下:
- xattr <file> 打印元数据
- xattr -l <file> 打印详细的元数据信息,如:文件下载工具、下载时间
- xattr -w <attr> <file> 新增元数据
- xattr -d <attr> <file> 删除元数据