Атрибут файла

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Атрибут файла (англ. file attribute) — метадані що описують файл. Атрибут може знаходитсь у двох станах: або встановлений, або знятий. Атрибути розглядаються окремо від інших метаданих, таких як дати, розширення імені файлу або права доступу. Каталоги та інші об'єкти файлової системи також можуть мати певні атрибути.

Різновиди[ред.ред. код]

DOS та Microsoft Windows[ред.ред. код]

В операційних системах DOS та Microsoft Windows, існують чотири атрибути:[1][2][3]

  • Архівний. Коли цей атрибут встановлено, це означає, що файл було змінено з часу проведення останнього резервного копіювання. ПЗ, за допомогою якого виконується резервне копіювання, також відповідає за зняття цього атрибуту.
  • Прихований. Файл з встановленим атрибутом вважається прихованим. Це означає, що команди MS-DOS (dir) та програми Windows (такі як Провідник) за помовчанням не будуть відображати цей файл, якщо не ввімкнено спеціальний режим[4] .
  • Системний. Файл з встановленим атрибутом вважається системним — таким, існування якого у незміненому вигляді критично важливе для нормальної роботи системи. За помовчанням команди MS-DOS (dir) та програми Windows (такі як Провідник) не будуть відображати цей файл, якщо не ввімкнено спеціальний режим.
  • Тільки читання. Встановлений атрибут означає, що вміст файлу не можна змінювати. Як правило, програми для Windows ігнорують цей атрибут, якщо він встановлений для каталогів[5].

З виходом нових версій системи Windows у NTFS з'явились додаткові атрибути:

  • Стиснений (Compressed). Встановлений атрибут означає, що Windows зберігає цей файл на диску в архівованому вигляді.
  • Зашифрований (Encrypted). Встановлений атрибут означає, що Windows зберігає цей файл на диску в зашифрованому вигляді.
  • Проінтексований (Indexed). Означає, що відповідні підсистеми Windows не включатимуть вміст файлу до пошукового індексу.

4.4BSD-Lite та похідні від неї системи[ред.ред. код]

У 4.4BSD та 4.4BSD-Lite файли та каталоги можуть отримати чотири атрибути, які встановлюються власником файлу або користувачем з підвищеними правами (відмічені як «User»). Ще два атрибути можуть встановлюватись лише користувачем з підвищеними правами («System»).[6]

  • (User) No-dump: Встановлений атрибут означає, що файл або каталог не повинен копіюватись під час резервного копіювання.
  • (User and System) Immutable: Означає, що файл або каталог мають лишатись незмінними. Будуть блоковані спроби відктрити файл на запис, перейменувати його, перейменувати або створити новий файл в каталозі.
  • (User and System) Append-only: До файлу можна лише додавати інформацію.
  • (User) Opaque: Використовується певна особливість монтування файлових систем в ОС.

У FreeBSD ще з'явився наступний атрибут[7] (також підтримується у DragonFly BSD):[8]:

  • (User and System) No-unlink: Означає, що файл або каталог не можна видаляти. Спроби зробити це закінчаться повідомленням про помилку доступу.

FreeBSD також підтримує:[7]

  • (System) No-archive: Встановлений атрибут означає, що файл або каталог не можна архівувати (засобами файлової системи).
  • (System) Snapshot: Файл належить до спеціального типу файлів, що обробляються системою. Цей атрибут встановлюється лише системою, навіть користувач з підвищеними правами не може його змінити.

Крім того, DragonFly BSD підтримує:[8]

  • (User and System) No-history: Історія змін не повинна зберігатись для даного файлу чи каталогу.
  • (User) Swapcache та (System) Swapcache: Визначає певні особливості роботи з SSD.
  • (System) Archived: Протилежне до No-archive.

NetBSD[9] та OpenBSD:[10] також підтримують (System) Archived.

У OS X було додано ще один атрибут[11]

  • (User) Hidden: Означає, що за помовчанням файл з таким атрибутом не буде відображатись засобами графічного інтерфейсу, хоча команда ls все одно показуватиме його.

Зміна значення атрибуту[ред.ред. код]

У DOS, OS/2 та командному рядку Windows, атрибути файлу можуть бути змінені командою attrib[3][12] За допомогою Провідника Windows також можна змінювати деякі атрибути, але не атрибут «системний»[5] Windows PowerShell має пару команд для читання/запису атрибутів: Get-ItemProperty та Set-ItemProperty.[13]

У 4.4BSD та її нащадках для перегляду атрибутів використовується команда ls а для зміни — chflags.

У Linux, використовуються команди chattr та lsattr.

В будь-якому разі, в ряді випадків користувач повинен мати відповідні права доступу для змінення атрибуту.

Примітки[ред.ред. код]

  1. «Definition of: file attribute». PC Magazine. Ziff Davis. Процитовано 2 December 2012. 
  2. «File attributes». Computer Hope. Процитовано 2 December 2012. 
  3. а б «In Windows, what are file attributes, and how can I change them?». Knowledge Base. Indiana University. 11 October 2011. 
  4. «What is a hidden file?». Windows 7 Help. Microsoft. Процитовано 2 December 2012. 
  5. а б «You cannot view or change the Read-only or the System attributes of folders in Windows Server 2003, in Windows XP, in Windows Vista or in Windows 7». Microsoft Support. Microsoft. 31 May 2012. Процитовано 2 December 2012. 
  6. http://www.opennet.ru/man.shtml?topic=chflags&category=2&russian=1
  7. а б http://www.freebsd.org/cgi/man.cgi?query=chflags&sektion=2
  8. а б http://leaf.dragonflybsd.org/cgi/web-man?command=chflags&section=2
  9. http://netbsd.gw.com/cgi-bin/man-cgi?chflags+2+NetBSD-current
  10. http://www.openbsd.org/cgi-bin/man.cgi?query=chflags&section=2
  11. https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man2/chflags.2.html
  12. «Definition of: DOS Attrib». PC Magazine. Ziff Davis. Процитовано 2 December 2012. 
  13. «Use a PowerShell Cmdlet to Work with File Attributes». Hey, Scripting Guy! Blog. Microsoft. 26 January 2011. Процитовано 3 December 2012. 

Посилання[ред.ред. код]