Где хранятся атрибуты файлов

Обновлено: 04.07.2024

Атрибуты файлов – это специальные системные метаданные, которые описывают свойства конкретного файла или целой папки. Часто под атрибутами подразумевают также некоторые дополнительные параметры, вроде, даты создания файла, или специализированную метаинформацию о конкретных типах данных (например, EXIF для изображений или ID3-теги для музыки). [Источник 1]

Содержание

Описание

Атрибут файла — это некая метка (или флаг), которая сообщает операционной системе о существовании особых правил для работы с конкретным файлом.

Место хранения атрибутов файлов

Место хранения атрибутов в частном случае зависит от реализации конкретной файловой системы. В качестве примера можно привести файловую систему Ext4 в силу ее популярности в ОС Linux. Как и во многих других файловых системах семейства UNIX\*Nix в Ext4 есть понятие inode (айнод). Изначальное название — index node — индексная точка/вершина. Inode — это специальная структура данных в файловой системе, которая хранит определенную информацию об объектах файловой системы — стандартных файлах, каталогах и т.д. Айноды хранятся в таблице айнодов, для которой файловая система выделяет необходимое количество блоков. Под определенной информацией подразумеваются отметки времени доступа, флаги, расширенные атрибуты, карты блоков данных и др. В официальной документации по ext4 те атрибуты, о которых идет речь в этой заметке, называются флагами (flags). Не стоит путать с расширенными атрибутами (extended attributes) — это несколько иная сущность.

Виды функций атрибутов (флагов)

Если обратится к man chattr то можно увидеть почти полный список атрибутов (флагов):

  • A — не обновлять время доступа к объекту. Теоретически установка этого атрибута должна повысить производительность файловой системы при работе с файлом (если не используются опции монтирования noatime, nodiaratime )
  • а — указывает, что в файл можно добавлять информацию, но нельзя удалять. Может быть установлен только суперпользователем.
  • d — указывает на то, что не нужно делать резервные копии файла. Файл будет проигнорирован командой dump.
  • i — указывает на то, что файл нельзя удалять и модифицировать, так же нельзя создать ссылку на файл. Может быть установлен только суперпользователем.
  • s — указывает, что при удалении файла место где был размещен файл будет перезаписано нулями. Для невозможности восстановления после удаления.
  • u — указывает на то, что при удалении файла его нужно куда-то сохранить. Наоборот, чтоб гарантировать возможность восстановления после удаления.
  • c — указывает на то, что файл сжат. Перед записью в этот файл ядро сжимает данные, а чтение соответственно возвращает разархивированные данные.

Сжатие данных

Атрибут «c» существует для того,чтобы указывать пользователю,что файл сжат. Теоретически кроме экономии дискового пространства выгодой от использования этого флага может быть и ускорение дисковых операций (зависит от алгоритма сжатия). Данный атрибут, к сожалению, не работает в ext4, так как данная ФС не поддерживает механизм сжатия. Но зато работает в новой файловой системе BTRFS, где на данный момент реализованы целых два алгоритма сжатия — LZO, и ZLIB. Как раз с алгоритмом LZO разработчикам удалось добиться увеличения производительности дисковых операций за счет того, что файлы стали занимать меньше места, соответственно времени на их запись и считывание нужно меньше, а операции сжатия и распаковки занимают совсем немного процессорного времени. К сожалению, от выборочного использования этого флага эффекта будет немного — так же как и с атрибутом «A» — для достижения максимального эффекта лучше будет использовать опцию монтирования, чтоб поведение опции было глобальным для всех файлов. [Источник 2]

Виды атрибутов для Windows

В Windows существует несколько атрибутов файлов, в том числе:

  • Атрибут архивного файла.
  • Атрибут каталога.
  • Скрытый атрибут файла.
  • Атрибут файла только для чтения.
  • Атрибут системного файла.
  • Атрибут метки тома

Для Windows с NTFS

  • Атрибут сжатого файла.
  • Шифрованный атрибут файла.
  • Индексированный атрибут файла.

Редкие атрибуты

Вот несколько дополнительных, хотя и более редких, атрибутов файлов, распознаваемых Windows:

  • Атрибут файла устройства.
  • Атрибут файла целостности.
  • Не индексированный атрибут файла содержимого.
  • Нет атрибута файла scrub.
  • Автономный атрибут файла.
  • Атрибут разреженного файла.
  • Атрибут временного файла.
  • Атрибут виртуального файла.

Атрибуты для Linux

В Linux каждый файл имеет свойство, характеризующее владельца файла. Управление доступом к файлам осуществляется с помощью атрибутов – специальных характеристик, имеющихся у каждого файла. Всего существует 12 характеристик. Девять из них можно разделить на три класса:

  • Разрешение/запрет на чтение файла владельцем, группой владельца и всеми остальными пользователями.
  • Разрешение/запрет на запись файла владельцем, его группой и всеми остальными.
  • Разрешение/запрет на запуск файла владельцем, группой владельца и остальными пользователями.

