CU(1C)
CU(1C)
НАЗВАНИЕ
cu,tip - вызов другой UNIX-системы
СИНТАКСИС
cu [-sскорость_обмена] [-lлиния] [-h] [-t] [-d] [-o] [-e] [-n] номер_телефона cu [-sскорость_обмена] [-h] [-d] [-o] [-e] -lлиния cu [-h] [-d] [-o] [-e] имя_системы
ОПИСАНИЕ
Команда cu вызывает другую UNIX-систему, терминал или, возможно, не-UNIX-систему. Она поддерживает интерактивное взаимодействие с возможностью передачи текстовых файлов.
Допустимые опции:
-sскорость_обмена Указание скорости обмена (300, 1200, 2400, 4800, 9600 бод). Подразумеваемое значение (обозначается Any) зависит от порядка строк в файле /usr/lib/uucp/Devices. Большинство модемов обеспечивают скорость 300 или 1200 бод. При прямом подключении можно задавать скорости большие, чем 1200 бод. -lлиния Указание имени устройства, которое будет использоваться в качестве коммунникационной линии. Служит для отмены поиска линии, имеющей подходящую скорость. При использовании опции -l без -s скорость обмена берется из файла /usr/lib/uucp/Devices. Если же эти опции используются одновременно, то cu просматривает файл /usr/lib/uucp/Devices для проверки - соответствует ли требуемая скорость характеристикам линии. Если да, то выполняется соединение с требуемой скоростью. В противном случае выдается сообщение об ошибке, и вызов не выполняется. Указываемое устройство, как правило, является подсоединяемой напрямую асинхронной линией (то есть /dev/ttyab); в этом случае задавать номера_телефона не нужно. Указанное устройство не обязано находиться в каталоге /dev. Если устройство ассоциировано с автоответчиком, то номер_телефона должен быть задан обязательно. При наличии опции -l или -s не стоит использовать опцию имя_системы вместо номера_телефона: к желаемому результату это не приведет (см. ниже имя_системы). -h Эмуляция локального эхоотображения при вызове других систем, которые ожидают, что терминал находится в полудуплексном режиме. -t Используется при вызове ASCII-терминала, подключенного через автоответчик. Устанавливается режим преобразования возврата каретки в пару (возврат каретки, переход к новой строке). -d Выводить диагностическую трассировку. -o Байты данных, пересылаемые на удаленную систему, дополняются до нечетности. -e Байты данных, пересылаемые на удаленную систему, дополняются до четности. -n Для большей секретности номер телефона запрашивается у пользователя, а не вводится из командной строки. номер_телефона При использовании автоматического номеронабирателя этот аргумент обозначает телефонный номер со знаками равенства в тех местах, где нужно дождаться ответного сигнала и знаками минус в местах, где надо сделать задержку на 4 секунды. имя_системы Имя_системы в смысле uucp может быть использовано вместо номера_телефона. В этом случае имя соответствующей прямой линии или номер_телефона будет получено из файла /usr/lib/uucp/Systems. Замечание: опцию имя_системы не следует использовать совместно с опциями -l и -s, так как cu произведет соединение первым доступным способом, игнорируя указание линии и скорости_обмена.
После установления связи cu разделяется на два процесса: передающий процесс читает данные со стандартного ввода и все строки, не начинающиеся с символа ~, передает удаленной системе; принимающий процесс получает данные от этой системы и, за исключением строк, начинающихся с символа ~, передает на стандартный вывод. Обычно автоматически поддерживается протокол Xon/Xoff для контроля ввода от удаленной системы, чтобы избежать переполнения буфера. Строки, начинающиеся с символа ~, трактуются по-особому.
Передающий процесс интерпретирует следующие команды, выданные пользователем:
~. Завершить диалог с удаленной системой. ~! Выйти в shell локальной системы. ~!команда... Выполнить команду на локальной системе (посредством sh -c). ~$команда... Выполнить команду локально и направить ее вывод на удаленную систему. ~%cd Сменить каталог на локальной системе. Примечание: команда выполняется специально запущенным shell'ом, что, возможно, не является желательным. ~%take откуда [куда] Копировать файл откуда с удаленной системы в файл куда на локальной системе. Если часть куда опущена, то используется аргумент откуда. ~%put откуда [куда] Копировать файл откуда с локальной системы в файл куда на удаленной системе. Если часть куда опущена, то используется аргумент откуда.
При работе обеих команд, %take и %put, по мере передачи блоков на терминал выводятся последовательные цифры. ~~строка Послать ~строку на удаленную систему. ~%break Передать на удаленную систему символ прерывания (можно сокращать до ~%b). ~%debug Включить/выключить вывод отладочной информации (можно сокращать до ~%d). ~t Вывести значения компонентов структуры termio для пользовательского терминала (полезно для отладки). ~l Вывести значения компонентов структуры termio для коммуникационной линии (полезно для отладки). ~%nostop Включить/выключить Xon/Xoff-протокол при вводе. Эта команда применяется в тех случаях, когда удаленная система не может правильным образом реагировать на символы CTRL+S и CTRL+Q.
Принимающий процесс обычно копирует данные, получаемые от удаленной системы, на свой стандартный вывод. Особым образом обрабатываются строки, начинающиеся с символа ~. Комбинация символов ~>:файл используется для переназначения стандартного вывода (комбинация ~>>: - для добавления информации). Восстановление стандартного вывода обеспечивает строка ~>.
При использовании команды ~% put ожидается, что на удаленной стороне доступны утилиты и . Ожидается также, что символы "забоя" последнего введенного символа и последней введенной строки на локальной и удаленной системах совпадают. В соответствующих местах вставлены символы \.
При использовании команды ~%take ожидается, что на удаленной стороне доступны утилиты и . Чтобы символы табуляции передавались без замены их пробелами, на удаленной системе должен быть установлен режим stty tabs.
Если команда cu была использована в системе X для связи с системой Y, а затем была использована в системе Y для связи с системой Z, команды на системе Y могут быть выполнены посредством команды ~~. Например, команда uname может быть выполнена на системах Z, X и Y следующим образом:
uname на Z ~[X]!uname на X ~~[Y]!uname на Y
Вообще, ~ означает, что команда будет исполнена на исходной машине, а ~~ - на следующей машине по цепочке вызовов.
ПРИМЕРЫ
- Вызвать систему с номером 9 201 555 1212, используя скорость передачи 1200 бод, с ожиданием гудка после первой девятки:
cu -s1200 9=2015551212
Если скорость не указана, по умолчанию она принимается равной Any. - Подключиться к системе, доступной напрямую:
cu -l /dev/tty10
или
cu -l tty10 - Использовать имя системы:
cu $NAME
ФАЙЛЫ
/usr/lib/uucp/Systems /usr/lib/uucp/Devices /usr/spool/locks/LCK..линия
СМ. ТАКЖЕ
, , , , , .
КОДЫ ЗАВЕРШЕНИЯ
Нулевой код при нормальном завершении, единичный - в противном случае.
ПРЕДОСТЕРЕЖЕНИЯ
Команда cu не производит никакой проверки целостности пересылаемых данных. Данные, содержащие символы, имеющие для cu специальное значение, могут не быть переданы должным образом. В зависимость от оборудования, может являться необходимым использование ~. для завершения передачи даже если была выполнена команда stty 0. Нельзя быть уверенным в надежной передаче командами ~%put или ~%take управляющих символов. После установления соединения приглашение может появляться не сразу, а лишь после нажатия возврата каретки.
СЮРПРИЗЫ
Во время выполнения команды ~%put процесс передачи искусственно замедляется, чтобы уменьшить вероятность потери данных.