Команда DIR просмотр каталога файлов

DIR (сокращение от DIRECTORY) переводится обычно как каталог, раздел, справочник (в обиходе бытует также термин директорий). Наиболее точно смысл этого слова, применительно к DOS, отражает термин каталог, которого мы и будем придерживаться. Слово раздел, хотя и используется при описании некоторых систем как эквивалент DIRECTORY, в случае DOS применяется для обозначения части магнитного диска, рассматриваемой системой как логически самостоятельное устройство. Термин справочник - более общий и может обозначать совокупность любой справочной информации.


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

НАЗНАЧЕНИЕ. Команда DIR предназначена для просмотра на экране дисплея, вывода на печать, записи на магнитный диск или передачи на любое другое устройство каталогов файлов устройств внешней памяти на гибких и жестких магнитных дисках.

ОПИСАНИЕ. По команде DIR на указанное устройство выводится справочная информация о заданном томе внешней памяти и каталоге файлов, включающая:
-    метку тома, на котором размещен каталог файлов (в DOS 4.0 после метки тома команда DIR выдает также и номер магнитного носителя данных);
-    имя накопителя, на котором размещен том внешней памяти, и маршрут текущего каталога файлов;
-    имена файлов и расширения имен файлов, размещенных в каталоге;
-    размер каждого файла в байтах;
-    дату и время создания каждого файла;
-    общее количество файлов, содержащихся в каталоге;
-    объем свободного пространства на томе в байтах.

Следует отметить, что разница между информационной
емкостью устройства и суммой размеров файлов в общем случае не совпадает с объемом свободного пространства, выдаваемым командой DIR. Это вызвано тем, что ОС распределяет пространство диска некоторыми фиксированными порциями, которые называются кластерами, а размер файлов считает с точностью до байта. Размер кластера зависит от информационной емкости магнитного носителя и всегда кратен размеру физического сектора диска. Для одностороннего гибкого диска, например, размер кластера составляет 512 байт, для гибкого диска емкостью 360 Кбайт - 1024 байт, для жесткого диска невысокой емкости - 4 Кбайт, Размер файла, выдаваемый командой DIR, с точностью до байта соответствует истинному. Однако если в кластере занят хотя бы один байт, он уже не может быть распределен для другого файла. Поэтому размер свободного дискового пространства, выдаваемый командой DIR, всегда кратен размеру кластера.
Необходимость введения понятия кластера связана с желанием оптимизировать затраты оперативной и внешней памяти, а также время доступа к файлам. Кластер - минимальный отдельно распределяемый элемент дискового пространства, вследствие чего размер кластера определяет размер динамической модели магнитного диска. Чем больше этот размер, тем более компактной получается модель, что предоставляет больше возможностей для ее кэширования и повышает скорость доступа к информации. С другой стороны, чрезмерное увеличение размера кластера снижает эффективность использования диска.

ФОРМАТЫ.
Формат 1.
Вывод на экран содержимого произвольного каталога.
DIR [устройство:] [маршрут] [имя файла] [.тип файла\ [/ключи]
Устройство - имя устройства внешней памяти на магнитных дисках, на котором нужно просмотреть каталог, например А, В или С. По умолчанию выбирается текущее устройство.
Знак ":" - признак имени устройства.
Маршрут - в общем случае многоступенчатый указатель на каталог файлов, который нужно просмотреть.
Следует отметить, что если целевой каталог файлов не является подкаталогом текущего каталога, то маршрут для него необходимо указывать через корневой каталог. Например, чтобы просмотреть каталог PLAKS для варианта дерева каталогов, приведенного на рис. 5,а, необходимо подать команду
DIR \UNO\PLAKS,
а для варианта, приведенного на рис. 5,6, достаточно команды, содержащей только имя целевого каталога:
DIR PLAKS
Имя файла - указатель на один файл или на группу файлов, по которым нужно получить справочную информацию. Имя файла не должно содержать более восьми символов. Имена файлов обычно состоят из букв латинского алфавита (прописные и строчные буквы при этом не различаются), цифр, а также некоторых спецсимволов: "_" (подчеркивание), "-" дефис) и др.
Знак "." - обязательный разделитель имени и расширения имени файла при наличии последнего.
 

