qtalk

Обмен данными по линии связи

Синтаксис:

qtalk [опции] [система]

Поддерживаемые платформы:

Neutrino

Опции:

-b [боды|данные|четность|стоп][,...]

Изменить значения для последовательного порта на указанные: скорость в бодах, четность, стоповые биты и/или биты данных. Значения 1-2 интерпретируются как стоповые биты, 7-8 как биты данных, none, even, odd, mark и space как биты контроля четности, все остальные числа как скорость в бодах. Порядок не имеет значения, например можно указать -b 9600,8,n,1.

-c hh

Установить это значение в качестве символа вызова команд qtalk. Значение по умолчанию 01 (Ctrl- A).

-D задержка


Ожидать указанное число периодов, равных 1/20 секунды, перед выполнением команды, указанной в опции -x.

Утилита qtalk считывает все данные, передаваемые модемом в течение этого периода задержки, и перед запуском команды отображает данные на экране.

Если -x используется без этой опции, qtalk не ожидает перед запуском команды. В результате, если модем передает информацию после передачи строки набора номера от qtalk, возможность контроля над получением этой информации qtalk или командой отсутствует.

-d hh

Заменить символ стирания ASCII этим символом. Значение по умолчанию 7f.

-e

Разрешить локальный вывод.

-h

Разорвать соединение по текущей модемной линии, если осуществляется набор номера новой системы из qtalk с помощью команды Ctrl-A. По умолчанию текущее модемное устройство закрывается, но линия не сбрасывается.

-l журнал

("эль") Регистрировать сеанс qtalk в файле_журнала.

-m модем[,строка_инициализации]


Имя используемого устройства. Если указано несколько опций -m, то qtalk проверяет каждую из них в указанном порядке до обнаружения неиспользуемого устройства.

Если указана строка_инициализации, то она передается модему в первую очередь.
 -o протокол=команда
Переопределить опции протокола передачи; аргумент протокол может принимать следующие значения:

Протокол

Операция

qcp_se

отправка qcp

qcp_re

получение qcp

zmodem_se

отправка ZMODEM

zmodem_re

получение ZMODEM

other_se

отправка по другому протоколу

other_re

получение по другому протоколу


При этом аргумент команда соответствует команде, посредством которой осуществляется передача файлов. Эта команда выполняется командным интерпретатором. В макроопределении $MODEM устанавливается путевое имя модемного устройства и, в случае передачи, в макроопредедлении $FILENAME устанавливается имя передаваемого файла.

Автоматический вызов протокола утилитой qtalk можно запретить путем установки нулевой строки ("") в качестве значения команда. Например, следующий код запрещает автоматическое получение ZMODEM:

qtalk -o zmodem_re=""

Для получения информации о командах протокола по умолчанию или дополнительной информации об автоматическом вызове протоколов см. раздел "Автоматический вызов qcp и ZMODEM".

Использование другого протокола ("other") позволяет настроить в qtalk собственные команды для отправки и получения файлов.

-P

Игнорировать бит контроля четности для полученных символов.

-q

Вывести краткую информацию; скрыть баннер и отображать в командном режиме только краткое приглашение.

-s системный_каталог

Использовать для поиска вызываемой системы этот файл вместо $HOME/.qtalk.

-t протокол_передачи

Установить в качестве текущего протокола передачи qcp, zmodem или other. (Для изменения командной строки, выполняемой в целях передачи файла, используется опция -o.)

-x "команда"

Выполнить эту команду после отправки строки набора номера для указанной системы (см. также -D). При выполнении команды в переменной среды MODEM устанавливается путевое имя выбранного модемного устройства.

система


Имя системы, которую требуется вызвать с помощью утилиты qtalk. Система должны быть определена в $HOME/.qtalk (или в файле, указанном в опции -s) или в общесистемном каталоге номеров /etc/config/qtalk. Для получения дополнительной информации см. описание команды вызова системы d (dial system).

Описание:

