chattr
Манипулирование атрибутами
файла (QNX Neutrino)
Синтаксис:
chattr [+/- атрибут]...
[имя_файла]...
Поддерживаемые платформы:
Neutrino
Опции:
атрибут
Атрибут,
который необходимо удалить (-) или установить (+).
имя_файла
Имя
файла, атрибуты которого подлежат отображению или
манипулированию.
Описание:
Утилита chattr является интерфейсом к devctl(DCMD_FSYS_FILE_FLAGS) (из <sys/dcmd_blk.h>), которая
получает или устанавливает атрибуты файла (находящиеся вне
области действия стандарта POSIX). Например, в файловой
системе DOS/FAT существует понятие "скрытых" или "системных"
файлов. Такие атрибуты обычно хранятся в виде флагов в
индексном дескрипторе каждого файла на диске.
Эти атрибуты делятся на
следующие классы:
Групповой
Атрибут, относящийся к
понятию, которое может использоваться в нескольких форматах
файловых систем (даже если в каждой их них оно реализовано
по-разному).
Специфичный для
файловой системы
Атрибут, который имеет
смысл только в определенной файловой системе.
За
отображение групповых атрибутов в их частное представление и
обратно отвечает каждый из модулей io-blk.so файловой системы.
Например,
скрытый файл является групповым понятием для имени файла,
который может быть скрыт (не отображаться утилитой ls) для просмотра обычным пользователем,
но остается доступным (для открытия приложением с помощью
утилиты open()), если его имя уже известно.
Представление этого принципа меняется в зависимости от
файловой системы:
-
В файловой системе DOS/FAT оно
непосредственно соответствует "скрытому" биту.
-
В файловой системе ISO-9660 оно
представлено битом "существования".
-
В файловой системе QNX 4 аналоги
отсутствуют.
Эта функциональная возможность отображения позволяет
приложению абстрагироваться от специфической дисковой
структуры (т.е. программа может работать одинаково с любым
файлом в любой файловой системе). У многих специфичных для
файловой системы атрибутов отсутствует соответствующее
групповое понятие, и работать с ними можно при условии знания
базовой структуры файловой системы. Соответствующие битовые
определения содержатся в различных заголовочных файлах <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