Тип файла (расширение имени файла) - дополнительное поле, позволяющее формировать группы файлов, имеющих одинаковые имена. Его, как правило, по системным соглашениям используют для обозначения типа информации, хранящейся в файле с указанным именем. Так, например, тип ВАТ соответствует пакетным файлам, тип OBJ - объектным модулям.
С помощью специальных символов "*" и "?" можно описать группы файлов, справочная информация о которых необходима в данный момент. Подобные символы называются шаблонами (мы уже встречались с ними выше). Другими словами, шаблоны позволяют задавать частично определенные имена файлов и их расширения.
Шаблон "?" предназначен для замены отдельного символа, например символа в имени файла или его расширении. При этом один символ имени файла должен быть заменен на один символ "?". Подобную замену можно произвести над любым количеством символов имени и расширения имени файла.
Шаблон "*" служит для групповой замены символов имени и типа файла, причем для каждого из этих полей используют только один символ "*". Он может заменять либо все символы имени или типа файла, либо только группу символов. Заменяемая группа при этом должна состоять из рядом стоящих символов.
При получении справочной информации шаблоны позволяют выделить из общей массы только файлы, интересующие пользователя. С другой стороны, с их помощью легко отыскиваются файлы, имена которых частично забыты. Например, вспомнив, что название нужного пакетного файла имеет первую букву А, можно сузить до минимума диапазон просмотра, задав команду
DIR А*. В AT
Рассмотрим еще несколько примеров использования шаблонов. Команда
DIR А*.*
выводит справочную информацию о файлах всех типов, имена которых начинаются с буквы А. По команде
DIR D????.*
будет выведена справочная информация о файлах всех типов, имена которых начинаются с буквы D и состоят не более чем из пяти символов. После задания команды
DIR *CAD.*
выведется справочная информация о файлах, имена которых заканчиваются сочетанием символов CAD.
Во всех приведенных примерах по умолчанию будет выдаваться справка о файлах из текущего каталога на накопителе.
Ключи команды DIR - дополнительные указатели формата вывода справочной информации.
Ключ /W выводит перечень файлов, расположенных в указанном каталоге, в расширенном формате - в пять колонок. Этот режим удобен тем, что на экране одновременно может находиться большое количество имен файлов (в пять раз больше, чем в обычном режиме).
Ключ /Р выводит справочную информацию о файлах ка- алога постранично. При этом после заполнения экрана вывод :риостанавливается и выдается запрос на продолжение. Возоб- овить вывод можно, нажав какую-нибудь клавишу на клавиа- уре. При просмотре каталогов ключ /Р представляет собой льтернативу функции PAUSE SCREEN и команде MORE.

