5
ТЕМА «Работа с файлами и папками»
Все программы и данные хранятся в долговременной (внешней) памяти компьютера в виде файлов.
Файл – это определенное количество информации (программа или данные), имеющее имя и хранящееся в долговременной (внешней) памяти компьютера.
Имя файла состоит из двух частей, разделенных точкой: собственно имя файла и его расширение. Расширение файла определяет его тип (программа, данные или др.).
Собственно имя файлу дает пользователь, а тип файла обычно задается программой автоматически при его создании.
Имя файла в Windows может быть достаточно большим, даже очень большим - до 255 знаков. При этом есть ограничения на специальные знаки, - так файл не может быть назван косыми чертами, или обратными косыми чертами, и конечно звездами (знак умножения). При этом Windows вообще не обращает внимание на регистр, а значит не важно как будет называться ваш файл, и сколько заглавных букв вы при этом используете. Однако, если вы попытаетесь открыть названный в разных регистрах файл, и при этом в пути укажете все в прописных буквах, он в любом случае откроется.
Важной особенностью имени файла выступает расширение. Именно расширение дает понять, чем является файл - картинкой, текстом, или мультимедийным объектом. Отсюда следует, что приложения, назначенные приложения для файла, организуются именно исходя из расширения файлов. Для примера, достаточно распространенным расширением файла-изображения выступает *.jpg, и Windows знает, каким приложением воспользоваться, чтобы открыть данный тип файлов (по умолчанию, если нет специально назначенных альтернатив). Для текстовых файлов распространенным расширением выступает *.txt, для документов Microsoft Word - *.doc, и др.
Хочется заметить, что проводник Windows (от версии 7 и выше) по умолчанию не показывает расширения файлов. Они скрыты от пользователей по соображениям безопасности. На самом деле ничего страшного в том, чтобы видеть расширения файлов в системах Windows нет. Просто после того, как вы их откроете, для показа, нужно быть чуточку повнимательней, так как, удалив расширение (часто бывает, когда переименовывается файл), можно потом очень сильно намучится с его восстановлением.
Над файлами могут производиться различные операции:
-
Копирование (копия файла помещается из одного каталога в другой)
-
Перемещение (сам файл перемещается в другой каталог)
-
Удаление (запись о файле удаляется из каталога)
-
Переименование (изменяется имя файла) и т.д.
Типы файлов
В большинстве файловых систем поддерживается семь типов файлов:
1. Обычные файлы;
Это просто последовательность байтов. К обычным файлам возможен как прямой, так и последовательный доступ. Файл можно создать текстовым редактором или перенаправлением вывода, а удалить – командой rm.
2. Каталоги;
Каталоги содержат именованные ссылки на другие файлы. Помимо самих каталогов, также существуют ссылки «.» и «..», которые обозначают текущий и родительский каталог соответственно. Удалить их нельзя. Поскольку у корня нет родителя то ссылка «..» в нем эквивалентна «.». Каталоги создаются командой mkdir, а удаляются командой rm -rf (полные каталоги) или rmdir (пустые каталоги).
3. Файлы байт-ориентированных (символьных) устройств;
Байт-ориентированные устройства, например, принтер и модем, передают данные посимвольно, не как отдельные блоки, а как непрерывный поток байтов. Файлы устройств можно создавать командой mknod, а удалять – командой rm.
4. Файлы блок-ориентированных (блочных) устройств;
Блок-ориентированные устройства, например жесткий диск, передают данные блоками. Файлы устройств можно создавать командой mknod, а удалять – командой rm.
5. Сокеты;
Сокеты инкапсулируют соединения между процессами, позволяя им взаимодействовать, не подвергаясь влиянию других процессов. Сокеты создаются с помощью системного вызова socket. Когда с обеих сторон соединение закрыто, сокет можно удалить командой rm или системным вызовом unlink.
6. Именованные каналы (named pipe);
Подобно сокетам, именованные каналы обеспечивают взаимодействие двух процессов, выполняемых на одном компьютере. Именованные каналы можно создавать командой mknod, а удалять – командой rm.
7. Ссылки.
Символическая, или “мягкая” ссылка обеспечивает возможность вместо путевого имени файла указывать псевдоним. Когда ядро при поиске файла сталкивается с символической ссылкой то оно извлекает из нее путевое имя. Для пользователя такой файл в большинстве ситуаций неотличим от того, на который он ссылается: операции чтения, записи и пр. над символьной ссылкой работают так, как если бы они производились непосредственно над тем файлом, на который указывает ссылка. Другой тип ссылки – “жесткий“. Разница между “мягкими” и “жесткими” ссылками состоит в том, что “жесткая” ссылка является прямой, то есть указывает непосредственно на индексный дескриптор файла в то время как “мягкая” указывает на файл по имени. Жесткие ссылки создаются командой ln, мягкие (символические ссылки) создаются с помощью команды ln -s. Удалить ссылки можно командой unlink или rm.
Атрибуты файлов в системе Windows
Характеристики файла, наделяющие файл определенными свойствами. Для наиболее распространенных в настоящее время файловых систем FAT16, FAT32 и NTFS можно выделить следующие файловые атрибуты:
«Только для чтения» (Read-only) - означает, что файл доступен операционной системе только для чтения, т. е. в него нельзя вносить какие-либо исправления. В большинстве случаев это не означает, что исправления внести вовсе невозможно, просто при попытке изменить файл с данным атрибутом пользователю будет показано соответствующее предупреждение.
«Скрытый» (Hidden) - подразумевается, что файл с данным атрибутом не выводится при показе тех или иных списков файлов. В большинстве программ обработку этого атрибута можно настраивать. Например, стандартный «Проводник» Windows XP позволяет как прятать, так и показывать файлы с атрибутом «скрытый». Во втором случае иконка файла отображается полупрозрачной.
«Системный» (System) - файлы с атрибутом «системный» чаще всего относятся к критичным файлам операционной системы, которые нельзя удалять или изменять. В общем смысле, атрибут «системный» является «утяжеленным» вариантом атрибута «только для чтения», скомбинированным с атрибутом «скрытый». В стандартном «Проводнике» Windows XP атрибут «системный» отрабатывается аналогично атрибуту «скрытый» - подобные файлы по умолчанию спрятаны от пользователя, но можно и разрешить их показ.
«Архивный» (Archive) - в настоящее время по своему прямому назначению данный файловый атрибут FAT практически не используется. Изначально предполагалось, что этот атрибут будет указывать программам архивации файлы, предназначенные для резервного копирования. Другими словами, программа, осуществляющая резервное копирование файла на жестком диске, должна была сбрасывать атрибут «архивный», а программы, вносящие в последующем в этот файл какие-либо изменения, наоборот, вновь его устанавливать. Таким образом, программа резервного копирования путем проверки данного файлового атрибута могла легко определить, изменялся ли данный файл на жестком диске с момента осуществления предыдущего резервного копирования.
Простыми словами атрибуты файла – это параметры, по которым файл отличается от множества других файлов. К атрибутам можно отнести дату и время создания файла, имя файла, имя владельца файла, размер, права и метод доступа к файлу. Атрибуты указывают системе, что можно сделать с данным файлом.
Файловая система.
Файловая система – это система хранения файлов и организация каталогов.
Файловая система - это функциональная часть операционной системы, обеспечивающая выполнение операций над файлами. Файловая система позволяет работать с файлами и директориями (каталогами) независимо от их содержимого, размера, типа и т. д.
Файловая система определяет общую структуру именования, хранения и организации файлов в операционной системе.
Функции файловой системы:
-
Сохранение информации на внешних носителях
-
Чтение информации из файлов
-
Удаление файлов, каталогов
-
Переименование файлов
-
Копирование файлов и др.
Каждый диск разбивается на две области: область хранения файлов и каталог. Каталог содержит имя файла и указание на начало его размещения на диске.
На каждом носителе информации (гибком, жестком или лазерном) может храниться большое количество файлов. Порядок хранения файлов на диске определяется используемой файловой системой.
Каждый диск разбивается на две области: область хранения файлов и каталог. Каталог содержит имя файла и указывает на начало его размещения на диске. Если провести аналогию диска с книгой, то область хранения файлов соответствует её содержанию, а каталог – оглавлению. Причем книга состоит из страниц, а диск – соответственно из секторов.
Операционная система Windows поддерживает несколько файловых систем: NTFS, FAT и FAT32. Но работать может только на NTFS, то есть установлена может быть только на раздел жесткого диска, отформатированного в данной файловой системе. Обусловлено это теми особенностями и инструментами безопасности, которые предусмотрены в NTFS.
Преимущества NTFS касаются практически всего: производительности, надежности и эффективности работы с данными (файлами) на диске. Так, одной из основных целей создания NTFS было обеспечение скоростного выполнения операций над файлами (копирование, чтение, удаление, запись), а также предоставление дополнительных возможностей: сжатие данных, восстановление поврежденных файлов системы на больших дисках и т.д.
Другой основной целью создания NTFS была реализация повышенных требований безопасности. Именно в NTFS вы можете разрешить или запретить доступ к какому-либо файлу или папке (разграничить права доступа).
Сравнительная характеристика файловых систем
Файловая система | Параметры |
Размеры тома | Максимальный размер файла |
FAT | От 1.44 МБ до 4 ГБ | 2ГБ |
FAT32 | Теоретически возможен размер тома от 512 МБ до 2 Тбайт. Сжатие не поддерживается на уровне файловой системы | 4ГБ |
NTFS | Минимальный рекомендуемый размер составляет 1,44 МБ, а максимальный - 2 Тбайт. Поддержка сжатия на уровне файловой системы для файлов, каталогов и томов. | Максимальный размер ограничен лишь размером тома (Теоретически - 264 байт минус 1 килобайт. Практически - 244 байт минус 64 килобайта) |
Уровни файловой системы
Файловая система Windows использует некую иерархию в расположение папок.
Рисунок 1 – Расположение папок в Windows
Для дисков с небольшим количеством файлов (до нескольких десятков) может использоваться одноуровневая файловая система, когда каталог (оглавление диска) представляет собой линейную последовательность имен файлов (таблица 1). Такой каталог можно сравнить с оглавлением детской книжки, которое содержит только названия отдельных рассказов.
Таблица 1. Одноуровневый каталог
Если на диске хранятся сотни и тысячи файлов, то для удобства поиска используется многоуровневая иерархическая файловая система, которая имеет древовидную структуру. Такую иерархическую систему можно сравнить, например, с оглавлением учебника, которое представляет собой последовательную упорядоченную систему разделов, глав, параграфов и пунктов.
Начальный (корневой) каталог содержит вложенные каталоги 1-го уровня, в свою очередь, каждый из последних может содержать вложенные в него каталоги 2-го уровня и так далее. Необходимо заметить, что в каталогах всех уровней могут храниться и файлы вне каталогов (папок).
Рисунок 2. Иерархическая файловая система
Маска файла
Для указания группы файлов из одного каталога можно употреблять символы «*» (любое число любых символов) и «?» (один произвольный символ), например:
• *.txt - все файлы с расширением .txt;
• d*.e* - все файлы с именем, начинающимся на d, и расширением, начинающимся на е;
• а??.* - файлы с именем, начинающимся на букву а длиной не более трех символов.
Путь к файлу.
Пусть в корневом каталоге диска С: имеются два каталога 1-го уровня (GAMES и TEXT), а в каталоге GAMES еще один каталог (2-го уровня) – CHESS. При этом в каталоге TEXT имеется файл proba.txt, а в каталоге CHESS - файл chess.exe (рис.3).
Рисунок 3. Пример иерархической файловой системы
Как найти имеющийся файл (chess.exe) в данной иерархической файловой системе? Для этого необходимо указать путь к файлу. В путь к файлу входят записываемые через разделитель « \ » логическое имя диска и последовательность имен вложенных друг в друга каталогов (папок), в последнем их которых содержится нужный файл. Путь к искомому нами файлу можно записать следующим образом:
С:\ GAMES\ CHESS\ chess.exe
Путь к файлу вместе с именем файла называют иногда полным именем файла.
КОНТРОЛЬНЫЕ ВОПРОСЫ
-
Что такое файловая система?
-
Какие файловые системы вы знаете?
-
Какая файловая система преобладает в данный момент и почему?
-
Какие выделяют типы файлов?
-
Какими характеристиками обладает файл? Какие из них может установить пользователь?
-
Что такое полное имя файла?
-
Как перейти в вышележащий каталог?
-
Можно ли скопировать файл в тот же каталог, в котором он находится?