Размещение атрибутов

Пользователь может получать доступ к атрибутам, используя средства, предоставленные для этих целей файловой системой. Обычно разрешается читать значения любых атрибутов, а изменять — только некоторые. Например, пользователь может изменить права доступа к файлу (при условии, что он обладает необходимыми для этого полномочиями), но изменять дату создания или текущий размер файла ему не разрешается. Значения атрибутов файлов могут непосредственно содержаться в каталогах, как это сделано в файловой системе MS DOS (см. рисунок 1). На рисунке представлена структура записи в каталоге, содержащая простое символьное имя и атрибуты файла. Здесь буквами обозначены признаки файла: R — только для чтения, А — архивный, Н — скрытый, S — системный.


Способ размещения атрибутов UNIX

Другим вариантом является размещение атрибутов в специальных таблицах, когда в каталогах содержатся только ссылки на эти таблицы. Такой подход реализован, например, в файловой системе ufs ОС UNIX. В этой файловой системе структура каталога очень простая. Запись о каждом файле содержит короткое символьное имя файла и указатель на индексный дескриптор файла, так называется в ufs таблица, в которой сосредоточены значения атрибутов файла.В том и другом вариантах каталоги обеспечивают связь между именами файлов и собственно файлами. Однако подход, когда имя файла отделено от его атрибутов, делает систему более гибкой. Например, файл может быть легко включен сразу в несколько каталогов. Записи об этом файле в разных каталогах могут содержать разные простые имена, но в поле ссылки будет указан один и тот же номер индексного дескриптора. [Источник 3]

Использование атрибутов файлов

Атрибуты файлов существуют так, что вы или программа, которую вы используете, или даже сама операционная система, могут быть предоставлены или лишены определенных прав на файл или папку. Изучение общих атрибутов файлов может помочь вам понять, почему определенные файлы и папки называются «скрытыми» или «только для чтения», например, и почему взаимодействие с ними настолько отличается от взаимодействия с другими данными. Применение атрибута файла только для чтения к файлу будет препятствовать его редактированию или изменению каким-либо образом, если атрибут не будет отменен, чтобы разрешить доступ на запись. Атрибут «только для чтения» часто используется с системными файлами, которые нельзя изменять, но вы можете сделать то же самое с вашими собственными файлами, которые вам бы хотелось, если бы кто-то с доступом не редактировал.Файлы со скрытым набором атрибутов фактически будут скрыты от обычных представлений, что делает эти файлы очень трудными для случайного удаления, перемещения или изменения. Файл по-прежнему существует, как и любой другой файл, но поскольку атрибут скрытого файла переключается, он не позволяет случайному пользователю взаимодействовать с ним.

Атрибуты файлов и атрибуты папок

Атрибуты можно включать и выключать как для файлов, так и для папок, но последствия этого немного отличаются друг от друга. Когда атрибут файла, такой как скрытый атрибут, переключается на файл , этот единственный файл будет скрыт - ничего другого. Если тот же скрытый атрибут применяется к папке , вам предоставляется больше опций, чем просто скрыть папку: у вас есть возможность применить скрытый атрибут к папке в отдельности или к папке, ее подпапкам и всем ее файлам. Применение атрибута скрытого файла к подпапкам папки и ее файлам означает, что даже после того, как вы откроете папку, все файлы и папки, которые содержатся в ней, также будут скрыты. Первый вариант просто скрыть только папку позволит сделать вложенные папки и файлы видимыми, но просто скрыть основную корневую область папки.

Применение атрибутов файлов

Хотя все доступные атрибуты для файла имеют общие имена, которые вы видели в списках выше, они не все применяются к файлу или папке таким же образом.Небольшой выбор атрибутов можно включить вручную. В Windows вы можете сделать это, щелкнув правой кнопкой мыши или нажав и удерживая файл или папку, а затем включив или отключив атрибут из предоставленного списка.

В Windows больший выбор атрибутов также можно установить с помощью команды , доступной с панели управления . Управление атрибутом с помощью команды позволяет сторонним программам, таким как программное обеспечение резервного копирования , легко редактировать атрибуты файлов.Операционные системы Linux могут использовать команду chattr (Change Attribute) для установки атрибутов файлов, а chflags (Change Flags) используется в Mac OS X. [Источник 4]

Object Id

В данной теме я рассмотрю четыре вида метаданных, которые могут быть прикреплены к файлу или каталогу средствами файловой системы NTFS. Я опишу, в каких целях можно использовать тот или иной тип метаданных, приведу пример его применения в какой-либо технологии Microsoft или стороннем программном обеспечении.

