attr

Читает переносимые метаданные и расширенные атрибуты файлов; доступные xattr можно также записывать и удалять.

ФайлыВерсия 1.3.1Стабильная
lil-terminal

Обзор

attr объединяет переносимые метаданные и реальные расширенные атрибуты. Базовые поля вроде permissions, mime и dimensions читаются одинаково на разных хостингах, а 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 появляются только там, где применимы к выбранному пути. Переносимый ключ имеет приоритет над расширенным атрибутом с таким же коротким именем; xattr-ключи с пространством имён, например user.note, остаются однозначными.

Расширенные атрибуты

Если xattr поддерживается, attr <path> показывает реальные ключи файловой системы. Чтение, шестнадцатеричный вывод, запись и удаление по-прежнему работают с этими ключами. Переносимые поля остаются только для чтения и не создают видимость поддержки xattr там, где файловая система её не предоставляет.

Интерактивный пример из `/sandbox/`

Запускайте подготовленные примеры прямо на странице. Результат заранее сформирован и показывается в браузере; команды терминала на сервере не выполняются.

Проверить метаданные файла

Расширение .xml не меняет проверку файловой системы: MIME-тип добавляется только тогда, когда PHP может определить его корректно.

Установка и управление

Устанавливайте актуальную совместимую версию. Для полного набора возможностей выбирайте 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 не меняет проверку файловой системы: MIME-тип добавляется только тогда, когда PHP может определить его корректно.

Прочитать одно поле метаданных
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

Чёткий синтаксис значений атрибутов

Запись расширенных атрибутов переведена на :, переносимые ключи метаданных остаются только для чтения, а > получает единый системный смысл.