Основой построения и работы MS DOS является файловая структура хранимой информации и возможность каталогизации этих файлов.
Файл (file) – это поименованная область памяти на диске. Файлы MS DOS можно разделить на две категории: текстовые (для хранения информации в символьном виде) и двоичные (все остальные).
Каждый файл имеет имя. Полное имя файла обычно состоит из двух частей – собственно имени (префикса) и расширения (суффикса).
Имя файла (префикс) может содержать от 1 до 8 символов, расширение (суффикс) – от 0 до 3 символов (т. е. расширение является необязательным). Имя отделяется от расширения точкой.
В состав имени и расширения могут входить прописные и строчные латинские буквы, цифры и следующие специальные символы: ~ @ # $ % ^ () _ - { }.
Некоторые имена файлов являются запрещенными, так как MS DOS воспринимает их как имена устройств:
AUX – устройство, подключенное к основному коммуникационному каналу параллельного обмена;
COM1, COM2, COM3 – устройства, подключенные соответственно к 1, 2, 3-му коммуникационным каналам последовательного обмена;
|
|
LPT1, LPT2, LPT3 – устройства, подключенные к 1, 2, 3-му параллельным каналам (обычно принтеры);
CON – используется для вывода на экран и ввода с клавиатуры (т. е. клавиатура при вводе, экран при выводе);
PRN – принтер.
NUL – "пустое" устройство (используется, когда создание файла нежелательно, но синтаксис командной строки требует наличия имени входного или выходного файла).
Наличие расширения в имени файла не является обязательным. Как правило, расширение используется для описания типа информации, записанной в файле, т. е. для описания типа файла.
Общепринято, что расширение имени файла обозначает его тип. Обычно применяют следующие стандартные расширения имен:
gays.bas – программа на языке Бейсик;
prog.pas – программа на языке Pascal;
sos.bat – командный файл операционной системы;
doclad.txt – текстовой файл;
md1.com – программа в машинном коде, готовая к выполнению;
ct1.exe – перемещаемая программа, готовая к выполнению;
bio.c – исходная программа на языке Си;
mak.lib – библиотека программ;
p1.obj – скомпилированная объектная программа на машинном языке;
bumpy.gm – игровая программа;
tvir.doc – файл документов (обычно создаваемых с помощью текстовых редакторов).
При создании файла или изменении его содержимого автоматически регистрируются дата и время, снятые с текущих показаний календаря и часов системы.
Имя, тип, дата и время являются атрибутами файла, которые фиксируются на диске.
Кроме этих характеристик, на диске фиксируются также следующие атрибуты файлов:
Archive – архивный;
Hidden – скрытый (такие файлы не отображаются на экране при просмотре);
|
|
Read-only – файл, доступный только для чтения (такой файл нельзя удалить или отредактировать);
System – системный (входящий в состав операционной системы).
Каталог (Directory) файлов предназначен для упорядочивания информации на диске.
Каталоги облегчают работу пользователя, помогают ему сориентироваться в большом объеме разнородной информации, обычно размещаемой во внешней памяти компьютера.
Каталог – это группа файлов на одном носителе, объединенных по какому-либо критерию (обычно логически взаимосвязанных).
Каталог можно рассматривать как раздел внешней памяти, с содержимым которого можно работать достаточно независимо. Каждый файл может находиться только в одном каталоге. Каталог имеет имя и, в свою очередь, может быть зарегистрирован в другом (родительском) каталоге. Это значит, что он включен в последний как целое, и тогда говорят, что он является подчиненным каталогом (каталог – Directory, подкаталог – Subdirectory) (подкаталогом). Таким образом образуется иерархическая, древовидная файловая система. На каждом дисковом носителе всегда имеется корневой каталог: тот, в котором начинают регистрироваться обычные файлы и подкаталоги 1-го уровня. В последних, в свою очередь, регистрируются файлы и подкаталоги 2-го уровня и т. д. Требования к именам каталогов те же, что и к именам файлов. Расширения имени для каталогов обычно не используются.
Каталог, в котором в настоящий момент работает пользователь, называется текущим.
Цепочки подчиненных (включенных друг в друга) каталогов обозначаются их именами, разделенными знаком \. Если этот знак стоит перед первым именем, значит, "выше" по иерархии находится только корневой каталог.
Примеры цепочек подчиненных каталогов:
\DOC – DOC находится на 1-м уровне;
\TP6\TL – TL находится на 2-м уровне;
..\TPU.
Если команде MS DOS указать имя файла, то поиск или создание файла будет производиться в текущем каталоге.
Если необходимо использовать файл не из текущего каталога, то следует указать, где этот файл находится.
Это делается с помощью указания пути к файлу.
Путь (Path) – это последовательность из имен каталогов и символов " .. ", разделенных символом " \ ".
Путь задает маршрут поиска файла от текущего каталога или корневого каталога к тому каталогу, в котором находится нужный файл.
Полный путь включает также и имя накопителя (диски, устройства, дисководы).
Накопители (внешние накопители, диски, устройства) именуются латинскими буквами A, B, C и т. д., вслед за которыми пишут двоеточие.
Например: A:, B:, C:.
Сочетание имени устройства и символа ":" (двоеточие) является указателем устройства.
Обычно имена накопителей распределяют следующим образом:
A: – соответствует первому (главному) накопителю на гибких магнитных дисках (НГМД);
B: – соответствует второму (вспомогательному) накопителю на гибких магнитных дисках (НГМД), или дисководу;
C:, D: и т. д. – соответствуют накопителям на жестком диске (НЖД, "винчестере").
Если путь начинается с символа "\", то маршрут начинается от корневого каталога: A:\GM.
Если путь начинается с символов ".." (две точки), то маршрут начинается от родительского каталога: ..\LET.
Иначе маршрут начинается от текущего каталога: md1.exe.
Родительскому (относительно текущего) каталогу в MS DOS присвоен специальный символ ".." (две точки).
Таким образом, символы ".." соответствуют переходу в родительский каталог (более высокого уровня).
Текущему каталогу присвоена точка.
Пример.
cd.\3, cd 3 – одно и то же,
cd 2\3 – переход из 2 в 3.
Маршрут используется как префикс к имени файла, отделяемый от собственно имени файла тем же разделителем "\". Итак имя файла задается полностью следующими элементами:
1) именем накопителя (устройства), на котором находится нужный файл (оно может опускаться);
|
|
2) местоположением (путем, Path), которое также может опускаться;
3) собственно полным именем файла, завершающим цепочку.
Эти три компоненты в совокупности образуют "спецификацию файла".
Формат записи спецификации файла:
[<d:>][<path\>]<имя файла>[.расширение]
где
<d:> – указатель накопителя (устройства);
<path\> – путь к файлу.
Примеры спецификаций файлов:
C:\DOS\fdisk.com – файл fdisk.com входит в подкаталог DOS корневого каталога диска C:.
A:\chapt7.txt – текстовой файл, входящий в корневой каталог дискеты A:.
sqroot.exe – файл с программой, входящий в текущий каталог на текущем диске.
A:test.pas или
A:\test.pas – файл с исходным текстом программы на языке PASCAL на дискете A:, не имеющей подкаталогов.
Здесь и всюду далее квадратные скобки "[" и "]" – обозначение, указывающее, что информация внутри них не является обязательной.
При указании имен файлов могут использоваться два специальных символа:
"*" (знак "звездочка");
"?" (знак вопроса),
которые позволяют задавать шаблон имени файла.
В шаблонах знак "*" обозначает любое число любых символов, которые допускаются в именах и типах файлов.
Знак вопроса "?" соответствует произвольному символу в той позиции, где стоит "?". Он позволяет "замаскиро-вать" любой одиночный символ в имени или типе файла.
Специальные символы "*" и "?" называют масками (джокерами или Wildcards). Поэтому эти символы нельзя использовать в именах для отдельных файлов.
Примеры шаблонов:
AB*.* – все файлы с именами, начинающимися с AB;
*.* – все файлы текущего каталога;
*. – все файлы, у которых отсутствует тип;
???.BAS – все файлы типа BAS с не более, чем трехбуквенными именами;
C?.* – все файлы, имена которых начинаются с C и состоят из одной или двух букв.