chattr

Манипулирование атрибутами файла (QNX Neutrino)

Синтаксис:

chattr [+/- атрибут]... [имя_файла]...

Поддерживаемые платформы:

Neutrino

Опции:

атрибут

Атрибут, который необходимо удалить (-) или установить (+).

имя_файла


Имя файла, атрибуты которого подлежат отображению или манипулированию.

Описание:

Утилита chattr является интерфейсом к devctl(DCMD_FSYS_FILE_FLAGS) (из <sys/dcmd_blk.h>), которая получает или устанавливает атрибуты файла (находящиеся вне области действия стандарта POSIX). Например, в файловой системе DOS/FAT существует понятие "скрытых" или "системных" файлов. Такие атрибуты обычно хранятся в виде флагов в индексном дескрипторе каждого файла на диске.

Эти атрибуты делятся на следующие классы:

Групповой

Атрибут, относящийся к понятию, которое может использоваться в нескольких форматах файловых систем (даже если в каждой их них оно реализовано по-разному).

Специфичный для файловой системы

Атрибут, который имеет смысл только в определенной файловой системе.

За отображение групповых атрибутов в их частное представление и обратно отвечает каждый из модулей io-blk.so файловой системы.

Например, скрытый файл является групповым понятием для имени файла, который может быть скрыт (не отображаться утилитой ls) для просмотра обычным пользователем, но остается доступным (для открытия приложением с помощью утилиты open()), если его имя уже известно. Представление этого принципа меняется в зависимости от файловой системы:
Эта функциональная возможность отображения позволяет приложению абстрагироваться от специфической дисковой структуры (т.е. программа может работать одинаково с любым файлом в любой файловой системе). У многих специфичных для файловой системы атрибутов отсутствует соответствующее групповое понятие, и работать с ними можно при условии знания базовой структуры файловой системы. Соответствующие битовые определения содержатся в различных заголовочных файлах <sys/fs_*.h>.

При запуске утилиты chattr без атрибутов и с именем файла (или списком имен файлов) отображаются текущие атрибуты, установленные для каждого файла. При запуске утилиты chattr с атрибутом (или списком атрибутов) эти изменения применяются к каждому из файлов.

Примеры:

Вывод списка атрибутов для файла:

# chattr chattr.c

chattr.c: +backup +contiguous +used +modified

Добавление и удаление атрибутов для файла:

# chattr -archive +system /fs/dos/autoexec.bat

/fs/dos/autoexec.bat: -archive +system

Отключение функции мгновенного снимка текущего состояния системы (snapshot) для файловой системы "Power-Safe" (fs-qnx6.so):

# chattr -snapshot /fs/qnx6

/fs/qnx6: -snapshot