Атрибуты

Атрибуты - это поля данных, которые относятся к файлу, но не являются его частью. Они не учитываются при подсчете размера файла и могут быть скопированы или удалены без изменения самого файла. Система использует атрибуты для хранения, например, размера файла, типа файла, даты последнего изменения и т.д. Точно также, как в других операционных системах и их файловых системах.

Отличие состоит в том, что вы можете добавить любой атрибут к любому файлу, а затем отобразить и сделать его редактируемым в окне Tracker. Вам нужно только определить, какого типа атрибут вы хотите добавить к файлу (например: строка, целое число или время), дать название и описание.

Сам файл и вовсе может не содержать никакой информации. Давайте посмотрим на файлы контактов для примера:

people.png

Как вы видите, все файлы имеют нулевой размер вместе с атрибутами и атрибут E-mail у контакта "John Nox" редактируется прямо в Tracker.

Если проиндексировать атрибуты у контактов, электронных писем или аудио-файлов, то вы сможете производить поиск по ним при помощи быстрой системы запросов.

index Работа с атрибутами в Tracker

В Tracker атрибуты отображаются, как в базе данных или таблице. Можно выбрать, какие атрибуты отображать и отсортировать список файлов по ним.

Откройте Tracker, щелкните по пункту меню Атрибуты (Attributes) и выберите атрибуты, которые хотите отобразить. Также можно просто щелкнуть по заголовку колонки и отметить элементы в контекстном меню. Вы можете поменять местами колонки с атрибутами, просто перетаскивая их за заголовок. Перетащив колонку за границу окна, вы быстро избавитесь от ненужной колонки.

Дважды щелкните мышкой по линии, которая находится между двумя заголовками атрибутов, и ширина колонки автоматически изменится согласно длине самого длинного атрибута.

Щелкните по заголовку колонки, чтобы отсортировать список. Вы можете установить вторичную сортировку удерживая клавишу SHIFT, кликнув по заголовку колонки. Например, отсортируйте файл контактов по названию компании и по имени контакта. Посмотрите скриншот выше в качестве примера. Вторичная сортировка отмечена светлым индикатором рядом с заголовком.

Редактирование атрибутов является такой же простой операцией, как и переименовывание файла: щелкните по строке, либо нажмите ALT E и для перемещения по атрибутам используйте клавиши TAB и SHIFT TAB. Клавиша ESC позволяет покинуть режим редактирования без сохранения изменений.

index Работа с атрибутами в Терминале

Если вы предпочитаете использовать командную строку или планируете работать с большим количеством файлов при помощи скриптов, то существует несколько команд для управления атрибутами в Терминале:

index listattr

listattr - отображает список атрибутов файла, но не содержимое атрибутов.

usage: listattr 'filename' ['filename' ...]

Пример:

 ~/people ->listattr Clara\\ Botters
File: Clara Botters
   Type         Size                 Name
-----------  ---------  -------------------------------
MIME String         21  "BEOS:TYPE"
        Text         14  "META:name"
        Text          6  "META:nickname"
        Text          1  "META:company"

        Text         18  "META:address"
        Text          8  "META:city"
        Text          1  "META:state"
        Text          1  "META:zip"
        Text          1  "META:country"

        Text          1  "META:hphone"
        Text         13  "META:wphone"
        Text          1  "META:fax"
        Text         19  "META:email"
        Text          1  "META:url"

        Text          5  "META:group"
    Raw Data         20  "_trk/pinfo_le"
 
131 bytes total in attributes.

Помимо всех "META:*" атрибутов, которые хранят контактную информацию, есть также два атрибута, которыми управляет система:

Note the backslash after "Clara". In Terminal you have to "escape" special characters like '"*\\$?!. The space between "Clara" and "Botters" is also one of those. Therefore the backslash is really in front of the space character, and not after "Clara".

index catattr

catattr - выводит содержимое указанного атрибута файла.

usage: catattr [--raw|-r] attr_name file1 [file2...]

Пример:

 ~/people ->catattr META:city Clara\\ Botters
Clara Botters : string : Whelton

index addattr

addattr - позволяет добавить атрибут, и(или) заполнить его содержимое.

usage: addattr [-t type] attr value file1 [file2...]
    or: addattr [-f value-from-file] [-t type] attr file1 [file2...]
 
         Type is one of:
                 string, mime, int, llong, float, double, bool, icon, raw
                 or a numeric value (ie. 0x1234, 42, 'ABCD', ...)
         The default is "string"

Допустим, Clara (Клара) устроилась на работу в Barkelbaer Inc., и вы теперь можете заполнить ранее пустой атрибут "Company" (Компания) следующим образом:

 ~/people ->addattr -t string META:company Barkelbaer\\ Inc. Clara\\ Botters

index rmattr

rmattr - позволяет полность удалить атрибут файла.

usage: rmattr [-p] attr filename1 [filename2...]
         'attr' is the name of an attribute of the file
         If '-p' is specified, 'attr' is regarded as a pattern.

Хотя можно было бы просто не заполнять атрибут "Fax" (Факс), но вы также можете полностью удалить этот атрибут у файла Clara:

 ~/people ->rmattr META:fax Clara\\ Botters

index copyattr

copyattr - позволяет скопировать атрибуты с одного или нескольких файлов на другой. По умолчанию содержимое файла не копируется.

Usage: copyattr <options> <source> [ ... ] <destination>

Если вы хотите скопировать не только атрибуты, но и содержимое файла, следует добавить опцию "-d" или "--data".


Больше информации о командах и их опциях можно получить, введя имя команды и опцию "-h" или "--help".