Утилита qtalk позволяет пользователям QNX Neutrino обмениваться данными с другими компьютерами по последовательной линии связи, которая обычно подключена к модему. Адресатом может быть другой компьютер: в этом случае qtalk позволяет использовать собственный компьютер в качестве терминала. Также утилита qtalk позволяет двум пользователям QNX Neutrino обмениваться данными и файлами.

С помощью модема утилита qtalk отправляет любые символы, вводимые с клавиатуры, в другую систему. Отображаются все символы, полученные модемом. В локальном режиме вывода отображаются введенные символы и символы, отправляемые с помощью модема.

Конфигурирование поведения по умолчанию

Утилита qtalk позволяет определить новые значения по умолчанию для опций командной строки. Эти параметры настройки можно определить путем создания или изменения системы (в глобальном и/или персональном каталоге номеров) с именем defaults. Прежде чем перейти к опциям командной строки, qtalk в первую очередь осуществляет поиск и обработку записи набора номера defaults. Утилита qtalk сначала осуществляет поиск defaults в $HOME/.qtalk и затем, если эта запись не обнаружена, в /etc/config/qtalk. При этом системный администратор может установить новые общесистемные значения по умолчанию, а отдельные пользователи создать собственное поведение по умолчанию для qtalk.

Опции командной строки, определенные для системы defaults, применяются до опций, указанных в фактической командной строке. Таким образом, параметры настройки для системе "defaults" можно переопределить с помощью опций командной строки.

Примечание. Опция командной строки -s не влияет на последовательность поиска системы defaults утилитой qtalk.

Регистрация данных сеанса

Существует возможность регистрации данных сеанса qtalk с помощью опции -l:

qtalk -l /dev/par

или, если журнал, при необходимости, требуется вести в файле /tmp/logfile:

qtalk -l /tmp/logfile


Использование управляющего символа

Для установки особых режимов и опций в среде qtalk можно использовать специальный управляющий символ. Значение по умолчанию для этого символа Ctrl-A (^A), которое может быть изменено с помощью опции -c при вызове qtalk. После ввода управляющего символа отображаются некоторые текущие параметры настройки и выдается приглашение на ввод команды. Если управляющий символ введен дважды, то на модем передается один управляющий символ. Это позволяет, при необходимости, отправить управляющий символ в удаленную систему.

Замена символа стирания/удаления

Использовать опцию -d hh удобно при обмене данными с компьютерами, символ стирания на которых отличается от привычного. Во многих системах для стирания символа используется клавиша Backspace key (шестнадцатеричное значение 08). В системах QNX Neutrino по умолчанию используется символ стирания ASCII (шестнадцатеричное значение 7F). Если ввести

qtalk -d 08

то qtalk автоматически преобразует значение клавиши стирания в символ возврата на позицию.

Активация управления обменом данными

Использование высокоскоростных модемов или ведение журнала на медленных печатающих устройствах или гибких дисках может привести к потере некоторых символов. Для предотвращения потери символов в таких ситуациях перед вызовом qtalk можно активировать управление потоком ввода (см. stty). Это возможно только в том случае, если на компьютере, с которого отправляются данные, поддерживается управление потоком вывода.

Передача файлов

Утилита qtalk позволяет передавать файлы двумя способами:

Для отправки файла на хост с помощью w сначала следует настроить компьютер на прием потока текста. Для этого применяется редактор или утилита cat. Затем можно использовать команду w для отправки файла.

Для получения файла с удаленного хоста с помощью команды l сначала следует настроить запись регистрируемых данных в требуемый файл (с помощью команды l) и затем ввести команду в удаленной системе для отображения этого файла (например, cat имя_файла в системах UNIX).

Автоматический вызов qcp и ZMODEM

Утилита qtalk выполняет попытку обнаружения операции передачи файлов qcp и zmodem, если qtalk находится на получающей стороне. При обнаружении такой операции qtalk автоматически вызывает соответствующую команду поступления для используемых протоколов. Это поведение можно запретить; см. описание опции -o.

