2004 г.
Linux для пользователя
Виктор Костромин,
http://rus-linux.net/
Глава 13. Выход в локальные сети
13.3. Программы telnet и ftp
После того, как вы убедились, что подключение к сети работает, можно попытаться выйти на какой-либо компьютер в сети по протоколу telnet или ftp. Telnet и ftp — это как имена протоколов для взаимодействия компьютеров, так и названия соответствующих клиентских программ, реализующих эти протоколы, и обеспечивающих доступ пользователям к удаленным компьютерам. Программы telnet и ftp по умолчанию устанавливаются при инсталляции системы, так что об установке их говорить не будем (Примечание 23).
13.3.1 Программы telnet и rlogin
Для того чтобы воспользоваться программой telnet, вам необходимо знать имя или IP-адрес удаленного компьютера, работающего под управлением ОС типа UNIX, на котором для вас открыт пользовательский бюджет. Предположим для примера, что на компьютере linux2 имеется пользователь user5, пароль которого вам известен. В таком случае вы можете дать команду
[user]$ telnet linux2
Если программе удалось подключиться к указанному компьютеру, на экране появится сообщение "Connected to server linux2" и приглашение к входу в систему, как если бы вы сидели за терминалом компьютера linux2. Вводите имя (user5) и пароль, и вы будете работать на этом компьютере.
Команда rlogin может быть использована для выхода на удаленный компьютер вполне аналогично команде telnet, хотя лучше сразу указать в командной строке имя пользователя:
[user]$ rlogin -l user5 linux2
Завершив работу, не забудьте закрыть сессию (командой exit). После этого программа telnet (или rlogin) докладывает, что сессия закрыта, и вы возвращаетесь к командной строке локальной оболочки.
Когда вы работаете с программой telnet, вы полностью работаете на удаленном компьютере: команды выполняются в его оперативной памяти, вы видите (по команде ls) каталоги и файлы на дисках удаленного компьютера и т. д. Только вывод результатов осуществляется на ваш монитор. В рамках программы telnet невозможно, например, открыть для просмотра файл, расположенный на локальном диске. Ваш компьютер выполняет только роль удаленного терминала. Если же вы хотите организовать обмен файлами между вашим компьютером и удаленным, можно воспользоваться программой ftp.
13.3.2 Программа ftp
Программа ftp — это пользовательский интерфейс к стандартному протоколу передачи файлов по Интернету — File Transfer Protocol. Программа позволяет передавать файлы на удаленный компьютер и получать файлы с удаленного компьютера. Однако, введя команду ftp, вы запускаете только клиентскую программу. Для того чтобы получить доступ к файлам удаленного компьютера, на нем должен быть запущен ftp-сервер. Кроме того, необходимо знать либо имя и пароль пользователя, либо ftp-сервер должен разрешать анонимный доступ. Предположим, что эти условия выполнены и вы запустили программу ftp (без параметров). Вы увидите приглашение интерпретатора команд этой программы:
ftp >
Если ввести знак вопроса, программа выдаст перечень возможных команд. Первая команда, которую нужно в этом случае ввести, — команда open, после которой надо указать сетевое имя компьютера, на котором запущен ftp-сервер. Если анонимный доступ к этому серверу разрешен, то вы получите запрос на ввод имени и пароля пользователя. По команде pwd можно узнать имя текущего каталога на удаленном компьютере, а по команде dir — вывести список файлов и подкаталогов этого каталога. Команда cd имя_каталога используется для смены текущего каталога на удаленном компьютере.
В любой момент вы можете повторно ввести команду ? или ее эквивалент help , чтобы получить подсказку по возможным командам. Для получения более подробной подсказки по конкретной команде надо ввести имя интересующей вас команды после help или ? , например, так:
ftp > help dir
Если вы хотите выполнить какую-то команду на локальном компьютере (например, выяснить имя текущего каталога), надо дать соответствующую команду, перед которой поставить восклицательный знак:
ftp >! pwd
! — это команда интерпретатора, вызывающая новый экземпляр оболочки shell локального компьютера. Первый аргумент, следующий за !, должен быть командой оболочки, а все остальные аргументы — аргументами вызываемой команды. Для смены текущего каталога на локальном компьютере имеется специальная команда lcd (очень полезная, поскольку часто до запуска ftp забываешь перейти в тот каталог, куда хочешь скопировать файл с удаленного компьютера; не выходить же из-за этого из программы ftp).
Для пересылки файла на удаленный компьютер используется команда
ftp > put имя_файла
(или ее синоним send), а для копирования файла с удаленного компьютера в текущий каталог на локальном диске — команда
ftp > get имя_файла
В принципе этих двух команд вполне достаточно для организации обмена файлами с удаленным компьютером, но как же неудобно ими пользоваться! Приходится набирать полностью имена всех пересылаемых файлов. Поэтому испытываешь воистину большое облегчение, когда узнаешь, что существуют такие команды как mput и mget. Они позволяют задать шаблон имени пересылаемых файлов, и будут дополнительно переспрашивать, надо ли пересылать каждый конкретный файл. Благодаря этому можно (самый крайний случай) заказать пересылку всех файлов:
ftp > mget *
а потом либо подтверждать пересылку очередного файла, либо отказываться. Конечно, когда файлов в каталоге очень много, то и это окажется утомительной процедурой, но ведь можно задать более разумный шаблон! Так что думайте, как облегчить себе работу.
Перед тем, как начать пересылку файлов, следует еще выполнить одну из команд, определяющих режим пересылки: ascii или binary . По умолчанию программа использует режим "ascii", и это вполне допустимо при пересылке текстовых файлов, но если вы собираетесь передать или получить исполняемый файл, то необходимо задать режим "binary". Процесс пересылки файлов можно прервать с помощью комбинации клавиш <Ctrl>+<C>.
Пока вы находитесь в программе ftp, вы можете выполнить некоторые операции с файлами и каталогами на удаленном компьютере (конечно, для этого надо иметь соответствующие права). По команде
ftp > rename from_name to_name
осуществляется переименование файла или каталога; команда
ftp > mkdir name
создает каталог, а
ftp > delete name
удаляет файл или каталог. Еще одна интересная команда — system, позволяет выяснить тип операционной системы на удаленном компьютере. Ну, и наконец, команда close (или disconnect) позволяет завершить сеанс работы с удаленным компьютером, не выходя из программы ftp (т. е. предполагается, что после этого вы снова дадите команду open, например, для соединения с другим компьютером). Если же вы хотите вообще выйти из программы, то надо дать команду bye.
Я думаю, что приведенных здесь сведений вполне достаточно для успешной работы с программой ftp (для копирования файлов с удаленного или на удаленный компьютер, на котором запущен ftp-сервер). С другими возможностями этой очень полезной и широко применяемой программы вам придется знакомиться самостоятельно (вернее, с помощью man-страниц и системы info).