D3 Reference Manual

Index | Help

Поиск по страницам

Разделы / Команды системы (TCL) / cvtcpy

cvtcpy

Копирование носителя на магнитной ленте

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

cvtcpy {keyword=value} {(options}

Эта утилита читает ленту в форматах D3 или Ultimate с размером блока до 64K, и создает ленту D3.

Аргументы указываются в любом порядке и имеют вид "keyword=value" (ключевое_слово=значение). Все аргументы не обязательны, кроме 'if'.

Аргументы:

if Входной файл - имя устройства ввода в Unix. Этот аргумент обязателен.
of Выходной файл - имя устройства вывода в Unix. Если этот аргумент не указан, то данные будут выводиться на терминал или принтер в десятичном виде (или в шестнадцатеричном виде, если использована опция 'X'). Устройство вывода или файл должны существовать.
ib Физический размер входного блока. Этот размер не обязательно равен размеру, указываемому при подключении устройства. Некоторые устройства имеют в каждом блоке заголовочную информацию. Если этот аргумент не указан, то размер входного блока будет получен из метки ленты, если таковая присутствует. Размер блока задается десятичным числом, определяющем его значение в байтах или в килобайтах. В последнем случае за числом указывается буква 'k'.
tib Размер физического блока на входной ленте. Если параметр 'tib' не указан, то считается, что он равен 'ib'. Некоторые устройства имеют размер физического блока, который задается контроллером устройства. Например, в системе HP-UX для чтения блока размером 16K необходимо прочитать 32 блока размером 512 байт. В данном примере мы имеем ib=16k и tib=512. Размер блока задается десятичным числом, определяющем его значение в байтах или в килобайтах. В последнем случае за числом указывается буква 'k'.
ob Физический размер выходного блока. Этот размер не обязательно равен размеру, указываемому при подключении устройства. Некоторые устройства имеют в каждом блоке заголовочную информацию. Реальный размер фактически равен разности между 'ob' и 'oo' (см. 'oo' ниже). Если этот аргумент не указан, то размер выходного блока считается равным размеру входного блока. Размер блока задается десятичным числом, определяющем его значение в байтах или в килобайтах. В последнем случае за числом указывается буква 'k'.
io Входное смещение. Это смещение указывает, с какого байта в физическом блоке, заданном аргументом 'ib', действительно начинают располагаться данные. Если этот аргумент не указан, то предполагается, что смещение равно нулю.
oo Выходное смещение. Это смещение указывает, с какого байта в физическом блоке, заданном аргументом 'ob', действительно начинают располагаться данные. Если этот аргумент не указан, то предполагается, что смещение равно 'io'.
il Размер блока метки на входе. Это значение указывает размер блока, в котором располагается метка ленты. Если этот аргумент не указан, то размер блока метки предполагается равным размеру входного блока. Для устройств, которые поддерживают блоки переменной длины (1/2"), можно считать, что этот аргумент определяет максимальный размер для блока метки. Для устройств, где данные записываются в блоки фиксированной длины (SCT), важно указывать точный размер блока метки.
ol Размер блока метки на выходе. Это значение указывает размер блока, в который записывается метка. Если этот аргумент не указан, то размер блока метки предполагается равным размеру выходного блока. Логическая метка записывается в начало блока метки со смещением 'oo', если оно указано.
reel Номер выходного тома (бобины). Если этот аргумент не указан, то номер тома будет извлекаться из входной метки.
fwd Количество файлов, которое надо пропустить до начала чтения.
skip Количество блоков, которое надо пропустить до начала чтения. Метка не пропускается, если только не задана опция (U). Если указаны и 'fwd', и 'skip', то сначала будет выполнена операция 'fwd', а затем будут пропущены блоки.
seek Количество блоков, которое надо пропустить на выходном устройстве до начала записи. Эта возможность поддерживается только для устройств прямого доступа (флоппи или файл).
count Максимальное количество копируемых блоков. Если этот аргумент не указан, то данные будут копироваться до тех пор, пока не встретятся две идущие подряд файловые марки, или не случится ошибка. После копирования заданного максимального количества блоков, на выходное устройство записываются две файловых марки и процесс копирования данных прекращается.
files Максимальное количество копируемых файлов. Если этот аргумент не указан, то данные будут копироваться до тех пор, пока не встретятся две идущие подряд файловые марки, или не случится ошибка. После копирования заданного максимального количества файлов, на выходное устройство записывается вторая файловая марка, чтобы корректно закончить ленту.
itype Тип устройства ввода. Этот аргумент позволяет установить стандартные для данного устройства параметры, которые будут использоваться по умолчанию – размер блока, размер метки и смещение. Если значения этих параметров указаны в других аргументах в явном виде, то они будут использоваться вместо значений по умолчанию. Допустимыми типами являются: 'floppy', 'sct', '8mm', 'dat' или '4mm', 'half' или '1/2'. Если устройством является псевдо-флоппи (файл Unix), то тип этого устройства определяется автоматически и его можно не указывать.
otype Тип устройства вывода. Этот аргумент позволяет установить стандартные для данного устройства параметры, которые будут использоваться по умолчанию – размер блока, размер метки и смещение. Если значения этих параметров указаны в других аргументах в явном виде, то они будут использоваться вместо значений по умолчанию. Допустимые типы те же, что и в аргументе 'itype'.
el Длина встроенной метки. Этот аргумент позволяет читать метки, которые встроены в блок данных, а не расположены в своем собственном блоке.

Если это возможно, то логический формат метки определяется автоматически.

Опции:

P Вывод на принтер. Q Тихий режим. Подавлять вывод всех сообщений, кроме финального сообщения и сообщений об ошибках. S Одиночный том. Отключить механизм, с помощью которого 'cvtcpy' пытается перейти к следующему тому в исходном многотомном наборе лент. Без этой опции три последовательные файловые марки интерпретируются как конец ленты. U Лента без метки. Наличия метки на входной ленте не ожидается и, соответственно, никакая метка на выходную ленту не записывается. При использовании этой опции необходимо, чтобы размеры блоков были точно заданы.
F Не записывать файловую марку.
I Игнорировать размер блока, указанный в метке ленты. Использовать значения, заданные в строке TCL.
N Не пропускать первый блок на втором исходном томе. По умолчанию, команда cvtcpy предполагает, что последний блок тома дублируется на следующем томе, и поэтому его не читает. Эта опция обеспечивает чтение первого блока. Если обнаружен конец CIE или метка тома (_R), то эта опция устанавливается автоматически.
V Многословный режим. Выводить больше информации о процессе.
X Выводить данные в шестнадцатеричном виде, если устройство вывода не задано (вывод на терминал или принтер).

Примеры:

cvtcpy if=/dev/rmt0.1 itype=half of=/dev/rmt1.1 otype=8mm

Копирование полудюймовой ленты на 8мм ленту. Все параметры получают значения по умолчанию (размер выходного блока 16k, без смещения, размер блока метки 512 байт).

cvtcpy if=/tmp/floppy (x

Вывод данных с псевдо-флоппи (файл Unix) на терминал в шестнадцатеричном виде.

cvtcpy if=/dev/rmt1.1 itype=8mm of=/dev/rmt0.1 ol=512 ob=12000 oo=0

Копирование 8mm ленты на /dev/rmt0.1 (не важно, что это) с указанием размера блока метки в 512 байт (реальные данные метки по-прежнему составляют 80 байт), физического размера блока данных в 12000 байт, и без смещения (это означает, что дествительный размер блока данных составляет 12000-0=12000).

cvtcpy if=/dev/rmt0.1 itype=half of=/dev/rmt1.1 otype=8mm fwd=1 files=3

Пропускается первый файл и копируются три следующих файла с полудюймовой ленты на 8мм ленту.