Если обнаружена операция передачи qcp или zmodem или указана команда r, утилита qtalk запускает (через командный интерпретатор) одну из команд протокол_re.

Соответствующие команды протокол_se (для отправки файла) вызываются только после поступления команды s, а не автоматически.

Команды протокола по умолчанию:

qcp_re="qcp $MODEM re"

qcp_se="qcp $MODEM se $FILENAME"

zmodem_re="rz <$MODEM >$MODEM"

zmodem_se="sz $FILENAME <$MODEM >$MODEM"

other_re=""

other_se=""

Активировать протокол other_re автоматически невозможно. Для вызова other_re или other_se выберите s или r в командном меню, если для текущего протокола передачи файлов установлено значение "other".

Интерактивные команды:

Следующие команды можно указать путем нажатия сначала управляющего символа (обычноCtrl-A).

b (разрыв)

Отправить сигнал разрыва по модему. Отправить сигнал разрыва также можно путем нажатия клавиши разрыва (Ctrl-Break на клавиатуре консоли).

C (управляющий символ)

Изменить управляющий символ. Выводится приглашение на ввод нового управляющего символа в шестнадцатеричном виде (например, 0x02) или в виде ^символ (например, ^b).

c (изменить каталог)

Если указана команда c, то qtalk запрашивает новое имя каталога и выполняет попытку перехода к этому каталогу. В случае успешного перехода qtalk к указанному каталогу он становится текущим рабочим каталогом (см. описание утилиты pwd) на время выполнения qtalk или до следующего изменения каталога. После завершения qtalk текущим рабочим каталогом снова становится тот каталог, который был текущим в момент вызова qtalk.

d (набрать номер системы)

Если указана команда d, то qtalk выдает приглашение на ввод имени системы. В первую очередь утилита осуществляет поиск этого имени в основном каталоге номеров набора ($HOME/.qtalk) и, если оно там отсутствует, в общесистемном каталоге номеров набора /etc/config/qtalk.

Если в качестве имени системы введен вопросительный знак (?), то отображается содержимое обоих каталогов номеров набора (если они существуют) и повторно выдается приглашение на ввод имени системы. Для прерывания команды набора номера и возврата к нормальному режиму обмена данными используется клавиша Enter, имя не вводится.

Набор номера реализуется путем поиска имени системы, которое также можно указать в командной строке при вызове qtalk, сначала в файле $HOME/.qtalk, затем в файле /etc/config/qtalk. Формат этих файлов одинаков:

имя_системы [строка_набора_номера]

[ <пробельный_символ> опции_командной_строки]

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

В строках набора номера можно указать любой из следующих символов (qtalk обрабатывает эти символы вместо отправки их модему напрямую):

|

Отправить символ возврата каретки.

~

Продолжительность задержки 1 секунда.

'

Продолжительность задержки 100 миллисекунд.

^

Не отправлять сигнал DTR в течение 1 секунды (принудительный разрыв соединения и сброс модема).

!

Завершить разрыв продолжительностью 500 миллисекунд.

\o

Отправить один символ, представленный o, где o является одно-, двух- или трехразрядным восьмеричным числом.

\xhh

То же, что и выше, но в шестнадцатеричном формате.

Дополнительные строки после строки, которая определяет имя системы и строку набора номера, могут содержать дополнительные опции командной строки qtalk, применяемые при обмене данными с этой системой.

При необходимости наличия этих дополнительных строк каждая из них должна начинаться по крайней мере с одного символа табуляции или пробела. Следует отметить, что одна опция командной строки не может быть указана на нескольких строках. Однако можно указывать всего по одной опции на строку.

D (символ удаления)

Изменить символ удаления. Выводится приглашение на ввод нового символа удаления в шестнадцатеричном формате (например, 0x08) или в виде ^символ (например, ^h).

e (вывод на экран)

Если указана команда e, то значение функции локального вывода изменяется. В некоторых системах предполагается локальный вывод на экран "терминала" (полудуплексный режим).