Речь пойдёт о точках повторной обработки (reparse points), идентификаторах объектов (object id) и о других типах данных, которые может содержать файл помимо своего основного содержимого.

Object Id

Идентификатор объекта это 64 байта, которые можно прикрепить к файлу или каталогу. Из них первые 16 байт позволяют однозначно идентифицировать файл в пределах тома и обращаться к нему не по имени, а по идентификатору. Остальные 48 байт могут содержать произвольные данные.

Идентификаторы объектов существуют в NTFS со времён Windows 2000. В самой системе они используются для отслеживания расположения файла, на который ссылается ярлык (.lnk). Допустим, файл, на который ссылается ярлык, был перемещён в пределах тома. При запуске ярлыка он всё равно откроется. Специальная служба Windows в случае, если файл не найден, произведёт попытку открыть файл не по его имени, а по заранее созданному и сохранённому идентификатору. Если файл не был удалён и не покидал пределы тома, он откроется, а ярлык снова будет указывать на файл.

Идентификаторы объектов использовались в технологии iSwift Антивируса Касперского 7-ой версии. Вот как описана эта технология: Технология разработана для файловой системы NTFS. В этой системе каждому объекту присваевается NTFS-индентификатор. Этот индентификатор сравнивается с значениями специальной базы данных iSwift. Если значения базы данных с NTFS-индентификатором не совпадают, то объект проверяется или перепроверяется, если он был изменен.

Впрочем, переизбыток созданных идентификаторов вызывал проблемы со сканированием диска стандартной утилитой проверки chkdsk, она происходила слишком долго. В следующих версиях Антивируса Касперского отказались от использования NTFS Object Id.

Reparse Point

Символьная ссылка изнутри

В файловой системе NTFS файл или каталог может содержать в себе reparse point, что переводится на русский язык как «точка повторной обработки». В файл или каталог добавляются специальные данные, файл перестаёт быть обычным файлом и обработать его может только специальный драйвер фильтра файловой системы.

В Windows присутствуют типы reparse point, которые могут быть обработаны самой системой. Например, через точки повторной обработки в Windows реализуются символьные ссылки (symlink) и соединения (junction point), а также точки монтирования томов в каталог (mount points).
Reparse-буфер, присоединяемый к файлу это буфер, имеющий максимальный размер 16 килобайт. Он характеризуется наличием тега, который говорит системе о том, к какому типу принадлежит точка повторной обработки. При использовании reparse-буфера собственного типа ещё необходимо задавать в нём GUID в специальном поле, а в reparse-буферах Microsoft он может отсутствовать.

Какие типы точек повторной обработки существуют? Перечислю технологии, в которых используются reparse point'ы. Это Single Instance Storage (SIS) и Cluster Shared Volumes в Windows Storage Server 2008 R2, Hierarchical Storage Management, Distributed File System (DFS), Windows Home Server Drive Extender. Это технологии Microsoft, здесь не упомянуты технологии сторонних компаний, использующие точки повторной обработки, хотя такие тоже есть.

Extended Attributes

Расширенные атрибуты файла. Про них был мой предыдущий топик. Здесь стоит упомянуть только то, что под Windows эта технология практически не применяется. Из известного мне программного обеспечения только Cygwin использует расширенные атрибуты для хранения POSIX прав доступа. У одного файла на NTFS могут быть или расширенные атрибуты, или буфер точки повторной обработки. Одновременная установка и того и другого невозможна. Максимальный размер всех расширенных атрибутов у одного файла составляет 64 Кб.

Alternate Data Streams

Дополнительные файловые потоки. Про них знает уже, наверное, каждый. Перечислю основные признаки этого вида метаданных: именованность (то есть у файла может быть несколько потоков, и у каждого своё имя), прямой доступ из файловой системы (их можно открывать, используя формат «имя файла, двоеточие, имя потока»), неограниченный размер, возможность запуска процесса прямо из потока (и возможность реализовать через это бесфайловый процесс).

Так пользователю даётся дополнительная защита от необдуманного запуска программ, полученных из интернета. Это лишь одно применение потоков, а так в них можно хранить самые разные данные. Упомянутый Антивирус Касперского хранил там контрольные суммы каждого файла, но позже от этой технологии тоже по какой-то причине отказались.

Что-нибудь ещё?

Есть ещё идентификатор безопасности, плюс стандартные атрибуты файла, к которым нет прямого доступа, несмотря на то, что они тоже реализованы как потоки файлов. И они, и расширенные атрибуты, и reparse и object id — всё это потоки файла с точки зрения системы. Напрямую изменять идентификатор безопасности, показанный на следующей картинке как ::$SECURITY_DESCRIPTOR смысла нет, пусть его изменением занимается система. К другим типам потоков сама система не даёт прямого доступа. Так что на этом всё.

