Все программы данные хранятся в долговременной (внешней) памяти компьютера в виде файла.
Файл - это определенное количество информации (программа или данные), имеющие имя и хранящееся в долговременной (внешней) памяти.
Имя файла. Полное имя файла состоит из двух частей, разделенных точкой: собственного имя файла и расширение, определяющее его тип (программа, данные и т.д.). Собственно имя файлу дает пользователь, а тип файла обычно задается программой автоматически при его создании.
В различных операционных системах существуют различные форматы имен файлов. В операционной системе МS-DOS собственно имя файла должно содержать не более 8 букв латинского алфавита и цифр, а расширение состоит из трех латинских букв, например: proba.txt.
В операционной системе Windows имя файла может иметь до 255 символов, причем можно использовать русский алфавит, например: Единицы измерения информации. Doc.
Файловая система. На каждом носителе информации (гибком, жестком или лазерном диске) может храниться большое количество файлов. Порядок хранения файлов на диске определяется используемой файловой системой
|
|
Таблица 1. Типы файловых расширений
Тип файла | Расширения |
Программы | .exe,.com |
Текстовые файлы | .txt,.doc |
Графические | .bmp,.gif,.jpg и др. |
Звуковые | .wav,.mid |
Видео | .avi |
Программы на языке программирования | .bas,.pas |
Каждый диск разбивается на две области: область хранения файлов и каталог. Каталог содержит название файла и указание на начало его размещения на диске. Если провести аналогию диска с книгой, то область хранения файлов соответствует тексту книги, а каталог – ее оглавлению. Причем книга состоит из страниц, а диск – из секторов.
Для дисков с небольшим количеством файлов (до нескольких десятков) может использоваться одноуровневая файловая система, когда каталог (оглавление диска) представляет собой линейную последовательность имен файлов. Такой каталог можно сравнить с оглавлением детской книжки, которое содержит только названия отдельных рассказов.
Таблица 2. Одноуровневый каталог
Имя файла | Номер начального сектора |
Файл_1 | |
Файл_2 … | |
Файл_112 |
Если на диске хранятся сотни и тысячи файлов, то для удобства поиска файлы хранятся в многоуровневой иерархической файловой системе, которая имеет “древовидную” структуру. Такую иерархическую систему можно сравнить, например, с оглавлением данного учебника, которое содержит иерархическую систему разделов, глав, параграфов и пунктов. Начальный, корневой, каталог содержит вложенные каталоги 1-го уровня, в свою очередь, каждый из них может содержать вложенные каталоги 2-го уровня и т.д. Необходимо отметить, что в каталогах всех уровней могут храниться и файлы.
|
|
Рис. 1. Иерархическая файловая система
Например, в корневом каталоге находятся два вложенных каталога 1-го уровня (Каталог_1, Каталог_2) и один файл (Файл_1). В свою очередь, в каталоге 1-го уровня (Каталог_1) находятся два вложенных каталога второго уровня (Каталог_1.1 и Каталог_1.2) и один файл (Файл_1.1).
Файловая система – это система хранения файлов и организации каталогов.
Рассмотрим иерархическую файловую систему на конкретном примере. Каждый диск имеет логическое имя (А,В - гибкие диски, С, D, E и т.д. – жесткие и лазерные диски).
Пусть в корневом каталоге диска С:\ имеются два каталога 1-го уровня (GAMES, TEXT), а в каталоге GAMES – один каталог 2-го уровня (CHESS). При этом в каталоге TEXT имеется файл proba.txt, а в каталоге CHESS – файл chess.exe.
Рис. 2. Пример иерархической файловой системы
Путь к файлу. Как найти имеющиеся файлы (chess.exe, proba.txt) в данной иерархической файловой системе? Для этого необходимо указать путь к файлу. В путь к файлу входят имя диска, последовательность имен каталогов и имя файла, которые при записи разделяются обратной косой чертой (\). Таким образом, пути к вышеперечисленным файлам можно записать следующим образом:
C:\GAMES\CHESS\chess.exe
C:\TEXT\proba.txt
Операции над файлами. В процессе работы на компьютере наиболее часто над файлами производятся следующие операции:
· копирование (копия файла помещается в другой каталог),
· перемещение (сам файл перемещается в другой каталог),
· удаление (файл удаляется из каталога).
В операционных системах с графическим интерфейсом иерархическая файловая система представляется в виде иерархической системы папок.
Имя файла обычно состоит из собственного имени и так называемого расширения, служащего для определения типа данных, хранящихся в файле (типа файла). Имя файла и его расширение разделяются точкой.
Кроме имени, файл имеет атрибуты (дата создания, дата изменения, пользователь прав доступа и т.д.).
Файловая система позволяет организовывать файлы в иерархические древовидные каталоги. Каталог самого верхнего уровня называется корневым каталогом. Во многих операционных системах корневой каталог обозначается именем логического источника данных – латинской буквой с двоеточием.
Остальные каталоги делятся на системные и пользовательские. Системные каталоги имеют служебные имена, назначенные операционной системой при установке. Имена пользовательских каталогов задаются пользователем по его усмотрению.
Тот каталог, в котором пользователь находится в настоящий момент, называется текущим каталогом.
Последовательность имен каталогов, проходимых от некоторого каталога до нужного файла, называется путем к этому файлу. Имена каталогов в этой последовательности принято разделять знаком «\».
Абсолютное имя файла складывается из пути к файлу от корневого каталога и имени файла. Относительное имя – из пути к файлу из текущего каталога и имени файла.
Пример. Пусть имя файла E:\SCHOOL\USER\DOC\user.txt
Это полное имя файла, поскольку оно начинается с имени корневого каталога E:. Путь к файлу – E:\SCHOOL\USER\DOC\. Само имя файла – user.txt, где txt – расширение, указывающее на то, что файл должен содержать текстовые данные.
Для групповых операций с файлами (поиск, удаление, перемещение) используются маски имен файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы:
символ «?» означает ровно один произвольный символ;
символ «*» означает любую последовательность символов произвольной длины, может задавать и пустую последовательность.