logo
Часть первая -3 октября

Древовидная структура директорий

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

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

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

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

Благодаря этому можно давать одинаковые имена файлам, расположенным в разных директориях. Имена директорий образуются по тем же правилам, что и имена файлов (включая необязательное расширение). Древовидная файловая структура может быть изображена в приведенном ниже виде (обратите внимание, что корень этого "дерева" расположен там, где мы привыкли видеть вершину). На схеме модуль ROOT является корневой директорией, модули D1 - D5 это присоединенные к нему директории, причем директория D2 имеет поддиректорию D2.1, а директория D4 три поддиректории (D4.1, D4.2, D4.3).

Очевидно, что директории и поддиректории могут иметь любые удобные Вам имена, а поддиректории могут сами иметь в своем составе другие поддиректории.

Маршруты

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

[d:][\][директория\].[директория\][имя файла]

Если маршрут начинается символом (\), то система начинает поиск файла в корневой директории. В противном случае поиск начинается в текущей директории пользователя. Если, например, файл BOOK.TXT находится в директории D4.3, то для того, чтобы обратиться к нему из директории D1, необходимо указать маршрут вида \D4\D4.3\BOOK.TXT а при вызове этого файла из директории D4 маршрут будет иметь вид D4\D4.3\BOOK.TXT.

В MS DOS предусмотрена краткая нотация для связи между рабочей и предшествующей ей (старшей, расположенной ближе к корню) директории:

. МS DOS использует этот символ для указания имени рабочей директории во всех иерархических списках директорий. Система автоматически создает этот вход, когда создается директория.

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

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

DIR ..\.. выведет на экран список файлов директории старшей, чем та в которой находится рабочая директория.

Индикация места рабочей директории в файловой структуре

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

Для этого в системе предусмотрена команда CHDIR (CHange DIRectory) сокращенно CD, которую для указанного случая следует вводить без параметров (опций). Например, если текущая директория находится на магнитном диске С: на маршруте \D4\D4.2, то введя команду CHDIR или CD Вы увидите на экране сообщение C:\D4\D4.2 что означает: Вы работаете в директории D4.2, которая входит в директорию D4, а директория D4 в свою очередь подсоединена к корневому каталогу диска С:.

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

Создание директорий

Для создания директорий используется команда MKDIR (MaKe DIRectory) или сокращенно MD. Например, для создания директории с именем LENA достаточно ввести команду MD LENA. В результате в файловую структуру системы будет включена директория с этим именем, которая будет подключена (т.е. войдет в состав) той директории, из которой поступила команда о ее создании. Имеется возможность, не выходя из рабочей директории, создавать поддиректории в других директориях, указав в команде MD соответствующий маршрут. При этом система автоматически создаст входы и в новой директории.

Переход в другую директорию

В процессе работы возникает необходимость перейти в другую директорию для работы в ней. Для этой цели следует использовать команду CHDIR (заменить директорию), указав в ней маршрут перехода. Например, для перехода из директории D4.1, использованной нами в примере структуры файловой системы на странице __, в директорию D4 необходимо ввести команду C:\D4\D4.1>CD \D4 . В результате, рабочей директорией отныне станет директория D4 (вместо \D4\D4.1). Задавая различные маршруты можно "путешествовать" по дереву файловой структуры произвольным образом. Команда CD .. всегда будет приводить в старшую директорию, т.е. в ту, в которой находится рабочая директория.

Удаление директорий

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

Поэтому в системе предусмотрена возможность удаления не только файлов, но и директорий. Для удаления директорий используется команда RMDIR (ReMake DIRectory) или сокращенно RD. Если, например, ввести команду RD D2 то директория с этим именем будет удалена из файловой структуры.

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

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

В команде RD, как и в других командах, можно указывать маршрут. Например, для удаления директории \D4\D4.3 необходимо убедиться, что она не содержит никаких имен кроме входов . и. .и набрать команду RD \D4\D4.3 Для удаления всех файлов (кроме. и. .) из подлежащей уничтожению директории достаточно набрать команду DEL, указав в ней маршрут соответствующей директории. Например, для удаления всех файлов из директории \D4\D4.1 следует набрать команду DEL \D4\D4.1\ Нельзя удалить входы.и.., поскольку они создаются операционной системой, как служебная часть иерархической структуры директорий.