Просмотр содержимого object id, точек повторной обработки, а также работа с расширенными атрибутами и альтернативными файловыми потоками возможна с помощью программы NTFS Stream Explorer, а также через системную консольную утилиту fsutil.

Что такое атрибут файла? Атрибут — это, в общем случае, некая метка (или флаг) которая сообщает операционной системе о существовании особых правил для работы с конкретным файлом. Лично для меня этой информации было недостаточно, так как она не отвечала на следующие вопросы:

  • Где хранятся атрибуты?
  • Как их увидеть или изменить?
  • Какие бывают атрибуты?
  • Как я могу применять их?

Хочу сразу отметить, что в подавляющем большинстве случаев вам вообще не придется с ними работать, но знать о том, что они есть нужно.

Где хранятся атрибуты файлов?

В процессе поиска ответа для себя мне пришлось разобраться с путаницей понятий, а так же с недостатком подробно разобранной информации на русском языке. От обоих этих недостатков я попытаюсь избавить свою заметку. Итак, место хранения атрибутов в частном случае зависит от реализации конкретной файловой системы. Я буду рассматривать в качестве примера файловую систему Ext4 в силу ее популярности в ОС Linux.

Как и во многих других файловых системах семейства UNIX\*Nix в Ext4 есть понятие inode (айнод). Изначальное название — index node — индексная точка/вершина (мне кажется, что это название лучше отображает суть). Inode — это специальная структура данных в файловой системе, которая хранит метаинформацию об объектах файловой системы — стандартных файлах, каталогах и т.д. Айноды хранятся в таблице айнодов, для которой файловая система выделяет необходимое количество блоков. (детальнее — смотри расположение блоков ext4). Под метаинформацией подразумевают отметки времени доступа, флаги, расширенные атрибуты, карты блоков данных и др. В официальной документации по ext4 те атрибуты, о которых идет речь в этой заметке, называются флагами (flags). Не путайте с расширенными атрибутами (extended attributes) — это несколько иная сущность, о которой я попытаюсь рассказать в следующей записи(это как раз та путаница). Так вот — атрибуты файла хранятся внутри айнода.

Чтоб более детально разобраться, что такое и из чего состоит айнод, какую информацию он хранит — настойчиво рекомендую прочитать Ext4 Disc Layout -официальная wiki Ext4 (для ленивых прямая ссылка на таблицу структуры inode )

Какие бывают атрибуты (флаги)?

Если обратится к man chattr то можно увидеть почти полный список атрибутов (флагов). Ниже я приведу список наиболее часто используемых атрибутов (флагов) и постараюсь вкратце описать зачем они могут понадобиться.

  • A — не обновлять время доступа к объекту. Теоретически установка этого атрибута должна повысить производительность файловой системы при работе с файлом (если не используются опции монтирования noatime, nodiaratime )
  • а — указывает, что в файл можно добавлять информацию, но нельзя удалять. Может быть установлен только суперпользователем.
  • d — указывает на то, что не нужно делать резервные копии файла. Файл будет проигнорирован командой dump
  • i — указывает на то, что файл нельзя удалять и модифицировать, так же нельзя создать ссылку на файл. Может быть установлен только суперпользователем
  • s — указывает, что при удалении файла место где был размещен файл будет перезаписано нулями. Для невозможности восстановления после удаления
  • u — указывает на то, что при удалении файла его нужно куда-то сохранить. Наоборот, чтоб гарантировать возможность восстановления после удаления.
  • c — указывает на то, что файл сжат. Перед записью в этот файл ядро сжимает данные, а чтение соответственно возвращает разархивированные данные. Об этом флаге чуть подробнее читай ниже

На самом же деле их даже больше, чем описано в руководстве утилиты chattr. В таблице структуры inode в строке i_flags можно увидеть их все. Да, и не все флаги работают в Ext4, установить их можно, но эффекта не будет (какие именно работают, а какие нет — смотри по той же ссылке выше).

Как увидеть и изменить атрибуты (флаги) файла?

Приступим к практике. Допустим, у нас есть только что созданный файл, скажем attrtest. Чтоб просмотреть его атрибуты необходимо использовать утилиту lsattr (скорее всего она уже у вас есть, так как она входит в набор утилит e2fsprogs, который входит в набор базовой поставки практически всех дистрибутивов)

Данный вывод говорит о том, что у файла нет атрибутов, кроме одного. Атрибут «e» говорит о том, что файл использует экстенты для адресации блоков на диске. Этот атрибут нельзя изменить/убрать. Экстенты это механизм, которым файловая система, с одной стороны, упрощает адресацию блоков, которые занимает файл, и уменьшает фрагментацию файла с другой (подробнее можно почитать тут в пункте 4).

Чтоб установить атрибут (флаг) нужно вызвать утилиту chattr. Добавим флаг «A» к файлу, и снова просмотрим его атрибуты.