h (разорвать соединение)

Если указана команда h, то линии CTS/RTS сбрасываются примерно на 1/2 секунды. В этом случае возникает аппаратный разрыв соединения для модемов, поддерживающих таковой.

l (регистрировать)

Начать или завершить регистрацию данных этого сеанса. Если файл журнала не открыт, то qtalk запрашивает имя файла, в который будет осуществляться запись. Если запись уже выполняется, то она будет завершена, и файл журнала закроется. Команда l записывает каждый отправленный или полученный символ в файл журнала.

Для создания "мгновенных снимков" данных, получаемых от удаленного компьютера на медленной скорости, можно использовать опцию l.

o (изменить опции протокола)

Запрашивает протокол, строку команды которого требуется изменить (qcp, ZMODEM, other). Отображаются текущие строки команд s и r и выдается приглашение на ввод новой строки команды. Для установки пустого значения строки используется "". Если вносить изменения не требуется, нажмите Enter.

p (четность)

Игнорировать бит четности (верхний бит) полученных символов. Если эта опция уже установлена, то она будет выключена.

q (завершить работу и разорвать соединение)

Выполняется команда разрыва соединения (см. описание h выше), и затем qtalk завершает работу.

r (вызвать получение)

Вызвать выбранный в настоящее время протокол передачи файлов для получения файла. Следует отметить, что qtalk автоматически вызывает qcp и ZMODEM при обнаружении полученной последовательности загрузки одного из этих протоколов.

s (отправить файл)

Отправить файл с использованием выбранного в настоящее время протокола передачи файлов. Файл посылается в другую систему, на которой запущен тот же протокол, что является более безопасным, чем простая запись файла в модем.

Если в настоящий момент выбран протокол qcp, то можно отправить несколько файлов, путем определения опции x=индексный_файл при получении от qtalk запроса на отправляемый файл. Этот файл содержит список отправляемых файлов, по одному файлу на строку. Также можно указать несколько имен файлов, разделенных пробелами.

Утилита qcp позволяет указать имя целевого файла после имени отправляемого файла. Эти два имени разделяются запятой. Так же можно поступить в отношении имен файлов в индексном файле (опция x=). Пример:

Send file(s)? file1 main.c,new_main.c


В результате file1 отправляется как file1, а файл main.c с именем new_main.c. Если новое имя не указано, то qtalk создает файл с тем же именем, что и отправленный файл.

Файлы, полученные qtalk по протоколу qcp, имеют те же атрибуты и дату, что и файл на отправляющей стороне.

Для большинства протоколов передачи необходимо настроить модемный порт для 8-разрядных данных (для установки на последовательном порте возможности передачи 8-разрядных данных используется опция -b; также см. описание команды stty).

t (выбрать протокол передачи)

Отображает используемый протокол (например, qcp, ZMODEM) и запрашивает выбор нового протокола. При нажатии Enter изменения не применяются. С помощью этой команды можно изменить используемый протокол, если вызываются команды s и r из командного меню.

x (завершить работу)

Завершение работы qtalk без разрыва соединения. Для выхода из qtalk рекомендуется использовать команду q (завершение работы с разрывом соединения), кроме случаев, когда действительно не требуется выполнять разрыв соединения.

! (выполнить команду командного интерпретатора)

Эта команда позволяет выполнить любую команду из qtalk. Команду ! рекомендуется использовать в следующих целях:
Примеры:

Вызов системы с именем home:

qtalk home

Обмен данными с компьютером, на котором не предусмотрен вывод на экран (полудуплексный режим) и ожидается символ возврата на позицию ASCII (шестнадцатеричное значение 08) для удаления символов:

qtalk -e -d 08

Обмен данными с другой системой и печать данных сеанса на принтере:

qtalk -l /dev/par

Использование опции qcp -n для операций получения qcp (т.е. получение только файлов, которые созданы позднее, чем существующие):

qtalk -o qcp_re="qcp $MODEM re -n"