ryg

Команда chflags mac OS X

chflags -изменить флаги файла или папки

Синтаксис:

chflags [-fhv] [-R [-H | -L | -P]] flags file ...

Описание:

В дополнение к стандартным в UNIX параметрам файлов, таким как права доступа, в Mac OS X имеется несколько дополнительных свойств (флагов), устанавливаемых на файлы или каталоги. Утилита chflags  изменяет признаки (флаги) папок и файлов, указанных за параметром flags. Большинство данных флагов не видны в свойствах файла в Finder и их можно посмотреть только с помощью команды GetFileInfo (описана вместе с SetFile). К сожалению, механизмы работы данных флагов в технической документации OS X описаны недостаточно подробно.

Параметры:

-f Не отображать диагностические сообщения, если chflags не смог изменить признак файла
-H Если определен параметр -R символические ссылки в команде будут отработаны.  (Символические ссылки, встречаемые в дереве папок игнорируются)
-h Если file это файл символических ссылок изменить флаг самой ссылки.
-L Если -R определен, все символические ссылки будут отслежены.
-P Если определен параметр -R переход по символическим ссылкам осуществлен не будет. По умолчанию.
-R Изменить флаги для файла иерархически, начиная с указанного каталога вместо себя
-v Изменить флаги, отображая имена и флаги, которые изменяются. Если параметр -v определены более одного раза, то старые и новые флаги будут напечатаны в восьмеричной системе

Флаги:

arch, archived Установить признак файла "архивный" (для пользователя с правами root)
opaque set the opaque flag.  [Directory is opaque when viewed through  a union mount] Параметр имеет значение только в случае, если том монтируется с параметром "union". (для пользователя с правами root)
nodump   set the nodump flag (для пользователя с правами root). Используется командой dump. 
sappnd, sappend   Установить флаг - "только добавление", что означает, что файл может быть изменен только добавлением в него информации. Если он устанавливается на папку, то в нее могут добавляться файлы, но не могут быть переименованы или удалены. (для пользователя с правами root или c помощью команды sudo). 
schg, schange, simmutable   Заблокировать файл или папку на уровне системы изменить флаг может только root или суперпользователь с помощью команды sudo.
uappnd, uappend   set the user append-only flag (для пользователя с правами root)
uchg, uchange, uimmutable   Заблокировать файл или папку на уровне пользователя. Изменить флаг может владелец файла или суперпользователь с помощью команды sudo. В Finder->Свойства файла->Защита
hidden   Установить признак "скрытого файла" 

 

 Для смены признака используйте приставку no перед признаком (флагом). Например:

nohidden
nopaque

Если установлены параметры -H и -L, chflags ничего не меняет в символьных ссылках и возвращает успешное завершение

Параметры  -H, -L и -P игнорируются, если указан параметр -R

Для просмотра признаков файлов в папке  можно использовать команду (Если файл имеет дополнительные флаги, то после прав доступа указывается '@'):

ls -lo

Возвращаемое значение

В случае успешного завершения команда возвращает 0 и число >0 в случае ошибки
 

Полезное:

Работа со скрытыми файлами в OS X
Команда ls - показать список файлов в папках и их характеристики
SetFile - управление атрибутами файла
Весь список команд терминала Mac OS X