Атрибут «i» пользователь самостоятельно установить не сможет, но сможет его увидеть, а удалить файл с таким флагом не сможет даже суперпользователь, если не снимет его предварительно.

И так, смотреть и менять атрибуты можно при помощи lsattr и chattr .

Сжатие данных

Об атрибуте «c» хочется сказать несколько слов отдельно. Теоретически кроме экономии дискового пространства выгодой от использования этого флага может быть и ускорение дисковых операций(зависит от алгоритма сжатия). Данный атрибут, к сожалению, не работает в ext4, так как данная ФС не поддерживает механизм сжатия. Но зато работает в новой файловой системе BTRFS, где на данный момент реализованы целых два алгоритма сжатия — LZO, и ZLIB. Как раз с алгоритмом LZO разработчикам удалось добиться увеличения производительности дисковых операций за счет того, что файлы стали занимать меньше места, соответственно времени на их запись и считывание нужно меньше, а операции сжатия и распаковки занимают совсем немного процессорного времени. (Если интересно — первоисточник читайте тут). К сожалению, от выборочного использования этого флага эффекта будет немного — так же как и с атрибутом «A» — для достижения максимального эффекта лучше будет использовать опцию монтирования, чтоб поведение опции было глобальным для всех файлов.

Напоследок хочется еще раз акцентировать внимание на то, что атрибуты, то есть флаги, о которых шла речь в данной заметке не являются расширенными атрибутами файлов (extended attributes). Так же не стоит привязывать атрибуты только к файловой системе ext4 — атрибуты у файлов поддерживаются во многих файловых системах, хоть и наборы поддерживаемых атрибутов разнятся. Даже в FAT16 были атрибуты файлов.

Так же для тех, кому стало интересно про айноды и экстенты — рекомендую почитать отличную статью, где автор открывает айноду в HEX-редакторе и на примере различных манипуляций с файлом показывает поведение экстентов.

Всем привет. Это очередная статья от К76 , где я покажу вам некоторые свойства windows , быть может вам знакомые, но с интересной и малоиспользуемой пользователями (дома или на работе) точки зрения. С помощью нехитрых функций я покажу вам, как иметь на общем компьютере или ноутбуке известные только вам секреты или с лёгкостью раскрывать чужие.

Как работать с файловыми атрибутами ?

В windows пользователю доступны только четыре вида атрибутов, но система видит больше:

атрибуты windows

Как изменять файловые атрибуты с помощью attrib.exe?

Атрибуты можно устанавливать (+) или снимать (-). Чтобы атрибуты увидеть, нам придётся кликнуть по папке правой мышкой и выбрать Свойства.

атрибуты

Если вы желаете познакомиться с синтаксисом команд, можно набрать в консоли команд (cmd с правами админа) команду attrib /? и после нажатия клавиши ввода присмотритесь к экрану:

сменить атрибуты в cmd

Вы увидите описанные выше мною команды по работе с атрибутами и последовательное написание синтаксиса для изменения атрибутов. Тоже самое можно проделывать прямо из-под проводника windows. Но мы же не ищем лёгких путей?

Зачем, спросите вы?

Кто заинтригован, читаем дальше.

Давайте спрячем папку. Создайте новую папку на Рабочем столе и для облегчения задачи присвойте новое имя покороче, например, 1.

новая папка

Чтобы изменить атрибуты через консоль, нужно:

спрятать папку

Создадим список спрятанных файлов и директорий.

В текстовом файле немедленно сформируется список скрытых файлов и папок локального диска С. Не все они представляют интерес для пронырливого папы, однако к некоторым файлам, быть может, стоит присмотреться?

Я не хочу видеть 50 лишних папок и файлов в корне профиля и диска, поэтому отображение скрытых и системных файлов у меня отключено. А вам не мешают папки типа Documents and Settings или файл desktop.ini на рабочем столе? Сегодня мы поговорим об отображении файлов и папок, их атрибутах и ссылках файловой системы.

Когда-то у меня было включено отображение скрытых и системных файлов. Мне казалось, что так я лучше контролирую происходящее в системе. Но начиная с Windows Vista, на диске появилось слишком много лишних объектов, и я отображаю только те, что мне могут быть нужны.

Скрытые и системные файлы

На рисунке вы видите корень моего системного диска. Слева отображение скрытых и системных файлов включено, а справа – выключено. Почувствуйте разницу!

[+] Сегодня в программе

Как настроить отображение скрытых и системных файлов

Я уверен, что большинство читателей знает, где все настраивается, поэтому буду краток.

Начиная с Windows 8, можно переключать отображение скрытых файлов на вкладке Вид ленты проводника.


Скрытые и системные файлы

В Total Commander: Конфигурация – Настройка – Экран:

Скрытые и системные файлы

Занятно, что в TC у флажка такое название, что не поставить его – значит, себя не уважать :)

