Какими свойствами обладает файл
У этого термина существуют и другие значения, см. Файл (значения).
Файл (англ. file) — именованная область данных на носителе информации.
Работа с файлами реализуется средствами операционных систем. Многие операционные системы приравнивают к файлам и обрабатывают сходным образом и другие ресурсы:
- области данных (необязательно на диске);
- устройства — как физические, например, порты или принтеры, так и виртуальные (/dev/null, /dev/random, /dev/urandom);
- потоки данных (именованный канал);
- сетевые ресурсы, сокеты;
- прочие объекты операционной системы.
История[править | править код]
Слово file впервые применено к компьютерному хранилищу в 1950 году. Реклама памяти на запоминающих ЭЛТ фирмы RCA в журнале «Popular Science»[1] гласила:
В 1952 году слово file отнесли к колоде перфокарт.[2] Поначалу словом file называли само устройство памяти, а не его содержимое (см. Регистровый файл). Например, диски IBM 350, использовавшиеся, например, в машине IBM 305, назывались disk files.[3] Системы наподобие Compatible Time-Sharing System ввели концепцию файловой системы, когда на одном запоминающем устройстве существует несколько виртуальных «устройств памяти», что и дало слову «файл» современное значение. Имена файлов в CTTS состояли из двух частей, «основного имени» и «дополнительного имени» (последнее существует и поныне как расширение имени файла).[4][5]
Файловая система[править | править код]
По мере развития вычислительной техники, файлов в системах становилось всё больше. Для удобства работы с ними, их, как и другие данные, стали организовывать в структуры (тогда же появились символьные имена). Вначале это был простой массив, «привязанный» к конкретному носителю информации. В настоящее время наибольшее распространение получила древовидная организация с возможностью монтирования и вставки дополнительных связей (то есть ссылок). Соответственно, имя файла приобрело характер пути к файлу: перечисление узлов дерева файловой системы, которые нужно пройти, чтобы до него добраться.
Файл как объект API операционной системы[править | править код]
Операционная система предоставляет приложениям набор функций и структур для работы с файлами. Возможности операционной системы накладывают дополнительные ограничения на ограничения файловой системы. С точки зрения API файл — объект, по отношению к которому могут быть применены функции этого API. На уровне API уже не существенно, существует ли файл как объект файловой системы или является, например, устройством ввода-вывода.
Свойства файла[править | править код]
В зависимости от файловой системы, файл может обладать различным набором свойств.
Имя файла[править | править код]
В большинстве файловых систем имя файла используется для указания, к какому именно файлу производится обращение. В различных файловых системах ограничения на имя файла сильно различаются: в FAT16 и FAT12 размер имени файла ограничен 8.3 знаками (8 на имя и 3 на расширение); в других системах имя файла ограничено обычно в 255 байт; в NTFS имя ограничено в некоторых ОС 256 символами Unicode 1 (по спецификации — 32 768 символов).
Помимо ограничений файловой системы, интерфейсы операционной системы дополнительно ограничивают набор символов, который допустим при работе с файлами.
- Для MS-DOS в имени файла допустимы только заглавные латинские буквы, цифры. Недопустимы пробел, знак вопроса, звёздочка, символы больше и меньше, символ вертикальной черты.[6] При вызове системных функций имена файлов в нижнем или смешанном регистре приводятся к верхнему регистру.
- Для Windows в имени файла разрешены заглавные и строчные буквы, цифры, некоторые знаки препинания, пробел. Запрещены символы >, <, |, ?, *, /, , :, «.
- Для GNU/Linux (с учётом возможности маскировки) разрешены все символы, кроме / и нуль-символа.
Большинство операционных систем требуют уникальности имени файла в одном каталоге, хотя некоторые системы допускают файлы с одинаковыми именами (например, при работе с ленточными накопителями).
В некоторых файловых системах можно создавать и использовать файлы без имени. Такие файлы всегда являются временными. Их основные преимущества: при создании не может возникнуть конфликта имён и их нельзя найти в их каталоге по имени. В остальном это полноценные файлы.
Расширение имени файла[править | править код]
Расширение имени файла (часто: расширение файла или расширение) как самостоятельный атрибут файла существует в файловых системах FAT16, FAT32, NTFS, используемых операционными системами MS-DOS, DR-DOS, PC DOS, MS Windows и используется для определения типа файла. Оно позволяет системе определить, каким приложением следует открывать данный файл. По умолчанию в операционной системе Windows расширение скрыто от пользователя.
В остальных файловых системах расширение — условность, часть имени, отделённая самой правой точкой в имени (суффикс).
Основные атрибуты[править | править код]
В некоторых файловых системах, таких как NTFS, предусмотрены атрибуты (обычно это бинарное значение «да»/«нет», кодируемое одним битом). Во многих современных операционных системах атрибуты практически не влияют на возможность доступа к файлам, для этого в некоторых операционных и файловых системах существуют права доступа.
Название атрибута | Перевод | Значение | Файловые системы | Операционные системы |
---|---|---|---|---|
Read only | только для чтения | файл запрещено редактировать | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2, Windows |
System | системный | критический для работы операционной системы файл | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2, Windows |
Hidden | скрытый | файл скрывается от показа, пока явно не указано обратное | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2, Windows |
Archive | архивный (требующий архивации) | файл изменён после резервного копирования или не был скопирован программами резервного копирования; при изменении файла ОС автоматически устанавливает этот атрибут | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2, Windows |
SUID | Установка пользовательского ID | выполнение программы от имени владельца | ext2 | Unix-like |
SGID | Установка группового ID | выполнение программы от имени группы (для каталогов: любой файл созданный в каталоге с установленным SGID, получит заданную группу-владельца) | ext2 | Unix-like |
Sticky Bit | липкий бит | изначально предписывал ядру не выгружать завершившуюся программу из памяти сразу, а лишь спустя некоторое время, чтобы избежать постоянной загрузки с диска наиболее часто используемых программ, в настоящее время в разных ОС используется по-разному | ext2 | Unix-like |
Время[править | править код]
Для файла могут быть определены временные метки создания, последней модификации, последнего доступа и другие.
Владелец и группа файла[править | править код]
В некоторых файловых системах предусмотрено указание на владельца файла и группу-владельца.
Права доступа[править | править код]
В некоторых файловых системах предусмотрена возможность для ограничения доступа пользователей к содержимому файла. В UNIX-подобных операционных системах для файлов ранее обычно выделяли три типа прав: на запись, чтение и выполнение. Каждое право задаётся раздельно для владельца, для группы и для всех остальных. ACL позволяет использовать более детальное разделение и прав, и пользователей.
В операционных системах Windows NT при работе с файловой системой NTFS права доступа задаются явно для пользователей или групп или наследуются от вышестоящих объектов. Права в себя включают право на чтение, запись, исполнение, удаление, смену атрибутов и владельца, создание и удаление подпапок (для папок) и чтение прав доступа и другие как в POSIX. Каждое право может быть задано как разрешением, так и запретом. Запрет имеет больший приоритет, чем разрешение в отличие от POSIX.
Операции с файлом[править | править код]
Условно можно выделить два типа операций с файлом — связанные с его открытием и выполняющиеся без его открытия. Операции первого типа обычно служат для чтения и записи информации или подготовки к чтению или записи. Операции второго типа выполняются с файлом как с «объектом» файловой системы, в котором файл является наименьшим элементом структурирования.
Операции, связанные с открытием файла[править | править код]
В зависимости от операционной системы те или иные операции могут отсутствовать.
Обычно выделяют дополнительные сущности, связанные с работой с файлом:
- Дескриптор файла (хэндлер, описатель). При открытии файла (в случае, если это возможно), операционная система возвращает число (или указатель на структуру), с помощью которого выполняются все остальные файловые операции. По их завершении файл закрывается, а хэндлер теряет смысл.
- Файловый указатель. Число, являющееся смещением относительно нулевого байта в файле. Обычно по этому адресу осуществляется чтение/запись, в случае, если вызов операции чтения или записи не предусматривает указание адреса. При выполнении операций чтения или записи файловый указатель увеличивается на число прочитанных или записанных байт. Последовательный вызов операций чтения таким образом позволяет прочитать весь файл последовательно, не заботясь о позиционировании.
- Файловый буфер. Операционная система или библиотека языка программирования осуществляет кэширование файловых операций в специальном буфере (участке памяти). При закрытии файла буфер сбрасывается.
- Режим доступа. В зависимости от потребностей программы, файл может быть открыт на чтение или запись. Кроме того, некоторые операционные системы и библиотеки предусматривают режим работы с текстовыми файлами. Режим обычно указывается при открытии файла.
- Режим общего доступа. В случае многозадачной операционной системы возможна ситуация, когда несколько программ одновременно хотят открыть файл на чтение или запись. Для регулирования этого существуют режимы общего доступа, указывающие на возможность осуществления совместного доступа к файлу (например, файл, в который производится запись, может быть открыт для чтения другими программами — это стандартный режим работы с файлами регистрации).
Операции
- Открытие файла (обычно в качестве параметров передается имя файла, режим доступа и режим совместного доступа, а в качестве результата выступает файловый дескриптор), кроме того обычно имеется возможность в случае открытия на запись указать на то, должен ли размер файла изменяться на нулевой.
- Закрытие файла. В качестве аргумента выступает значение, полученное при открытии файла. При закрытии все файловые буферы сбрасываются.
- Запись — в файл помещаются данные.
- Чтение — данные из файла помещаются в область памяти.
- Перемещение указателя — указатель перемещается на указанное число байт вперёд или назад или перемещается по указанному смещению относительно начала или конца. Не все файлы позволяют выполнение этой операции (например, файл на ленточном накопителе может не «уметь» перематываться назад).
- Сброс буферов — содержимое файловых буферов с не записанной в файл информацией записывается. Используется обычно для указания на завершение записи логического блока (для сохранения данных в файле на случай сбоя).
- Получение текущего значения файлового указателя.
Операции, не связанные с открытием файла[править | править код]
Операции, не требующие открытия файла, оперируют с его «внешними» признаками — размером, именем, положением в дереве каталогов. При таких операциях невозможно получить доступ к содержимому файла, файл является минимальной единицей деления информации.
Возможные операции с файлами: создание, удаление, переименование, копирование, перенос на другую файловую систему, создание символьной ссылки или жёсткой ссылки, получение и изменение атрибутов.
В зависимости от файловой системы, носителя информации, операционной системы часть операций может быть недоступна.
Типы файлов[править | править код]
По способу организации файлы делятся на файлы с произвольным доступом и файлы с последовательным доступом.
В различных операционных и файловых системах могут быть реализованы различные типы файлов, кроме того, реализация различных типов может различаться.
- «Обыкновенный файл» — файл, позволяющий операции чтения, записи, позиционирования внутри файла, изменения размера, иногда работу с атрибутами.
- Каталог (англ. directory — алфавитный справочник) или директория (также «папка») — файл, содержащий записи о входящих в него файлах. Каталоги могут содержать записи о других каталогах, образуя древовидную структуру, а при наличии ссылок — сетевую структуру.
- Жёсткая ссылка (англ. hardlink, часто используется калька «хардлинк») — в общем случае, одна и та же область информации может иметь несколько имён. Такие имена называют жёсткими ссылками (хардлинками). После создания жёсткой ссылки сказать где «настоящий» файл, а где жёсткая ссылка невозможно, так как имена равноправны. Сама область данных существует до тех пор, пока существует хотя бы одно из имён. Жёсткие ссылки возможны только в пределах одного экземпляра ФС.
- Символьная ссылка (симлинк, софтлинк, символическая ссылка) — файл, содержащий в себе ссылку на имя нужного файла любого типа. Может ссылаться на любой элемент файловой системы, в том числе, и расположенный на другом физическом носителе. В некоторых ФС может ссылаться на несуществующий файл, образовывать циклы, ссылаться на себя.
Особенности реализации[править | править код]
В операционной системе UNIX процессы (обычно находятся в каталоге /proc) и устройства (/dev) представляются в виде файлов особого типа, что позволяет использовать некоторые файловые операции для манипуляции этими объектами.
В некоторых файловых системах (например, в файловой системе OS VAX VMS) файлы имеют версию, что позволяет открывать более старые варианты данного файла. В файловой системе Mac OS (HFS) у файлов есть два «потока»: поток данных (где хранится содержимое файла) и поток ресурсов, хранящий информацию о программе, предназначенной для открывания данного файла и, возможно, некоторую информацию для этой программы. В NTFS файл может содержать, кроме основного, сколько угодно именованных потоков.
Проблема точного определения понятия «файл»[править | править код]
Так как файл в разных операционных системах обладает различным набором атрибутов, свойств и методов доступа, универсального определения, которое бы учитывало все особенности, сформулировано не было[источник не указан 1635 дней].
См. также[править | править код]
Примечания[править | править код]
Каждый файл на компьютере имеет набор своих индивидуальных свойств, которые делают его уникальным. В зависимости от формата файла набор свойств может быть разным: аудио файлы имеют одни свойства, видео – другие, текстовые документы – третье и т.д. В данной статье мы поговорим, как посмотреть свойства файлов, как их изменить или удалить на примере ОС Windows 7, как самой распространенной операционной системе на момент публикации материала.
к оглавлению ↑
Как посмотреть свойства файлов
Чтобы увидеть свойства нужного документа откройте проводник Windows, иконка которого расположена на панели быстрого запуска рабочего стола.
Другой способ открытия проводника – это нажать правой кнопкой мыши на кнопке Пуск и выбрать в контекстном меню «Проводник».
Найдите в проводнике нужный файл, подсветите его кликом левой кнопки и посмотрите его основные свойства на нижней панели проводника или задержав курсор мыши на значке файла до появления всплывающей подсказки со свойствами.
Чтобы посмотреть все имеющиеся свойства выбранного документа щелкните по значку нужного файла правой кнопкой мыши для вызова меню, где необходимо выбрать внизу пункт «Свойства» для открытия окна свойств.
к оглавлению ↑
Окно свойств файла
После открытия окна мы можем наблюдать ряд параметров, расположенных во вкладке «Общие». Рассмотрим на примере документа формата pdf.
- Тип файла и его расширение. Здесь мы видим, что это документ формата pdf.
- Приложение. Указывается программа, которая используется по умолчанию для обработки данного файла на текущем компьютере, т.е. та программа, которая откроется и загрузит документ при двойном щелчке по этому файлу. В данном случае – это программа для чтения pdf документов — Foxit Reader. Чтобы изменить программу для открытия файла по умолчанию, нужно нажать кнопку «Изменить» и выбрать необходимое приложение в списке.
- Расположение. Здесь находится указание на местоположение файла на локальном диске в виде пути от буквы диска. В нашем случае файл находится в корне диска С.
- Непосредственный размер документа и размер занимаемого им места на диске. Размер занимаемого места на диске будет всегда больше из-за особенностей кластерной системы записи на носитель, когда файл разбивается на мелкие фрагменты, которые записывается в свои кластеры. Каждый кластер имеет определенный размер, и если последний фрагмент файла не будет занимать весь размер кластера, то файловая система диска все равно посчитает его заполненным полностью. Отсюда и возникает разница в размерах самого файла и занимаемого им места.
- Создан. Указана дата создания файла.
- Изменен. Отмечается дата последней модификации файла.
- Открыт. Дата последнего открытия документа.
- Атрибуты «Только чтение» и «Скрытый»
Если установить отметку в поле атрибута «Только чтение», то файл нельзя будет редактировать. Все остальные действия с файлом (переименование, копирование, перемещение) будут доступны.
Если установить отметку в поле атрибута «Скрытый», то значок файла будет скрыт. Его будет нельзя найти в проводнике. Как правило, атрибут «Скрытый» применяется для важных файлов Windows в момент установки системы.
к оглавлению ↑
Как можно изменить свойства файла
Чтобы изменить свойства файла переключитесь на вкладку «Подробно». В зависимости от типа файла здесь могут быть дополнительные поля для внесения изменений. Например, откройте свойства файла для любой выбранной фотографии или картинки, и вы увидите большой набор свойств для данного файла. Значения некоторых полей можно изменить, добавив рейтинг, комментарии, ключевые слова и т.д. там, где это разрешено системой. Например, можно добавить название темы для фотографии, щелкнув по полю «Значение» для свойства «Темы». По окончании изменения щелкните по кнопке «Применить» и «Ок».
Указания значений в подробных свойствах файла, поможет в их поиске и сортировке на компьютере по дополнительным параметрам.
к оглавлению ↑
Как удалить данные в свойствах файла
Некоторые свойства файла можно удалить. Какие именно – зависит от типа файла. Например, в текстовых документах, созданных в программе Microsoft Office, в подробных свойствах «Авторы» можно как указать авторов текста, так и удалить их имена. Допустим, при передаче документа вы не хотите, чтобы кто-то увидел имена работавших над документов. В этом случае можно удалить личные данные. Для этого кликните по ссылке «Удаление свойств и личной информации» внизу окна свойств на вкладке «Подробно»
Выберите в следующем открывшемся окне способ удаления и нажмите «Ок»:
- Создать копию, удалив все возможные свойства.
- Удалить следующие свойства для этого файла.
В случае выбора первого пункта, будет создана копия файла, где значения свойств будут очищены, а к имени документа будет дополнено «Копия». Эту копию можно переслать в другие руки.
При выборе второго пункта, нужно отметить те свойства файла, которые следует удалить или можно отметить все пункты, нажав кнопку «Выделить все». Не забываем кликнуть по кнопке Ок.
Поделиться.