Операционная система ЗОСРВ «Нейтрино» > Описание базовых компонентов целевой системы > Утилиты > C > chattr



chattr

Управление атрибутами файла (ЗОСРВ «Нейтрино»)

Синтаксис:

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

Опции:

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

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64, arm, armv7, e2k, mips, ppc, x86

Описание:

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

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

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

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

Например, скрытый файл — это общее понятие для имени_файла, которое может быть скрыто от просмотра пользователем (не отображается ls), но остается доступным (например, для использования прикладной программой при вызове функции open()). Представление этой концепции варьируется в зависимости от файловой системы:

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

Файловая система Атрибут Бит Описание

Generic backup FS_FLAGS_BACKUP Файл был изменен, необходимо создать резервную копию.
contiguous FS_FLAGS_CONTIGUOUS Нефрагментированный файл.
dirty FS_FLAGS_DIRTY Возможно, файловая система находится в несогласованном состоянии.
hidden FS_FLAGS_HIDDEN Файл скрыт от обычного просмотра пользователем (не отображается с помощью ls), но остается доступным для open().

Power-Safe ( fs-qnx6.so) defrag QNX6FS_BG_DEFRAG Фоновая дефрагментация включена.
hold QNX6FS_SNAPSHOT_HOLD Снапшоты для этого файла заблокированы.
modified QNX6FS_INO_MODIFIED Индексный дескриптор был изменен.
snapshot FS_FLAGS_COMMITTING Снапшоты включены.
used QNX6FS_INO_USED Индексный дескриптор используется.

fs-udf.so archive Файл был изменен, и его необходимо создать резервную копию.
nonreloc Файл невозможно переместить.
setgid В файле установлен бит setgid.
setuid В файле установлен бит setuid.
sorted Каталоги отсортированы.
sticky Sticky бит установлен.
stream Файл представляет собой именованный поток.
system Файл используется исключительно операционной системой и не подлежит изменению или удалению.
transform Файл был преобразован (например, сжат).

fs-dos.so archive DOSFS_ARCHIVE Файл был изменен, и его необходимо создать резервную копию.
dir DOSFS_DIR Файл является каталогом.
hidden DOSFS_HIDDEN Файл скрыт от просмотра.
label DOSFS_VOLLABEL Файл представляет собой метку тома.
lcasebase DOSFS_LCASE_BASE Базовое имя_файла включает символы нижнего регистра.
lcaseext DOSFS_LCASE_EXT Расширение имени_файла включает символы нижнего регистра.
rdonly DOSFS_RDONLY Файл доступен только для чтения.
system DOSFS_SYSTEM Файл используется исключительно операционной системой и не подлежит изменению или удалению.

fs-nt.so archive Файл был изменен, и его необходимо создать резервную копию.
compress Файл сжат.
device Файл представляет собой устройство.
encrypt Файл зашифрован.
hidden Файл скрыт от просмотра.
normal Регулярный файл.
offline Актуальный файл хранится удаленно.
rdonly Файл доступен только для чтения.
sparse Файл разреженный; ненулевые данные размещаются на диске, а длинные строки нулей — нет.
system Файл используется исключительно операционной системой и не подлежит изменению или удалению.
temp Файл временный.

fs-mac.so alias Файл представляет собой файл алиас - динамическую ссылку на другой файл.
bundle Файл представляет собой пакет, каталог со стандартизированной иерархией, в котором хранится исполняемый код и все связанные ресурсы.
desktop Файл находится на рабочем столе.
hasicon У файла есть свой собственный значок.
hiddenext Расширение файла скрыто.
invisible Файл не отображается в списках диалоговых окон или окнах приложений.
namelock Переименовать файл или назначить ему другой значок невозможно.
stationery Файл представляет собой блокнот; вы можете использовать его как шаблон для создания новых файлов, но не можете изменять сам файл.

Примеры:

Вывести атрибуты файла на экран:

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

Добавить и удалить атрибуты файла:

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

Отключение снапшотов для файловой системы Power-Safe ( fs-qnx6.so) (может быть полезно при вызове утилиты chkqnx6fs):

# chattr -snapshot /fs/qnx6 /fs/qnx6: -snapshot

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино»

Поддерживается, начиная с ЗОСРВ «Нейтрино» редакции 2024

Тематические ссылки:

devb-ahci, devb-eide, devb-loopback, devb-ram, devb-sdmmc, devb-umass, fs-dos.so, fs-mac.so, fs-nt.so, fs-qnx6.so, fs-udf.so, fsysinfo, io-blk.so, DCMD_FSYS_FILE_FLAGS




Предыдущий раздел: Утилиты