Как я сказал выше, в проводнике у меня отключен показ скрытых и системных файлов. Когда они мне нужны, я переключаю вид проводника одним щелчком мыши. Как я заметил выше, в новых ОС нужная опция есть на ленте Проводника, и я добавил ее в панель быстрого запуска. А в Windows 7 это делается из контекстного меню.

Скрытые и системные файлы

Эта команда вызывает скрипт VBS, который делает всю работу – изменяет параметры реестра и обновляет текущее окно проводника. Кстати, похожий скрипт уже появлялся в комментариях блога.

Мой REG-файл добавляет запуск скрипта из контекстного меню папки и ее фона (пункт отображается при вызове меню с нажатой клавишей Shift ).

Предполагается, что вы скопировали скрипт в папку System32 (конечно, можно указать свой путь к скрипту). Можете просто скачать архив с готовыми файлами.

*

В чем разница между скрытыми и системными файлами

В корне моего профиля программы GIMP и VirtualBox создали четыре служебные папки. Я никогда не захожу в них, поэтому сделал их скрытыми, чтобы не мешали.

Скрытые и системные файлы

Достаточно выделить файлы или папки, и в свойствах установить атрибут «Скрытый».

Скрытые и системные файлы

Раз уж речь зашла об атрибутах, предлагаю остановиться на них подробнее. Тем более, что это пригодится позже.

Атрибуты файлов и папок

Как видно на рисунке выше, в свойствах файлов и папок отображаются только два атрибута – «Скрытый» и «Только чтение».

Как посмотреть атрибуты

Все атрибуты можно увидеть, добавив в файловом менеджере столбец «Атрибуты».

Скрытые и системные файлы

Каждой букве соответствует атрибут:

Кроме того, папки обозначаются буквой D (Directory), а ссылки – буквой L (Link). К ссылкам мы еще обязательно вернемся.

Как изменить атрибуты

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

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

Скрытые и системные файлы

Я задал атрибуты файла так:

Чтобы установить атрибут, перед ним нужно поставить плюс, а чтобы снять – минус. В одной команде можно сразу указать несколько атрибутов.

Почему у папок флажок «Только для чтения» имеет три состояния

Если вы посмотрите свойства любой папки, то увидите, что флажок «Только для чтения» не установлен, а заполнен голубым цветом.

Скрытые и системные файлы

Начиная с Windows Vista, флажок «Только для чтения» всегда имеет такой вид.

  • установите флажок, все файлы внутри папки станут только для чтения, т.е. их невозможно будет изменить
  • снимете флажок, все файлы лишатся этого атрибута

Эти действия эквиваленты команде

где ключ /S обеспечивает обработку файлов во вложенных папках.

Однако его можно задать исключительно для папки все той же командой attrib

Это никак не повлияет на возможность переименования, удаления папки или записи в нее, потому что Windows игнорирует атрибут в этих случаях.

Например, это папки:

Надеюсь, тема атрибутов раскрыта, и самое время перейти к вопросу, который я уже пять лет вижу в форумах клиентских операционных систем.

Как получить доступ к папке “Documents and Settings” в корне диска и похожим папкам в профиле

Вообще, правильнее интересоваться, для чего нужны эти папки. Тогда сразу отпадет вопрос о том, как в них попасть.

Скрытые и системные файлы

Совместимость программ

Теперь представьте, что некая старая программа не знает об этом изменении и пытается сохранить данные в профиле пользователя старым добрым способом.

Давайте посмотрим, как это работает на практике. Откройте командую строку и попробуйте создать текстовый файл на рабочем столе, будто работая в XP.

Хотя вы не могли попасть в папку Documents and Settings, перенаправление сработало, и файл создался на рабочем столе.

Аналогичную роль играют и многочисленные папки в корне пользовательского профиля (Cookies, Start Menu и т.д.). Они обеспечивают перенаправление данных в имеющиеся пользовательские папки.

Несуществующие папки

Всех этих папок на самом деле не существует. Это просто ссылки, что видно в столбце «Атрибуты».

Скрытые и системные файлы

Выделенные буквы D и L означают папка (Directory) и ссылка (Link). Получается некая папка-ссылка.

Куда ведут эти ссылки? Вообще, в проводнике можно добавить столбец «Цель ссылки», но в данном случае он бесполезен, потому что показывает цель только для символических ссылок. Впрочем, старая добрая команда dir нам все покажет:

Первая команда переходит в профиль, а вторая – отображает системные папки (sd), т.е. команда dir оперирует уже знакомыми вам атрибутами.

Во-первых, стало понятно, куда ведут ссылки. Во-вторых, на сцену вышло слово JUNCTION в качестве типа папки.

Соединения (junctions)