Формат 2.
Распечатка содержимого произвольного каталога с пере- ^ресацией устройства вывода.
IR [устройство:] [маршрут] [имя файла] [.тип файла] [ключи]>
[устройство:] [маршрут] [имя файла] [.тип файла]
Первая часть командной строки (до знака ">"> задается [алогично формату 1; вторая часть - имя устройства или спе- 1фикация файла, куда нужно переадресовать вывод каталога.
При необходимости получения листинга в качестве пара- гтра устройство может применяться имя принтера PRN:, 'Т1: или LPT2:. Если необходимо вывести на печать доста- чно большой каталог файлов и при этом продолжать выпол- ние на компьютере какой-либо другой работы, то пользова- тю нужно сначала записать файл каталога на магнитный ск, а затем распечатать его с помощью команды PRINT, ко- эая может работать параллельно с любой другой программой.
Файл каталога, записанный на магнитном диске, можно ^актировать с помощью редактора текста, как любой сим- 1ьный файл. Это бывает нужно, например, для внесения как-либо пометок или комментариев. При задании специфика- я файла каталога действуют те же соглашения по умолча- о, которые были описаны для формата 1 относительно име- устройства, маршрута, имени и типа файла.
Следует отметить также, что для осуществления периоди- кого контроля за размерами файлов (особенно типа СОМ) алог файлов полезно иметь на диске в виде отдельного фай-
полученного с помощью команды DIR. Это позволяет во >гих случаях своевременно обнаружить компьютерный "ви- " и не дать ему распространиться по магнитным носителям.

Формат 3.
Распечатка содержимого родительского каталога.
DIR ..
Этот формат позволяет просмотреть каталог файлов, относительно которого текущий каталог - подчиненный (т.е. каталог, находящийся на уровень выше текущего каталога). Такая сокращенная форма указания маршрута, с одной стороны, избавляет пользователя от необходимости набирать маршрут родительского каталога, который может быть достаточно длинным, а с другой (в совокупности с аналогичным форматом команды CHDIR), позволяет пользователю передвигаться по дереву каталогов, не зная точных названий каталогов файлов.
Для отработки команды в этом формате DIR использует ссылку на родительский каталог, имеющуюся в каждом подчиненном каталоге файлов. Как Вы уже, наверное, замечали, эта ссылка при распечатке каталога файлов помечается знаком
Формат 3 позволяет также задавать цепочки ссылок на родительские каталоги. В этом случае ссылки разделяются знаком (BACKSLASH). Например, если текущим является каталог К2_1 с маршрутом
С:\РСС\Т2\К2_1>
то вывести справку о каталоге РСС можно следующей командой:
DIR Д..
При распечатке каталогов не выводится информация о так называемых "скрытых" файлах (hidden files), которые содержат ядро ОС (к ним относятся модуль расширения базовой системы ввода-вывода и модуль обработки прерываний). Эти файлы - неотъемлемый атрибут DOS, они всегда находятся в корневом каталоге, вследствие чего распечатка их имен в каталоге файлов не несет практически никакой информации. В случае необходимости справку об этих файлах можно получить другими средствами, например с помощью программы PCTOOLS.

Примечание.
По сравнению с некоторыми другими системами в DOS недостаточно развит сервис для просмотра каталогов. Команда DIR не выдает информацию о фактически занятом пространстве на магнитном диске для групп файлов. Так, например, чтобы переписать несколько файлов с жесткого диска на гибкий, необходимо знать, сколько места на магнитном диске занимает эта группа файлов. Иногда отсутствие такой информации затрудняет анализ эффективности использования ресурсов оперативной и внешней памяти, а также планирование распре- ления памяти. Команда DIR не позволяет формировать справки о змешении файлов для групп каталогов. Так, например, если Вы за- 1ли, в каком каталоге находится нужный файл, то предстоит доволь- утомительная процедура последовательного просмотра каталогов 1йлов. В этом случае удобно иметь шаблоны для описания имен ка- логов, аналогичные шаблонам имен файлов, что реализовано в не- торых других ОС. Эти недостатки во многом устраняются утилита - [ XTREE, PCTOOLS, NC, РМ и другими, использование которых, нако, вызывает некоторые неудобства.

Пример 46. \>dir а:
Volume in drive A has no label
Directory of A:\
AUTOEXEC BAT    20 21-10-89 1:23a
COMMAND COM 177922 21-10-89 12:00p
CONFIG SYS    25 21-10-89 12:01a
3    Files 46080 bytes free
>

Пример 47. >dir a:/w
Volume in drive A has no label
Directory of A:\
123 EXE AUTOEXEC BAT COMMAND COM CONFIG SYS
4    Files 46080 bytes free
>

Пример 48. >DIR ???
Volume in drive С is ANN
Directory of C:\
<DIR> 1-04-89 3:5lp <DIR> 1'04-89 4:17p I <DIR> 1-04-89 4:25p <D1R> 1-04-89 5:03p <DIR> 1-04-89 7:22p 5 File(s) 15824896 bytes free
Пример 49.
C.\>dir *.
Volume in drive С is ANN Directory of C:\
SYS <DIR> 1-04-89 3:51 p
PM <DIR> 1-04-89    4:17p
MTA <DIR> 1-04-89    4:25p
С <DIR> 1-04-89    5.03p PE2 <DIR> 1-04-89 7:22p PAINT <DIR> 1-04-89 7:46p
6 File(s) 15824896 bytes freeC:\>

Пример 50.
C:\>dir *.COM
Volume in drive С is ANN Directory of C:\
COMMAND COM    25307    3-17-89 12:20p
GRAPHICS COM    3220    3-17-89 12:43p
GRAFTABLCOM    1169    3-17-89 12:52p 3 File(s) 15824896 bytes free
C.\>

Пример    51.
C:\>dir a*
Volume in drive С is ANN Directory of C:\
ARCHIVE <DIR>    1-04-89 4:25p
AUTOEXEC BAT 108 1-01-88 12:02a ANSI    SYS 1664 10-20-88 12:00p
3 File(s) 15824896 bvtes free
СЛ>
Пример 52. C:\>dir \sk>prn: C:\>dir \sk>prn C:\>dir \sk>pr.dir
C:\>print pr.dir
Name of list device [PRN]:
Resident pan of PRINT installed
C:\pr.dir is currently being printed
C:\>
При этом на принтере распечатается содержимое каталога. В первом и втором случаях:
Volume in drive С is ANN
Directory of CASK
<DIR>    1-01-89    12:04a
<DIR>    1-01-89    12:04a
SK COM 39515    1-01-89    12:15a
SK HLP 53632    8-29-88    I2:25p
SKN COM 34009    11-10-88    12:30p
SKM COM 17642    U-10-&&    12.30p 6 File(s) 15824896 bytes free
В третьем случае:
Volume in drive С is ANN
Directory of CASK
<DIR>    1-01-89    12:04a
<DIR>    1-01-89    12:04a
SK COM 39515    1-01-89    12:15a
SK HLP 53632    8-29-88    12:25p
SKN COM 34009    11-10-88    12:30p
SKM COM 17642    11-10-88    12.30p 6 File(s) 15822848 bytes free
Замечания к примерам. В примерах 46 и 47 показан вывод корневого каталога файлов гибкого магнитного диска, размещенного на накопителе А:, в обычном и широком форматах.
В примере 48 получена информация о файлах, имена которых состоят не более чем из трех символов; в примере 49 - о файлах, не имеющих расширения имени (в текущем каталоге таких файлов не оказалось, и поэтому появилась только информация о подкаталогах). Если придерживаться правила именования файлов в обязательном порядке с расширением имени, то с помощью команды
DIR *.
можно получать справки о подкаталогах.

В примере 50 выводится информация о файлах загрузочных модулей программ типа СОМ.
В примере 51 производится поиск файлов с именами, начинающимися с буквы А.
Пример 52 содержит три варианта вывода листинга каталога файлов \SK на принтере PRN. Варианты 1 и 2 отличаются только наличием (или отсутствием) двоеточия в спецификации принтера. Хотя система и воспринимает в данном случае имя устройства без двоеточия, но во избежание путаницы пользоваться этим не рекомендуется. В третьем варианте справка о каталоге \SK предварительно записывается на магнитный диск С: в корневой каталог с именем файла PR.DIR, а затем распечатывается с помощью команды PRINT. Сравнив объем свободного дискового пространства во втором и третьем случаях, можно подсчитать, что на размещение справки на магнитном диске потребовалось 2048 байт (один кластер).


Обсудить вопрос в студенческом форуме

 

Сайт содержит информацию о учебном заведении и студенческой общине и не является официальным