attr

读取可移植文件元数据和扩展属性;服务器支持的 xattr 也可以写入或删除。

文件版本 1.3.1稳定
lil-terminal

概览

attr 让元数据在不同主机上保持可用:本地化标签便于阅读,稳定的英文键现在可以直接查询,而真实 xattr 键仍作为独立的可写域处理。

与文件一起保留的元数据

需要在不同主机上获得可预测的元数据时,先使用可移植键;只有服务器确实提供 xattr 时才使用扩展属性键。

语法

lil-terminal
attr [path [key]] [-x|-d|-s <value>]

参考

attr

显示当前目录的可移植元数据

attr <path>

显示扩展属性键或可移植元数据

attr <path> <key>

显示可移植字段或扩展属性值

attr <path> <key> : <value>

为扩展属性设置原始文本

-x

以十六进制显示所选值

-s <value>

为扩展属性设置文本值

-d

删除扩展属性

可移植字段

稳定键为 path、type、permissions、access、size、mime、dimensions 和 modified。它们均为只读,并在所有界面语言中保持这些英文机器名。size、mime 和 dimensions 只在适用于所选路径时出现。可移植键优先于同名的裸扩展属性;user.note 这类带命名空间的 xattr 键仍然明确无歧义。

扩展属性

支持 xattr 时,attr <path> 会列出文件系统中的真实键。读取、十六进制显示、写入和删除仍操作这些真实键。可移植元数据不会在缺少 xattr 的主机上伪装出写入能力。

交互式 sandbox 预览

可直接在页面中运行预先准备的示例。结果已预先生成并在浏览器中显示;服务器不会执行任何终端命令。

检查文件元数据

.xml 扩展名不会改变文件系统检查;只有 PHP 能够正确识别时才会补充 MIME 信息。

安装与管理

安装当前兼容版本。完整功能请选择 Base,精简包请选择 Minimum;已安装模块的更新请使用 upgrade。

Base 与 Minimum 是同一当前模块版本的两个包。

Base 包

安装包含本地参考和全部已发布模式的完整包。

install attr
Minimum 包

安装精简包。该包不包含本地参考;help <cmd> -i 会打开当前服务器参考。

install attr -m
精确公开版本

安装这个确切的已发布版本。

install attr -v 1.3.1
检查或升级

让 upgrade 检查兼容性,仅在需要时替换已安装块。

upgrade attr
删除模块

删除扩展块,不影响核心和其他模块。

install attr -u

示例

示例可复制,但网站不会执行。请先检查路径、权限和破坏性选项。

检查文件元数据
cd \sandbox | attr feed.xml | attr feed.xml permissions
feed.xml
path         feed.xml
type         file
permissions  0644
size         1.3 KB
mime         application/xml

permissions  0644

.xml 扩展名不会改变文件系统检查;只有 PHP 能够正确识别时才会补充 MIME 信息。

读取一个元数据字段
attr sandbox/feed.xml permissions
0644

识别为图像后,会在相同的可移植文件元数据中增加像素尺寸。

写入自定义元数据字段
attr sandbox/feed.xml user.note : reviewed
path         sandbox/data/sample.txt
type         file
permissions  0644
readable     yes
writable     yes

目录保留自己的文件系统对象类型,并省略仅适用于文件的大小、MIME 和图像字段。

读取自定义元数据字段
attr sandbox/feed.xml user.note
path         sandbox/data/sample.txt
type         file
permissions  0644
readable     yes
writable     yes
将元数据保存到文件
attr sandbox/feed.xml > attr.log
path         sandbox/data/sample.txt
type         file
permissions  0644
readable     yes
writable     yes
处理不存在的路径
attr \sandbox\missing.txt
未找到路径

本示例使用的文件: sandbox/feed.xml

该示例使用受保护的 /sandbox/ 文档工作区中的文件或目录。

<?xml version="1.0" encoding="UTF-8"?>
<feed>
  <title>lil-sandbox</title>
  <entry id="1">Example XML content</entry>
</feed>

相关文档

当前公开版本

v1.3.12026-08-14

明确的属性值语法

扩展属性写入改用 :,可移植元数据字段继续保持只读,同时让 > 在系统中只保留一种含义。