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 ожидается, что на удаленной стороне доступны утилиты stty(1) и cat(1). Ожидается также, что символы "забоя" последнего введенного
символа и последней введенной строки на локальной и
удаленной системах совпадают. В соответствующих местах
вставлены символы \.
При использовании команды ~%take ожидается, что на удаленной стороне доступны утилиты echo(1) и cat(1). Чтобы
символы табуляции передавались без замены их пробелами,
на удаленной системе должен быть установлен режим 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..линия
СМ. ТАКЖЕ
cat(1), ct(1C), echo(1), stty(1), uname(1), uucp(1C).
КОДЫ ЗАВЕРШЕНИЯ
Нулевой код при нормальном завершении, единичный - в
противном случае.
ПРЕДОСТЕРЕЖЕНИЯ
Команда cu не производит никакой проверки целостности
пересылаемых данных. Данные, содержащие символы, имеющие для cu специальное значение, могут не быть переданы
должным образом. В зависимость от оборудования, может
являться необходимым использование ~. для завершения
передачи даже если была выполнена команда stty 0. Нельзя быть уверенным в надежной передаче командами ~%put
или ~%take управляющих символов. После установления соединения приглашение может появляться не сразу, а лишь
после нажатия возврата каретки.
СЮРПРИЗЫ
Во время выполнения команды ~%put процесс передачи искусственно замедляется, чтобы уменьшить вероятность потери данных.
|
|