ИМЯ
dos, doscat, doscp, dosdir, dosformat, dosmkdir, dosls, dosrm,
dosrmdir - Обеспечивают доступ и манипулирование файлами DOS.
СИНТАКСИС
doscat [-r|-m] file ... doscp [-r|-m] file1 file2 doscp [-r|-m] file ... directory dosdir directory ... dosformat [-fqv] drive dosls directory ... dosmkdir directory ... dosrm file ... dosrmdir directory ...
ОПИСАНИЕ
Команды dos обеспечивают доступ к файлам и каталогам на дисках
MS-DOS и в раздел (partition) DOS жесткого диска. Отметим, что
для того, чтобы использовать эти команды в разделе DOS жесткого диска, этот раздел должен быть загрузочным, хотя может быть и не активным.
Команды dos выполняют следующие действия:
Аргументы file и directory для файлов и каталогов DOS имеют вид:
device:nameгде device (устройство) является обозначением пути XENIX для специального файла устройства, содержащего диск DOS, а name (имя) является обозначением пути к файлу или каталогу на диске DOS. Эти две составляющие разделяются двоеточием (:). Например, аргумент:
/dev/fd0:/src/file.asmуказывает на файл DOS - file.asm в каталоге /src на диске, который описан в файле устройства /dev/fd0. Отметим, что имена файлов для обозначений путей DOS разделяются косыми чертами (но не обратными косыми чертами). Предполагается, что аргументы, заданные без обозначения device:, являются файлами XENIX.
Для удобства, файлом задаваемой по умолчанию возможной конфигурации для пользователя является файл /etc/default/msdos, и он может определять названия накопителей DOS, используемые вместо обозначений путей к специальным файлам устройств. Он может содержать следующие строки:
A=/dev/fd0 C=/dev/hd0d D=/dev/hd1d
При обращении к файлам DOS может быть использована буква накопителя "А" вместо обозначения пути специального файла устройства /dev/fd0 (см. ниже раздел "Примеры"). Буква накопителя "С" или "D" отсылает к разделу DOS на первом или, соответственно, на втором жестком диске.
Эти команды действуют на следующих разновидностях дисков:
Преобразования
В случае команды doscp при копировании файла XENIX выполняются
определенные преобразования. Имена файлов, имеющие длину базового имени больше восьми символов, укорачиваются. Расширения
имен файлов (часть имени, следующая за разделительной точкой),
имеющие длину большую трех символов, укорачиваются. Например,
файл с именем 123456789.12345 становится 12345678.123. Соответствующее сообщение информирует пользователя об изменении
имени, и высвечивается альтернативное имя. Имена файлов, содержащие недопустимые символы DOS, очищаются от этих символов
при записи в формате MS-DOS. Соответствующее сообщение информирует пользователя о том, что такие символы были удалены, и
высвечивает на экран имя в том, виде, как оно записано.
Все текстовые файлы DOS используют комбинацию символов возврата каретки и перевода строки CR-LF для указания признака новой строки. XENIX использует только символ новой строки LF. Когда команды doscat и doscp передают текстовые файлы DOS в XENIX, они автоматически убирают символ CR. Когда текстовые файл передаются в DOS, эти команды вставляют символ CR перед каждым символом LF.
При некоторых обстоятельствах автоматическое преобразование признака новой строки не производится. Опция -m может быть использована для обеспечения этого преобразования. Опция -r может быть использована для отмены автоматического преобразования, и для выполнения командой копирования байтов в том виде, как они есть, независимо от типа файла.
ПРИМЕРЫ
doscat /dev/fd0:/docs/memo.txt doscat /tpm/f1 /tmp/f2 /dev/fd0:/src/file.asmdosdir /dev/fd0:/src dosdir A:/src A:/dev
doscp /tmp/myfile.txt /dev/fd0:/docs/memo.txt doscp /tmp/f1 /tmp/f2 /dev/fd0:/mydir
dosformat A: dosformat /dev/fd0
dosls /dev/fd0:/src dosls B:
dosmkdir /dev/fd0:/usr/docs
dosrm /dev/fd0:/docs/memo.txt dosrm A:/docs/memo1.txt
dosrmdir /dev/fd0:/usr/docs
ФАЙЛЫ
/etc/default/msdos Информация по умолчанию /dev/fd* Устройства гибких дисков /dev/hd* Устройства жестких дисков
ЗАМЕЧАНИЯ
Нельзя обращаться к каталогам DOS при помощи указания шаблонов. Программы, упоминаемые выше, взаимодействуют друг с другом таким образом, что никакие две программы не будут иметь
доступ к одному и тому же диску DOS в одно и то же время. К
данному диску DOS в данный момент времени будет обращаться
только один процесс, в то время как другие процессы будут находиться в состоянии ожидания. Если состояние ожидания какого-либо процесса слишком затянулось, то этот процесс выводит сообщение об ошибке "can't seize a device" ("не могу захватить устройство") и завершается с кодом возврата равным 1.
Ниже приведены устройства жестких дисков:
/dev/hd0d /dev/rhd0d /dev/hd1d /dev/rhd1dаналогичные устройству /dev/hd0a, в котором дисковый драйвер определяет, какой раздел является разделом DOS, и использует его в качестве hd?d. Это означает, что программному обеспечению, использующему раздел DOS, не нужно знать, какой именно раздел является разделом DOS (это определяет дисковый драйвер).
Система Разработки XENIX поддерживает создание выполняемых под управлением DOS файлов, используя команду сс(1). Обратитесь к Руководству пользователю по языку С системы XENIX (XENIX C User's Guide) и Руководству по библиотеке языка С (C Library Guide), чтобы получить более полную информацию об использовании системы XENIX для создания программ, соответствующих системам DOS.
Все утилиты DOS оставляют временные файлы в каталоге /tmp. Эти файлы автоматически удаляются при перезагрузке системы. Кроме того, они могут быть удалены вручную.