Системные соединения присутствуют в установочном WIM-образе Windows сразу. Помимо Documents and Settings в корне диска, это папки в корне %SystemDrive%\Users:

  • All Users перенаправляет в папку %SystemDrive%\ProgramData, о которой мы еще поговорим
  • Public (общие файлы пользователей) и Default (профиль стандартного пользователя) содержат соединяющие ссылки внутри папок

Пользовательские соединения появляются в профиле динамически при создании учетной записи.

Вы можете создать соединения самостоятельно командой mklink. Для эксперимента сначала создайте в корне диска папку test, а затем в командной строке выполните:

Будет создано соединение с именем junction, которое ведет в папку test.

Я уже рассказывал о практическом применении команды mklink на примере создания символической ссылки. Ее можно создать на файл, а также использовать пути UNC – в этом и заключаются основные отличия символической ссылки от соединения.

Что хранится в папке ProgramData

В корне диска есть папка ProgramData, где хранятся данные программ, которые предназначены для всех пользователей системы. Фактически – это замена папки All Users в Windows XP.

Папка ProgramData интересна тем, что служит не только в качестве ловушки для перенаправленных данных, но и сама передает их в другие расположения.

Скрытые и системные файлы

Представьте, что вы установили программу для всех пользователей. У каждого из них на рабочем столе и в меню «Пуск» оказался ярлык программы. В Windows XP это достигалось путем создания ярлыков в папках %AllUsersProfile%\Desktop и %AllUsersProfile%\Start Menu.

Давайте попробуем создать файл на рабочем столе у всех пользователей этим способом.

Недавно на форуме был задан вопрос о подпапке Application Data. Участника смутило, что эта ссылка ведет обратно в корень папки ProgramData.

Неподготовленному человеку это может взорвать мозг :) Но вы-то уже знаете, что данные перенаправляются абсолютно верно – в папку, где теперь хранятся данные программ для всех пользователей.

Опрос

Итак, давайте подведем итог. Мы выяснили, что:

  • в корне диска и профиля находится около 50 служебных файлов и папок
  • служебные папки перенаправляют данные в другие расположения с помощью соединений файловой системы, обеспечивая совместимость со старыми программами
  • когда отображение скрытых и системных файлов включено, становится труднее найти действительно нужные файлы, что замедляет навигацию
  • при необходимости можно одним щелчком мыши переключить отображение скрытых и системных файлов

У меня навигация в проводнике происходит быстрее, когда отображение служебных файлов отключено. Я также намеренно скрываю некоторые папки, с которыми не работаю. А как с этим обстоят дела у вас?

У читателей, которые постоянно держат перед глазами скрытые и системные файлы, я очень хочу узнать: зачем вам это нужно?

Наконец, если вы используете соединения или символические ссылки, поделитесь опытом в комментариях!

Результаты голосования утеряны в связи с прекращением работы веб-сервиса опросов.

Вадим - владелец этого блога, и почти все записи здесь вышли из-под его пера. Подробности о блоге и авторе здесь. Поддержать автора вы можете тут.

Вас также может заинтересовать:

Подпишитесь на канал и читайте интересные записи чаще! Есть вопросы? Задайте их в чате.

комментариев 96

Годится! Согласны? +24

>> У читателей, которые постоянно держат перед глазами скрытые и системные файлы, я очень хочу узнать: зачем вам это нужно?

Годится! Согласны? +23 Годится! Согласны? +17

okshef, думаю, что вторым файловым менеджером у тебя является TC, причем запускаешь ты его сразу с правами администратора. Они ведь все равно понадобятся, если работать с системными файлами.

vladsyss, спасибо за объяснения. У меня есть два встречных вопроса:

1. С каких пор анализ содержимого флэшки на предмет вирусов стал осуществляться путем визуального осмотра файлов вместо проверки антивирусом?

2. Какой процент времени вы проводите за изучением флэшек и изменении атрибутов их папок относительно общего времени работы в файловом менеджере? Другими словами, вам что, по 25 флэшек в день приносят?

Ваша оценка: -1 Ваша оценка: +1 Годится! Согласны? +14 Годится! Согласны? +17

Думаю, это следствие того, что ты голосовал в прошлом опросе (мой косяк). Попробуй сейчас.

okshef, а какие атрибуты имеют файлы, которые не видны в проводнике, когда включено отображение скрытых и системных файлов?

Мне странно слышать от человека, прошедшего обучение по спец. методикам, что он полагается целиком на визуальный анализ. Если это банальный авторан, достаточно удалить autorun.inf :)

Ваша оценка: 0 Годится! Согласны? +11

В Проводнике у меня отображение выключено, а в Total Commander/Far – включено.

Годится! Согласны? +4 Ваша оценка: +3

Vadim Sterkin

в проводнике у меня отключен показ скрытых и системных файлов. Когда они мне нужны, я переключаю вид проводника одним щелчком мыши из контекстного меню.

Ваша оценка: -1

