ryg

Команды терминала SetFile и GetFileInfo в Mac OS X.

Синтаксис:

/usr/bin/SetFile      [-P] [-a attributes] [-c creator] [-d date] [-m date] [-t type] file ...
/usr/bin/GetFileInfo [-P -a[<attribute-letter>] | -c | -d | -m | -t] file ...

Описание:

Утилита setfile позволяет устанавливать и изменять атрибуты файлов в файловой системе HFS+ (Mac OS Extented). Данная утилита похожа на команду setfile в MPW. Возможно изменение атрибутов как одного, так и нескольких файлов одновременно. 

Утилита GetFileInfo выводит информацию об атрибутах файла. Если ее вызвать без параметров, только с именем файла, то будет выдана максимально полная информация. При использовании параметров, выводится информация о конкретном атрибуте файла. Параметры совпадают с параметрами команды SetFile. 

Для работы утилит требуется установка xCode.

Параметры:

-P Устанавливать параметры на самой символической ссылке, а не на файле, на который она указывает.
-a atributes Установить атрибут файла, где атрибуты это строчное выражение, чувствительное к регистру, заглавная буква устанавливает "1", маленькая "0".
A |a Alias file. Если верить википедии, то это вариант символической ссылки в Unix, но с улучшением. Если перенести файл на который ссылается alias, то ссылка все равно будет работать.
B | b Has bundle
C | c Файл имеет отдельную иконку
D | d Расположен на рабочем столе (доступно и для папок) 
E | e Скрывать или показывать расширение имени файла или папки.
I | i Inited - Finder is aware of this file and has given it a location in a window.  (доступно и для папок)
L | l Заблокирован
M | m Доступен для нескольких пользователей одновременно
N | n Файл имеет INIT ресурсы
S | s Системный файл
T | t  "Stationery Pad" file
V | v Управление видимостью файла или папки.
Z | z Занят  (доступно и для папок).
-c creator Задает создателя файла. Создатель может быть указан четырьмя латинскими символами и цифрами, аналогично типу файла.
-d date Устанавливает дату создания файла. Дата задается строкой вида:"mm/dd/[yy]yy [hh:mm:[:ss]   [AM | PM]]". Если строка с датой содержит пробелы, то она должна быть заключена в кавычки. Значение даты должно находится в периоде "эпохи UNIX" между 1/1/1970 и 18 января 2038 года. Если указать год двумя символами, то предполагается, что это XXI век с 00 до 38.
-m date Установить дату и время изменения файла. Формат строки описан в параметре -d.
-t type Задает тип файла. Тип может быть задан четырьмя символами MacRoman, пустой строкой означающей тип null или числом. Число может быть задано в двоичном коде, восьмеричным, десятичным или шестнадцатеричным в стандартном написании чисел.

Возвращаемые статусы завершения:
0 - атрибут установлен
1 - синтаксическая ошибка
2 - любая другая ошибка

Примеры:

Сказать OS X, что файл filename.m4b является аудио книгой:

     SetFile -t 'm4b ' filename.m4b

Установить новую дату последнего изменения файла

     SetFile -m "11/7/2013 16:13" myFile

Сделать файл невидимым/скрытым:

     SetFile -a V myfile.txt

Сделать файл видимым:

     SetFile -a v myfile.txt

Связанные материалы:

chflags - изменить атрибуты файла и папок
Скрытые файлы в Mac OS X

Все команды bash в алфавитном порядке