русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Выполнение команд с uux


Дата добавления: 2013-12-23; просмотров: 870; Нарушение авторских прав


Выборка файлов командой uupick

Для выборки файла, отправленного командой uuto, используется команда uupick. Для ее выполнения вводится:

 

uupick

 

Программа uupick просматривает общий каталог в поисках всех посланных файлов. Если таковые обнаруживаются, uupick выдает сообщение:

───────────────────────────────────────────────────

│ from source_computer: file filename?

Здесь source_computer - имя отправившего компьютера, а filename - имя переданного файла. Для предыдущего примера, если команда uuto, передавшая файл пользователю cindy на machine2, выполнена успешно, появится следующий запрос uupick:

───────────────────────────────────────────────────

│ from machine 1: file transfile?

Существует несколько вариантов ответа на указанный запрос. Наиболее часто используемые из них: m[dir] и d. Ответ m[dir] заставляет uupick переписывать файл в каталог dir. После этого можно обращаться к файлу как к файлу, принадлежащему вашей системе. В вышеприведенном примере пользователь cindy может ввести следующий ответ на запрос uupick:

 

m $HOME

 

В этом случае transfile будет перемещен из общего каталога в личный. Если после m не указан ни один из каталогов, файл перемещается в текущий каталог получателя. Ответ d приводит к удалению файла из общего каталога. Для выхода из uupick введите q.



 

Команда uux используется для выполнения команд на удаленных станциях и работы с файлами, полученными с удаленных станций. Из соображений безопасности список команд, доступных для выполнения на удаленном компьютере, очень ограничен. Этот список содержится в файле /usr/lib/uucp/Permissions. Если пользователь попытается выполнить команду, отсутствующую в файле, будет послано почтовое сообщение, указывающее, что команда не будет выполнена. Синтаксис команды uux:

 

uux [опции] командная_строка

 

Вид командной строки не отличается от любой другой командной строки UNIX, за исключением того, что командам и именам файлов должно предшествовать имя станции.

Рассмотрим пример выполнения команды в удаленной системе. Приведенная ниже команда вызывает посылку файла /tmp/printfile с machine2 на печатающее устройство machine2:

 

uux machine2!lp machine2!/tmp/printfile

 

В следующем примере показано, как в локальной системе выполнять команду над файлами, полученными из удаленных систем с помощью команды uux. Предположим, что локальный компьютер связан с machine2 и machine3. Предположим также, что требуется сравнить содержимое файла /tmp/chpt1 на machine 2 с содержимым файла /tmp/chpt1 на machine3. Для этого введите следующую команду:

 

uux "diff machine2!/tmp/chpt1 machine3!/tmp/chpt1 > diff.file"

 

Эта команда сравнивает содержимое файлов machine2 и machine3 и помещает результаты в файл diff.file текущего каталога на локальной машине. Так как в команде diff отсутствует имя станции, команда выполняется локально.

Заметьте, что в приведенном примере командная строка заключена в кавычки. Это объясняется тем, что в ней имеется символ переназначения (>). Вообще говоря, кавычки в команде uux имеют место в том случае, если она содержит специальные символы shell, такие как <, >, | и так далее.


РЕАЛИЗАЦИЯ ПРОТОКОЛА TCP/IP В ОС UNIXTCP/IP - это группа протоколов, используемых для связи компьютерных сетей и маршрутизации движения информации между большим количеством различных компьютеров. "TCP" означает "Протокол контроля передачи", а "IP" означает "Протокол межсетевого взаимодействия". Протоколы стандартизированы описанными допустимыми форматами, обработкой ошибок, передачей сообщений и стандартами связи. Компьютерные системы, которые подчиняются протоколам связи, таким как TCP/IP могут использовать общий язык. Это позволяет им передавать сообщения безошибочно нужным получателям, не смотря на большие различия в аппаратном и программном обеспечении различных машин. Многие большие сети были выполнены на основе этих протоколов, включая DARPA сеть. Разнообразные университеты, учреждения и компьютерные фирмы связаны в глобальную сеть, которая следует протоколам TCP/IP. Тысячи индивидуальных машин подсоединены к глобальной сети. Любая машина в глобальной сети может взаимодействовать с любой другой (термин "глобальная сеть" обычно используется для названия действия объединения двух или более локальных сетей.). Машины в глобальной сети называются "hosts"(главные ЭВМ) или "nodes"(узловые ЭВМ). TCP/IP обеспечивает базу для многих полезных средств, включая электронную почту, передачу файлов и дистанционную регистрацию. Электронная почта предназначена для передачи коротких текстовых файлов. Прикладные программы для передачи файлов могут передавать очень большие файлы, содержащие программы и данные. Они также могут выполнять контрольные проверки правильности передачи данных. Дистанционная регистрация позволяет пользователям одного компьютера зарегистрироваться на удаленной машине и получить в интерактивном сеансе связи ресурсы этой машиной. Протокол межсетевого взаимодействия (IP)IP определяет несвязанную пакетную доставку. Эта доставка связывает одну или более пакетно-управляемые сети в глобальную сеть. Термин "несвязанную" означает, что получающая и посылающая машины не связаны собой непосредственным контуром. Здесь индивидуальные пакеты данных (дейтаграммы) маршрутизируются через различные машины глобальной сети к локальной сети-получателю и получающей машине. Таким образом, сообщения разбиваются на несколько дейтаграмм, которые посылаются отдельно. Необходимо заметить, что несвязанная пакетная доставка сама по себе ненадежна. Отдельные дейтаграммы могут быть получены или не получены и с большой вероятностью могут быть получены не в том порядке, в котором они были посланы. TCP увеличивает надежность. Дейтаграмма состоит из заголовка, информации и области данных. Заголовок используется для маршрутизации и процесса дейтаграммы. Дейтаграмма может быть разбита на малые части, в зависимости от физических возможностей локальной сети, по которой она передается. (Когда шлюз посылает дейтаграмму к локальной сети, которая не может разместить дейтаграмму как единый пакет, она должна быть разбита на части, которые достаточно малы для передачи по этой сети). Заголовки фрагментов дейтаграммы содержат информацию, необходимую для сбора фрагментов в законченную дейтаграмму. Фрагменты необязательно прибывают по порядку, в котором они были посланы; программный модуль, выполняющий IP протокол на получающей машине, должен собирать фрагменты в исходную дейтаграмму. Если какие-либо фрагменты утеряны, полная дейтаграмма сбрасывается. Протокол контроля передачи (TCP)Протокол контроля передачи данных (TCP) работает совместно с IP для обеспечения надежной доставки. Он предлагает средства обеспечения надежности того, что различные дейтаграммы, составляющие сообщения, собираются в правильном порядке на принимающей машине и, что некоторые пропущенные дейтаграммы, будут посланы снова, пока они не будут приняты правильно. Первая цель TCP - это обеспечение надежности, безопасности и сервиса виртуального контура связи между парами связанных процессов на уровне ненадежных внутрисетевых пакетов, где могут случиться потери, уничтожение, дублирование, задержка или потеря упорядоченности пакетов. Таким образом, обеспечение безопасности, например такой как, ограничение доступа пользователей к соответствующим машинам, может быть выполнено посредством TCP. TCP касается только общей надежности. Имеется несколько соображений относительно возможности получения надежного сервиса дейтаграмм. Если дейтаграмма послана через локальную сеть к удаленной главной машине, то промежуточные сети не гарантируют доставку. Кроме того, посылающая машина не может знать маршрут передачи дейтаграммы. Надежность пути "источник-приемник" обеспечивается TCP на фоне ненадежности среды. Это делает TCP хорошо приспособленной к широкому разнообразию приложений многомашинных связей. Надежность обеспечивается посредством контрольной суммы (коды обнаружения ошибок) последовательных чисел в заголовке TCP, прямого подтверждения получения данных и повторной передачи неподтвержденных данных. МАРШРУТИЗАЦИЯ СООБЩЕНИЙ Далее объясняется адресация и шлюзование сети. Эти два понятия - ключи к пониманию как маршрутизируются дейтаграммы в глобальных сетях. ШлюзыРазличные сети, которые составляют глобальную сеть, связаны посредством машинных шлюзов. Шлюз - это машина, которая связана с двумя или более сетями. Это позволяет проложить маршрут для дейтаграммы из одной сети в другую. Шлюзы маршрутизируют дейтаграммы, основываясь на сети-приемнике, а не на индивидуальной машине данной сети. Это упрощает схемы маршрутов. Шлюзы распределяют, какая следующая сеть будет получателем данной дейтаграммы. Если машина-получатель данной дейтаграммы находится в той же сети, то дейтаграмма может быть послана прямо в эту машину. В противном случае она передается от шлюза к шлюзу, пока не достигнет сети - получателя. Адресация сети Каждая машина в глобальной сети TCP/IP имеет 32 бита для сетевых адресов. Адрес включает две различные части: идентификатор сети и идентификатор главной машины. Машины, которые являются шлюзами, имеют более одного адреса, если они связывают более одной машины. Адреса глобальной сети назначаются Центром информации глобальной сети (NIC), который расположен в SRI Information в Менло, штате Калифорния. NIC назначает только идентификаторы сети. Затем администраторы каждой отдельной сети назначают идентификаторы главной машины своей сети. Есть три класса адресации сети, относящиеся к маленьким, средним и большим сетям. Чем больше сеть, тем больше число главных машин в этой сети. Соответственно, чем меньше сеть, тем меньше количество главных машин. Таким образом, когда 32 битный адрес распределяется между идентификатором сети и машины, большие сети требуют больше бит для уникального определения всех главных машин сети. Нужно отметить, что существует немного действительно больших сетей, и поэтому не требуется больше бит для идентификации этих сетей. Адреса сетей разбиты на три класса: А, В, С. Следующая таблица представляет эти классы и их форматы:
Класс Размер и конфигурация сети
Класс А 7бит - идентификатор сети, 24бита - идентификатор машины
Класс В 14бит - идентификатор сети, 16бит - идентификатор машины
Класс С 21бит - идентификатор сети, 8бит - идентификатор машины
Все адреса сети имеют 32 бита. Первый бит в классе А - 0, чтобы идентифицировать класс А. В классе В адрес начинается с 10 и в классе С адрес начинается с 11. Эта адресация сети предоставляет уникальный адрес для всех существующих типов сетей, которые могут быть среди различных сетей, использующих эту систему адресации. Фактически существует мало больших сетей, имеющих много главных машин (класс А), много маленьких сетей (класс С) и среднее количество средних сетей (класс В). Адрес сети часто пишется состоящим из четырех целых десятичных чисел, разделенных точкой, где каждый десятичный номер представляет один октет 32 битного адреса сети. Например, машина может иметь адрес128.12.3.5. Порты и сокеты TCP также использует 16 битное число, которое называется портом, чтобы записать адрес для связи. Порт определяет специальную принимающую программу или утилиту, такую как ftp (программа передачи файла). Сокет - это адрес, который включает идентификатор порта, это конкатенация адреса сети с портом TCP. Связь с помощью портов может быть показана на экране посредством утилиты netstat. ИСПОЛЬЗОВАНИЕ СЕТЕВЫХ КОМАНД Далее выполнен обзор межсетевых команд UNIX. Этот материал предлагает ключи к пониманию, необходимых для правильного использования команд в глобальной сети. Определим обсуждаемые вопросы: - Доступные команды сети - Равнозначность пользователей - Идентификация машинных адресов в командах - Проблемы доступа и пароля - Использование виртуального терминала - Передача файлов к и от удаленной машины - Выполнение дистанционных команд ОБЗОР СЕТЕВЫХ КОМАНД ДЛЯ TCP/IP TCP/IP команды - это производные окружения Berkeley UNIX и ARPANET сети. ARPA - это продукт Advanced Research Projects Agency. Команды, производные от Berkeley UNIX, могут использоваться только с UNIX и совместимыми с UNIX системами. Производные от ARPANET работают с любыми операционными системами. Основное различие между этими типами команд такова, что 4.3BSD (Berkeley UNIX) команды унаследовали UNIX-стиль работы с разрешениями в сети, ARPANET команды этих разрешений не понимают. Команды включенные в TCP/IP из Berkeley UNIX окружения называются r-командами (впереди команды ставится - r). Это такие команды как rcp, rcmd, rlogin. Эти команды типа 4.3BSD разработаны на специфике UNIX и наиболее удобны, когда пользователь работает на машине с системой UNIX. Команды, такие как telnet и ftp взяты из ARPANET. Они разработаны независимо от любой операционной системы. Протоколы, используемые в этих командах, разработаны в соответствии со спецификацией Department of Defense (DoD) Internet. Системные команды напечатаны вместе с их дескрипторами ниже. Не все из этих команд предназначены для использования пользователями системы. Некоторые обеспечивают административные функции. TCP/IP системные команды Команда Дескриптор ftp(TC) программа передачи файлаifconfig(ADMN) параметры конфигурирования интерфейса сетиlogger(TC) формирование элементов в системе регистрацииmkhosts(ADMN) команды создания имен узловnetstat(TC) изображение состояния сетиrcmd(TC) выполнение команд удаленных системных оболочекrcp(TC) копирование удаленных файловrlogin(TC) удаленная регистрацияruptime(TC) изображение состояния узлов локальной сетиrwho(TC) кто зарегистрировался в узле локальной сетиslattach(ADMN) подключение к последовательным линиям как сетевым интерфейсамsldetach(ADMN) отключение от последовательных линий как от сетевых интерфейсовtalk(TC) разговор с другим пользователемtelnet(TC) протокол интерфейса пользователя к DARPA TELNETtrpt(ADMN) печать протокола трассировки СЕТЕВЫЕ КОМАНДЫ UNIX Сеть UNIX - это группа машин, имеющих операционную систему UNIX или совместимую с UNIX, объединенных вместе, обычно посредством Ethernet. В глобальной сети UNIX две или более таких сети объединены вместе посредством шлюзов. Шлюзы глобальной сети невидимы на уровне команд интерфейса, создавая при этом иллюзию работы одной сети. (На шлюзы также ссылаются как на IP маршруты или мосты) UNIX - это командно-ориентированная система и, следовательно, чтобы использовать удаленные источники в глобальной системе UNIX, нужно использовать только специфические команды, допустимые в UNIX. Такие команды должны быть едиными в системе и могут быть вызваны на любом уровне. Они могут быть выполнены в программах пользователей, с использованием fork(S) и exec(S) системных вызовов или system(S) подпрограммы. Эти команды - это процессы пользователя операционной системы, но они требуют сетевого программного обеспечения для функционирования. В UNIX название команд такое же, как название файлов, которые содержат процессы программ. Как пользователь, чья машина подключена к сети UNIX, можно выполнить следующее: - дистанционно зарегистрироваться в другой машине, с которой вы хотите работать; - совершить логический переход с одной удаленной машины на другую без ввода пароля (если администратор вашей системы "уравнял" машины или, если вы создали эквивалент пользователя для этой машины); - выполнить команды на любой машине сети. Это означает, например, что вы можете выполнить команду с данными, где бы они в сети не были расположены. Преимущество этого в том, что вам не нужно перемещать файлы. Очевидно, что вы можете выбрать на исполнение команду, которую проще загрузить или вы можете создать последовательность UNIX команд, включая pipes, которая переместит данные от машины к машине для процесса; - получить доступ к глобальным данным со всех машин; - скопировать или переместить файлы с одной машины на другую, если на это есть разрешение (смотри chmod(C));- совместить работу таких устройств, как принтер накопитель на магнитном диске; - получить доступ к электронной почте системы, которая была создана для сети; - выполнять резидентные приложения на других машинах; - получить доступ к другим UNIX машинам, которые в данный момент выполняют соответствующие протоколы; Заметьте, что существует три типа объектов сети системы UNIX: - выполняемые команды и сервисные программы (иногда называемые daemons), поддерживающие команды - конфигурационные файлы - библиотечные и системные вызовы для использования программистами ВАЖНЫЕ ПОНЯТИЯ ДЛЯ ИСПОЛЬЗОВАНИЯ СЕТЕВЫХ КОМАНД Здесь обсуждают несколько понятий, которые надо знать для того, чтобы использовать сетевые команды правильно. Вот они: - эквивалент пользователя - связи и адреса - машинный доступ и пароль Эквивалент пользователя Эквивалент пользователя используют только в командах rcp, rcmd и rlogin. Команда rcp не может быть использована без эквивалента пользователя. Команда rlogin запрашивает имя пользователя и пароль, когда не установлен эквивалент пользователя; когда эквивалент установлен, пароль не запрашивается. Команда rcmd не может нормально использоваться без эквивалента пользователя. (Если rcmd вызывается с главной машины, то нет команды, когда нет эквивалента пользователя; аналогичный эффект, когда вызывается rlogin без эквивалента пользователя. Вот почему программа запрашивает имя пользователя и пароль для команды login). Для установления эквивалента используются несколько файлов. Один из них это /etc/hosts.equiv файл, который охватывает систему полностью за исключением корня. Другой файл это .rhosts файл в "домашнем" каталоге. Этот файл охватывает только индивидуальный каталог (Для корня это /.rhosts). Эти два файла работают вместе с третьим файлом /etc/password, который определяет экстент эквивалента пользователя. Существует два пути для установления эквивалента пользователя: - введение его в .rhosts и в /etc/password - введение его в /etc/hosts.equiv и в /etc/passwordВ обоих случаях /etc/password должен содержать элемент для эквивалента пользователя удаленной машины. Нельзя редактировать это файл, чтобы вставить элементы для эквивалента. Лучше использовать специальную утилиту, чтобы создать область пользователя и элементы в файле /etc/password для эквивалента пользователя. Эти два метода создания эквивалента, описанные выше, имеют различные контексты. Если файл .rhosts используется в соответствующей области, тогда эквивалент учреждается только для этой области. Однако, если в файле /etc/hosts.equiv есть элемент и область для главной машины, тогда эта область содержит эквивалент пользователя для любых областей (за исключением корня). Таким образом, если элемент в файле /etc/hosts.equiv имеет только имя главной машины, тогда любой пользователь на этой машине получает эквивалент пользователя для всех локальных областей (за исключением корня). Элементы для .rhosts должны включать имя машины и имя области. Файл /etc/hosts.equiv выделяет области для системного имени только как обсуждалось ранее. Если есть элементы в файлах /etc/hosts.equiv и .rhosts для одной и той же машины или области, где работают несколько машин, тогда элемент из /etc/hosts.equiv определяет экстент для эквивалента пользователя. Связи, имена и адреса Для осуществления связи между вашей машиной и некоторой удаленной машиной, посредством глобальной сети, вы должны сначала создать связь в удаленной машине. TCP/IP предоставляет автоматическую установку связи с помощью нескольких программ, в основном telnet и ftp. Вы должны знать связи и давать команды, чтобы установить их. Как при вызове по телефону, вы должны при установке связи сначала знать, как достичь вашего абонента. Каждая главная машина в глобальной сети имеет уникальный адрес, по которому она может быть вызвана для установки связи. Т.к. сетевые адреса не всегда легко запомнить, сетевое программное обеспечение позволяет использование имен вместо адресов. Имя главной машины задается вашим системным администратором. Если вы не знаете имя главной машины, которую вы хотите использовать, спросите вашего системного администратора. Поскольку главные машины могут использоваться для различных целей, возможно существование нескольких имен (алиасов) для одного и того же адреса машины. Однако каждое имя соответствует одному адресу машины и свяжет вас с этой машиной в любое время ее использования. Права доступа Часто в глобальных сетях различные главные машины находятся в юрисдикции различных отделов и людей. Таким образом, ответственный за главную машину часто желает ограничить доступ к ней из соображений безопасности и процедурных соображений. Права доступа к машине могут быть получены только по запросу.Если вы не можете получить доступ к машине, которая вам нужна для работы, вы или ваш администратор должны сделать запрос администратору сети на главной машине. Если вам нужен доступ анонимно ftp (смотри "передача файлов" дальше в этой главе), администратор может подключить машину или эквивалент пользователя между вашей главной машиной и удаленной главной машиной. ВИРТУАЛЬНЫЕ ТЕРМИНАЛЫ И УДАЛЕННАЯ РЕГИСТРАЦИЯ Команда rlogin(TC) и ARPANET команда telnet(TC) обеспечивают выбор возможности виртуального терминала. Виртуальный терминал создается, когда вы используете вашу локальную машину для регистрации на удаленной машине. Впечатление такое, что ваш терминал логически подключен к удаленной машине. Переключение вашего терминала между UNIX-совместимыми машинами может быть таким же легким как печать имени машины, к которой вы хотите подключиться. Возможность виртуального терминала отличается от дистанционного выполнения команд тем, что пользователь может использовать программы, которые основаны на прямом доступе терминала, таких как vi(C). Эти команды используют терминал в режиме прямого доступа. Это значит, что чтение производится символ за символом, а не строка за строкой. Далее следует короткий обзор telnet и rlogin. Команда telnet Эта команда предоставляет виртуальный терминальный доступ к другим машинам в сети. Используя telnet, вы можете зарегистрироваться на любой главной машине локальной сети, ресурс которой вам необходим, точно также как будто вы являетесь пользователем этой машины. Если вызвана telnet и создана связь, ваш терминал подключается к удаленной машине, и команды, которые вы набираете, проходят к этой машине. Ответы с удаленной машины будут высвечиваться на экране вашего терминала. Дистанционная регистрация при помощи rlogin Вы можете использовать rlogin для регистрации на другой удаленной UNIX -совместимой машине. Для использования команды необходимо знать пароль на этой машине, на которой вы собираетесь зарегистрироваться. Однако, если вы уже пользователь эквивалента на удаленной машине, то вам не нужен пароль. rlogin команда может использоваться только на UNIX-совместимых машинах. ПЕРЕДАЧА ФАЙЛОВ Команда ftp позволяет вам манипулировать файлами на двух машинах одновременно. Используя ftp, вы можете проверять директории и перемещать один или множество файлов между системами. Эта программа разработана независимой от операционной системы. Дополнительное свойство ftp в том, что она позволяет анонимному пользователю, который не имеет ресурсов своей машины, расположить нужные файлы без пароля защитной области директория ftp. ftp не требует (или понимает) эквивалент пользователя. Команда копирования удаленных файлов rcp не требует эквивалента пользователя. Это специфическая UNIX команда и она может быть использована, если вы передаете файлы между UNIX-совместимыми машинами. ВЫПОЛНЕНИЕ УДАЛЕННЫХ КОМАНД Команда rcmd позволяет вам посылать команды к удаленным UNIX машинам для выполнения получать результаты назад. Вам нет необходимости регистрироваться на удаленных машинах, чтобы использовать rcmd; с этой машиной появляется канал связи. Эта команда полезна для создания дистрибутивных shell программ, которые выполняют команды на удаленных машинах посредством сети. Чтобы использовать rmcd, вы должны иметь эквивалент машины-адресата (машины, на которой вы пытаетесь выполнить команду). Эта команда может быть использована только с удаленными машинами, которые используют UNIX или UNIX-совместимую операционную систему. Команда rcmd передает свой стандартный ввод и вывод удаленно выполняемым командам и возвращает в исходную систему все, что является результатом работы удаленной команды, т.е. стандартный вывод и файл ошибок. Для прямого доступа вас должен быть файл /usr/hosts. ВЫПОЛНЕНИЕ УДАЛЕННЫХ КОМАНД ИСПОЛЬЗОВАНИЕ rcmd Команда rcmd позволяет вам посылать команды к удаленным UNIX-совместимым машинам и получать результат их работы назад. Вам нет необходимости регистрироваться на удаленной машине, чтобы использовать rcmd. Эта команда полезна для создания дистрибутивных shell программ. Чтобы использовать rcmd, вы должны иметь эквивалент машины-адресата. Машина-адресат это машина, на которой вы хотите выполнить команду.Эта команда может быть использована только с удаленными машинами, которые используют UNIX или UNIX-совместимую операционную систему.Команда rcmd передает свой стандартный ввод и вывод удаленно выполняемым командам и возвращает в исходную систему все, что является результатом работы удаленной команды, т.е. стандартный вывод и файл ошибок.Для прямого доступа вас должен быть файл /usr/hosts. Вызов rcmd Команда rcmd взята из командного языка UNIX. Вы должны установить имя машины и одну или более команд для выполнения. Например: # rcmd имя машины команда(ы)В большинстве случаев вы можете пропустить rcmd, которое относится к командному языку и просто записать: # имя машины команда(ы)Для того, чтобы вы смогли использовать эту особенность, ваш системный администратор должен конфигурировать UNIX для доступа к удаленной машине без вызова rcmd. Ваш системный администратор может подсказать как конфигурирована ваша машина. Опции rcmd Существует две опции, которые вы можете специфицировать при вызове rcmd. Эти опции следующие: -l пользователь Обычно, команда, которую вы специфицируете, выполняется на удаленной машине под вашим пользовательским именем. Эта опция позволяет вам выполнять команду под другим пользовательским именем. Например: # rcmd имя машины -l tom командаИспользуете ли вы свое имя или другое имя, вы должны получить разрешение на выполнение команды на удаленной машине. Администратор машины может подсказать, как сконфигурирована удаленная машина. -n Эта опция защищает rcmd от посылки стандартного ввода в удаленную команду и вы от считывания стандартного ввода. Это делается с помощью /dev/null. Например: # rcmd имя машины -n -l tom команда Считывание означает чтение в буфер данных. Буферы команды rcmd выполняют стандартный ввод данных не взирая на то, читает ли их удаленная команда или нет. Пример сеанса использования rcmd Следующий пример показывает, как rcmd используется для выполнения who(C) команды на удаленной машине, называемой admin. Вывод располагается в файле на локальной машине посредством считывания стандартного вывода. В этом примере стандартный вывод направляется в файл /tmp/admin.who. # rcmd admin who > /tmp/admin.who Дистанционная печать Команда rcmd может быть использована для дистанционной печати, как показано в следующем примере, который печатает файл, называемый templ на принтере системы, называемом systemx: $ cat temp1 | rcmd systemx lp ИСПОЛЬЗОВАНИЕ ДИСТАНЦИОННЫХ ТЕРМИНАЛОВ. Этот раздел объясняет, как использовать две команды TCP/IP, которые обеспечивают способности виртуального терминала. "Виртуальный" означает, что физических связей с удаленными машинами нет. Тем не менее, команды сами создают эти физические связи между вашим терминалом и удаленной машиной. "Терминал" означает, что команды позволяют терминалу вашей машины действовать как терминал удаленной машины посредством сети. Команды виртуального терминала описываются следующими символами: - telnet(TC) - rlogin(TC)Команда telnet обеспечивает виртуальному терминалу доступ к другим машинам глобальной сети. Используя telnet, вы можете зарегистрироваться на другой главной машине сети, к которой вы имеете разрешение, как будто вы пользователь этой машины. Как только вызвана telnet, ваш терминал подключается к удаленной машине и данные, которые проходят к этой машине. Ответы с удаленной машины изображаются на экране вашего терминала. Команда rlogin может использоваться вместо telnet, чтобы связаться с другими машинами в операционной системе UNIX. Команда rlogin предоставляет доступ виртуального терминала к другим машинам также, как операционная система UNIX. Для полной информации смотри раздел, озаглавленный "Команда rlogin" далее в этой главе. СВЯЗЬ С ИСПОЛЬЗОВАНИЕМ telnet Программа telnet - это интерактивная программа, которая позволяет вам связаться с удаленными машинами на уровне терминалов. Как только вы вызвали telnet, вы находитесь в диалоге до тех пор, пока не выйдите из этого режима и не вернетесь в ту программу, из которой вы вышли. Командный режим и режим ввода Когда вы открываете telnet связь с удаленными машинами, вы находитесь в режиме ввода. Этот режим передает все символы, которые вы набираете, к удаленной машине и на вашем терминале появляются все данные, посланные вам удаленной машиной. Для прерывания существует специальный символ ( ^] ). Если вы его напечатали, то происходит переход telnet в командный режим. (Прерывание может быть осуществлено набором ] ).В командном режиме данные, которые вы набираете интерпретируются telnet, чтобы позволить вам контролировать telnet действие. Командный режим активен, когда telnet не связан с удаленной главной машиной.Когда telnet в режиме ввода, то связь с удаленной машиной основана на некоторых опциях. Эти опции определяют, как будет осуществляться связь оперативных систем и компьютеров. Примером такой опции может быть какое "эхо" отражает символы, которые вы набираете, вашей машины или удаленной машины. Программа telnet и удаленная машина, которую вы выбрали, будут отвергать эти опции и устанавливать свои, совместимые с вашей машиной, при связи с удаленной машиной. Вызов программы telnet Программа telnet вызывается из оболочки UNIX с помощью команды telnet.Вы можете специфицировать имя машины, с которой вы хотите связаться. Следующий пример показывает как выполнить связь с машиной admin: telnet adminИмя машины определяется вашим системным администратором. Вы можете узнать имена машин, разрешенных для вас, распечатав содержимое файла /etc/hosts. Когда вы определились с именем, вызывайте telnet. это установит связь и установит режим ввода. Вы можете также вызвать telnet без имени машины. Например: telnetВ этом случае вы будете в командном режиме. Если вы не установили имя машины, вы должны установить связь с удаленной машиной, используя команду open из telnet программы. Основные детали даны в следующем разделе "Использование telnet команд". Использование telnet команд Вы можете вводить telnet команды, когда есть сообщение о командном режиме telnet: telnet>Если вы не набрали имя машины, то вы находитесь в командном режиме. Тоже самое вы увидите если введете в режиме ввода (^] ). Если вы перешли в командный режим из режима ввода, telnet остается в командном режиме после ввода каждой команды. Если вы используете open команду для установки связи с удаленной машиной, то telnet перейдет в режим ввода. Если вы перешли в командный режим из режима ввода, то telnet вернется в режим ввода после выполнения команды. Если вы использовали команду close, чтобы разорвать связь с удаленной машиной, telnet останется в командном режиме после отработки команды. Если вы использовали команду quit, telnet закрывается и вы вернетесь в программу, из которой вышли. Каждая команда в командном режиме должна следовать за Return. Программа telnet не воспримет команду, пока вы не нажмете Return. Если вы сделали ошибку при наборе команды, вы можете использовать команды редактирования erase (BKSP) или kill(Cancel), чтобы отредактировать символы, которые вы набрали. Однако, эти команды редактирования не работают в режиме ввода. Вместо них используются telnet send команды. Они обсуждаются дальше. При вводе команды вам нет необходимости вводить полное название команды. Нужно ввести количество символов, достаточное для идентификации команды. TCP/IP. Далее дано описание telnet команд: open Эта команда устанавливает telnet связь с удаленной машиной. Вам следует определить имя этой машины как опцию команды. Этот пример открывает telnet связь с машиной admin: telnet> open admin close Эта команда закрывает связь с удаленной машиной и останавливает работу telnet. Функционально это эквивалент команды quit. quit Эта команда прекращает работу telnet программы. При этом происходит выход из программы. Эта команда закрывает связь с удаленной машиной, если она была активной.z Эта команда задерживает работу telnet для контроля. В других системах команда предоставляет пользователю другую оболочку. mode Далее следуют подкоманды и опции команды mode, чей синтаксис описан на страницах, описывающих telnet(TC): mode [ line | character ] line Удаленная машина запрашивает разрешения перейти в режим построчного считывания. character Удаленная машина запрашивает разрешения перейти в режим посимвольного считывания. display Эта команда отображает на экране все или некоторые из значений, установленные или измененные по set или toggle. (Смотри команды set и toggle далее). send Эта команда задает одну или несколько специальных последовательностей символов для удаленной главной машины. Подкоманды и опции этой команды описаны полностью на страницах, описывающих telnet(TC): send [ ao | ayt | bkr | ... ] ao Эта команда приводит к тому, что telnet заставляет удаленную машину прекратить посылку некоторых выходных данных. Эта команда полезна, если удаленная машина посылает вам данные, которые вам не нужны, и вы бы хотели вернуть telnet в командный режим на удаленной машине. Прекратится выдача только текущих выходных данных; вы можете продолжить получение выходных данных с удаленной машины, как только на удаленной машине завершится выдача текущих выходных данных. ayt Эта команда побуждает telnet послать запрос к удаленной машине о ее готовности к работе. Если она активна, то она сообщает об этом вам. Это сообщение может быть просто сигналом или текстом, который появляется на вашем экране. Это сообщение полезно, если удаленная машина занята и не может принять ваше сообщение, а вам нужно узнать, когда она освободится. brk Эта команда посылает сообщение, которое имеет тоже самое значение как, если бы вы нажали клавишу Break на вашем терминале для своей собственной машины. После того, как вы нажали Break, сообщения перестают посылаться к удаленной машине. Вы должны использовать эту команду, если вы хотите сообщить удаленной машине о прекращении с ней связи. ec Эта команда, которую посылает telnet, удаляет символьное сообщение в удаленной машине. Эта команда имеет тоже действие, что и команда erase(BKSP) оперативной системы на вшей локальной машине. Т.к. на машинах используются разные операционные системы, вам следует использовать при связи с удаленной машиной команду ec, а не команду операционной системы. Вы можете использовать команду операционной системы, когда работаете в командном режиме, т.к. при этом нет связи с удаленной машиной. elЭта команда посылает команду удаления строки к удаленной машине. Эта команда имеет тоже самое значение, что и команда операционной системы erase line. Т.к. на машинах используются разные операционные системы, вам следует использовать при связи с удаленной машиной манду el, а не команду операционной системы. Вы можете использовать команду операционной системы, когда работаете в командном режиме, т.к. при этом нет связи с удаленной машиной.ip Эта команда посылает удаленной машине сообщение о процессе перывания. Эта команда имеет тоже самое значение, что и команда interrupt операционной системы. Т.к. на машинах используются разные операционные системы, вам следует использовать при связи с удаленной машиной команду ip, а не команду операционной системы. Вы можете использовать команду операционной системы, когда работаете в командном режиме, т.к. при этом нет связи с удаленной машиной.synch Эта команда посылает сообщение удаленной машине игнорировать некоторый входные данные, которые вы будете посылать, но которые еще не в процессе на удаленной машине. Эта команда полезна, если вы заранее набрали определенное количество команд, и, которые вы хотите отменить для выполнения на удаленной машине. escape Эта команда посылает telnet спецсимвол. nopЭта команда посылает команду telnet НОП для упорядочивания.toggle Эта команда переключает различные признаки, которые управляют процессом. Признаки переключаются между TRUE и FALSE. Подкоманды и опции toggle команды полностью описаны описании telnet(TC): toggle [ localchars | autoflush | ... ] set Эта команда разрешает вам изменить telnet значения переменных. Подкоманды и опции set команды полностью описаны в описании telnet(TC): set [ echo | escape | interrupt | ... ]status Эта команда показывает вам состояние связи с удаленной машиной также как текущие опции и управляющий символ.?Эта команда изображает информацию о действии telnet на вашем дисплее. Если вы определили имя telnet команды после команды помощи (?), тогда появится информация по этой команде. Если вы только введете команду(?), то появится список всех telnet команд. Несколько примеров работы Ниже показаны два примера связи с машиной с именем "there". Они иллюстрируют разнообразные способы использования telnet. Описание первого примера Это простой пример, иллюстрирующий базисное использование telnet. Программа telnet вызывается с именем главной машины. В результате открывается связь с машиной. Программа telnet выдает на экран дисплея следующее сообщение еще до установления связи: "Trying..."Это сообщение о том, что telnet приступает к установлению связи. Следующее сообщение появится, когда установится связь. Программа telnet выдаст текущий управляющий символ (статус опций не изображается).Это свидетельство того, установлена связь с удаленной машиной, и машина выдает свое сообщение (промпт). Пользователь затем регистрируется в машине, которая будет его терминалом, используя такую же процедуру. Пользователь получает список директория на удаленной машине. Если работа завершена, пользователь набирает управляющий символ, и telnet переходит в командный режим и выдает промпт командного режима. Пользователь вводит команду quit, и telnet прекращает связь с удаленной машиной и возвращается в операционную систему своей машины.+--------------------------------------------------------------------------------+| laiter$ telnet there | | Trying 192.9.200.101 ... || Connected to there. | | Escape character is ']'. || || System V.3.2 UNIX (there.Lachman.COM) || || login: stevea || Password: || UNIX System V/386 Release 3.2 || there || Copyright (C) 1984,1986,1987,1988 AT&T || Copyright (C) 1987,1988 Microsoft Corp. | | All Rights Reserved || Login last used: Mon Feb 27 17:14:18 1989 || there$ ls -xF || bell/ blot/ connect.h connection.c dhry/ || hi* hi+.c hi.c hin* hin.c || hn* hn.c indent/ intel/ ip_icmp.h || maketd+/ linger* linger.c mailstats.c+ maketd/ || ot2.c maxmin ot* ot.c ot2* || ripsoak* ping+* ping.c profiler/ gt/ || t* ripsoak.c sr.sh* st.c sw/ || there$ t.c tcp/ tcp.sh* tcp0227/ || ^] || telnet>quit || Connection closed. || laiter$ |+--------------------------------------------------------------------------------+ Описание примера 2 Этот пример иллюстрирует альтернативный способ регистрации в машине и выхода из связи с помощью telnet. Программа telnet вызывается без имени машины и входит в командный режим. Пользователь вводит опцию status и получает ответ, что связи с машиной нет. Затем пользователь использует команду telnet open и устанавливает связь в режиме ввода Пользователь получает сообщение о регистрации от удаленной машины. Затем пользователь регистрируется в удаленной машине, которая будет его терминалом, используя ту же процедуру.Когда работа завершена, пользователь выходит из режима связи с удаленной машиной. Программа telnet автоматически возвращается в операционную систему. +---------------------------------------------------------------------+| # telnet | | telnet> status || No Connection | | Escape character is '^]' | local echo is off || telnet> open there || Trying ... || Connected to there | | Escape character is '^]' | | System V3 UNIX (there) || login: mary || TERM = (ansi) || $ ls || passwd || volcopy || $ ^D || Connection closed by foreign host. || |+---------------------------------------------------------------------+ КОМАНДА rlogin Команда rlogin(TC) переносит вас в оболочку удаленной машины. Программа rlogin похожа на команду telnet, но она применима только для UNIX совместимых машин. Команда rlogin разрешает вам доступ к тем же самым командам UNIX на удаленной машине, что и telnet. Однако, команда rlogin удобнее, чем telnet, если вы однажды зарегистрировались на удаленной машине, вы будете иметь впечатление работы на своей собственной машине. Вам нет необходимости знать специальные команды, используемые в telnet. Переменная TERM в удаленной машине устанавливается в то значение, что установлено в вашей локальной машине. Однажды вызванная программа rlogin обрабатывает всей данные, что вы ввели в удаленную машину и все выходные данные той машины отображаются на вашем экране. Вызов программы rlogin Эта программа вызывается из UNIX оболочки. Вы должны определить имя удаленной машины, как показано в примере, который показывает регистрацию в машине admin: rlogin adminВ некоторых случаях вы можете пропустить слово rlogin и просто написать имя удаленной машины. Например: admin. Это возможно, когда ваш системный администратор конфигурировал UNIX для доступа к удаленной машине без rlogin. Вы должны иметь файл /usr/hosts в вашем загрузочном файле. Системный администратор может подсказать, как конфигурирована система. Выход из программы rlogin Чтобы выйти из программы rlogin и вернуть управление вашей операционной системе, напечатайте управляющий символ (tilde) и точку (~.). Выход из системы удаленной машины заставит rlogin вернуть управление вашей локальной операционной системе. Опции rlogin Вы можете задавать три основные опции, когда вызываете rlogin. Эти опции следующие:-ec Опция -e заставляет rlogin использовать символ "c" вместо управляющего символа (~.) для управлением выходом из rlogin. Например: rlogin admin -e! Восклицательный знак означает управляющий символ rlogin.-8 Опция -8 вынуждает rlogin вернуть удаленную информацию и послать 8 бит символов в удаленный конец.Когда вы используете свое пользовательское имя или другое пользовательское имя, вы должны установить эквивалент пользователя для себя на удаленной машине, на которой вы собираетесь регистрироваться. Системный администратор удаленной машины должен подсказать вам как конфигурирована машина. (Эквивалент пользователя описан в главе 2). Использование tidle в тексте Если вашим управляющим символом является tidle (~), заданный по умолчанию, тогда вы не можете нормально передать к удаленной машине строку входной информации, начиная с tidle. Если вам нужно послать такую строку, начинайте с двойного tidle (~~). ПЕРЕДАЧА ФАЙЛОВ Этот раздел описывает две программы, которые вы можете использовать для передачи файлов. Эти программы называются ftp(программа передачи файла) и rcp(программа дистанционного копирования). В этой главе дается следующая информация: - Когда и зачем использовать эти команды - Как вызывать и выходить из этих программ - Как использовать опции этих команд - ПримерыКоманда ftp(TC) делает возможным передачу файла между вашей машиной и другими машинами глобальной сети. Это интерактивная программа, которая позволяет вам вводить различные команды для перемещения и получения файла. Кроме того, ftp позволяет вам проверять и модифицировать файловые системы машин глобальной сети. Когда вы вызовите ftp, вы будете находиться в интерактивном режиме, пока не выйдите из ftp и не вернетесь в программу, из которой вышли. Программа применяется ftp в широком диапазоне операционных систем. Когда вы работаете в операционной системе UNIX, то вместо ftp команды может быть использована rcp команда, которая работает только в этой операционной системе. РАБОТА С ftp . Эта программа позволяет вам иметь несколько связей одновременно, хотя вы можете давать команды, которые воздействуют только на одну связь. Многомашинная связь позволяет вам связаться с несколькими машинами за один сеанс работы ftp. Вам нет необходимости вновь регистрироваться на другой машине, когда вы хотите сменить машину для связи. Связь, которая используется в данный момент, называется текущей связью. Виды записи файла для передачи в ftp Программа ftp позволяет использовать два вида записи ASCII или двоичный файл. Используйте ASCII для текстовых файлов. Двоичный вид используется для двоичных данных, которые должны представлять собой непрерывную последовательность бит. Для связи между UNIX машинами в большинстве случаев может быть использован ASCII код (он задается по умолчанию). Двоичный вид может быть использован для некоторых специальных файлов, например программные объектные модули, если вы используете машины с операционной системой отличной от UNIX. Условия присвоения имени файлу в ftp Если первый символ в имени файла, который задаете в ftp, это дефис (-), то ftp использует стандартный ввод (для чтения) или стандартный вывод (для записи). Если первый символ в имени файла, который вы задаете в ftp, это вертикальный штрих (|), то остальная часть имени воспринимается как команда оболочки. Программа ftp вызывает командный язык с помощью имени файла и затем пользователь использует стандартный ввод или стандартный вывод. Если команда содержит пробелы, они должны быть выделены внутри кавычек. Например: "| ls -ls"Символ (|) может быть внутри и вне кавычек. Вызов ftp Чтобы вызвать ftp из оболочки UNIX, введите команду ftp. Когда команда это выполнено, на вашем экране появится приглашение этой команды. Он выглядит следующим образом: ftp>Вы можете указать имя машины, с которой хотите связаться, хотя это необязательно. Следующий пример показывает как записывается имя машины admin: $ ftp adminМашинное имя устанавливается вашим системным администратором. До использования ftp вы можете проверить разрешено ли это имя для вас, распечатав файл /etc/hosts. Когда вы пишете имя машины во время вызова ftp, программа устанавливает машинную связь с этой машиной и разрешает вам передачу файлов. Это эквивалентно использованию команды ftp open для установления связи с машиной, которую вы назвали. Вы можете также вызвать ftp без имени машины, например: $ ftpЕсли вы не установили имя машины при вызове ftp, вы должны открыть связь с этой машиной в ftp. Это делается используя ftp open команду до того как вы начали передавать файлы. Ограничение для ftp команд В дополнение к командам, которые используют стандартные протокольные функции ftp. TCP/IP предоставляет несколько команд, которые используют функции опций ftp. Такие команды следует использовать только для связи с машинами, работающими в UNIX или UNIX совместимых системах. Команды, чье использование будет описано позже в этой главе, имеют определенные ограничения. Когда происходит коммуникация с удаленной машиной, которая не использует UNIX, вам следует спросить системного администратора поддерживается ли ftp в этой машине до ее использования. Некоторые ftp поддерживают не все опции команд. Программа ftp может предоставить список поддерживаемых команд. Для получения такой информации нужно использовать команду ftp remotehelp после установления связи с удаленной машиной. Описание команд ftp.


<== предыдущая лекция | следующая лекция ==>
Передача файлов с uuto | Описание команд ftp


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.