Андрей, спасибо, что озвучили название кнопки в TC! Я, конечно, знал о ней, но мне очень хотелось, чтобы это сделал кто-то из читателей. В обсуждении TC (да и здесь тоже) она упоминалась, но до сих пор никто не озаботился подсказать всем читателям название.

Даниил, а какие системные файлы вы ковыряете, если не секрет? У меня практически не возникает необходимости.

dabro, я рад, что принес вам добро :)

Ваша оценка: -1

мне нравится клавиатурная навигация на обоих панелях Total и работа с горячими клавишами

работаю Инженером в Компьютерном магазине
жизнь без Total Commander представить не могу, наверно в моей жизни из всего компьютерного софта Total Commander занимает верхнюю позицию, даже опережая Opera

Ваша оценка: +1

ссылка — вот эта кнопка в тоталкоммандере.

Ваша оценка: +2

Сейчас уже всё хорошо, работает как надо и в Хроме :)
Спасибо!

Ваша оценка: 0

equinox, спасибо за иллюстрацию волшебной кнопки :)

Ваша оценка: +2

В проводнике отображение скрытых и системных файлов отключено. При необходимости в настройках включаю.
Альтернативные файловые менеджеры не использую.

Ваша оценка: 0 Годится! Согласны? +4

Я, например, смотрю, когда кому-нибудь скидываю проект, чтобы в архив не попадали лишние файлы, типа .svn, .hg, .build, .settings и прочие, которые создают IDE и системы контроля версий.

Годится! Согласны? +4

vadymg, ожидалось :)

Ваша оценка: +1 Ваша оценка: +2 Ваша оценка: +3

Все включено на всякий случай.. В системный раздел я лезу крайне редко и мне по барабану сколько там отображается папок и файлов 5 или 50. Бывает приносят флешки со скрытыми папками. Я их сразу вижу, а так бы пришлось соображать а есть ли они на самом деле и потом делать лишние телодвижения для включения отображения скрытых файлов и папок. А после просмотра мне что снова отключать эту функцию?

Ваша оценка: +2

всегда сколько себя помню использовал сторонние файловые менеджеры это еще с dos пошло, но я приучился нажатием 1 кнопки в ТС скрывать или отображать скрытые папки. Проводником стандартным завязал пользоваться еще с 95 win, уж очень он не удобный по сравнению с 2х панельными файловыми менеджерами и скорость копирования у проводника оставляет желать лучшего. Даже сейчас лучше буду использовать far под win нежели проводник или мой компьютер.

Ваша оценка: 0 Ваша оценка: 0

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

YaNkEE, если autorun.inf такая проблема, пишется батник в одну строку для его удаления со всех дисков :)

Ваша оценка: 0

YaNkEE: А антивир не реагировал, т.к. при установке запускалось еще несколько приложений автонастройки. На отсылки он не реагировал, т.к. через программу было много отсылок. »

Плохой антивирус. Нормальный застопорит всех до окончания проверки, ибо нечего запускаться непроверенному коду.

Ваша оценка: +3

и как вы это сделали?

Ваша оценка: 0

animert: и как вы это сделали? »

Ваша оценка: 0

Включено отображение всего. Привычка, может быть дурная, но так уж сложилось и менять ничего не хочу. Эти файлы и папки в Проводнике мне не мешают, я их просто не замечаю до нужного момента. Что касается Рабочего стола, то очень давно пользуюсь Астоном первой версии и стол почти пуст- все сведено в несколько кнопок с выпадающими меню и доступ к ежечасно- ежедневно нужным программам- файлам практически мгновенный. Кстати, именно эта оболочка приучила к соблюдению и поддержанию порядка не только на Рабочем столе, но и на всей машине.

Ваша оценка: 0 Ваша оценка: +3

Вот пример символической ссылки и соединения, созданных командной mklink.


А вот что касается

vladsyss: Отмонтировав флешку, возвращаю ее пользователю со словами – я там вирусы удалил, будьте аккуратней. »

Ваша оценка: 0 Ваша оценка: +1

maxx: есть ли файловые менеджеры/плагины к ним/ для просмотра потоков NTFS? »

Ваша оценка: +1

В Семёрке, может, так, а вот в ХР этого нет. И Link Shell Extension показывает стрелки ко всем ссылкам. Хотя может я что- то не так делаю, но в Windows 7 до установки Link Shell Extension не было стрелок на файлах в system32, а после установки появились, притом они настраиваются в программе.

Ваша оценка: 0 Ваша оценка: 0

С каких пор анализ содержимого флэшки на предмет вирусов стал осуществляться путем визуального осмотра файлов вместо проверки антивирусом?

Ваша оценка: +1

Вообще, в system32 нет файлов, с которыми я веду повседневную работу. Поэтому мне параллельно, есть там стрелки или нет. А вам зачем?

Ваша оценка: -1

Читайте также: