Данная глава описывает процедуры переноса файлов между Вашим персональным компьютером и каким-либо хостом в сети, включая две встроенные функции программы NCSA Telnet: FTP и rcp. Также предоставляется описание и справочная информация, касающиеся требований к имени файлов, спецификации пути и переноса файлов в фоновом режиме.
В данной главе используются следующие понятия:
ASCII файл, текстовый файл. Пользователи могут читать ascii или текстовый файл, а также редактировать его с помощью стандартных редакторов на персональном компьютере или на хосте. Если Вы указываете текстовые файлы, то при их пересылке могут быть изменены символы конца строки, бинарные, графические файлы или файлы снимков.
Пользователь не может просто прочесть бинарный, графический файл или снимок. При передаче файлы такого типа не меняются ни в чем (в отличие от текстовых).
клиент/сервер
Клиентом называется система, которая требует обслуживания, тогда как сервер - это система, сама предоставляющая "сервис" другим. Вопреки очевидному, клиентом будет не всегда Ваш
персональный компьютер. Если Вы используете NCSA Telnet для связи с хостом, то Ваш компьютер является telnet клиентом. Если Вы запросили передачу файлов с Вашего персонального компьютера, то эта передача фактически инициируется на хосте, превращая его
в FTP клиент, а Ваш компьютер - в FTP сервер. Таким образом, персональный компьютер становится telnet клиентом и FTP сервером одновременно.
передача файла
При передаче файла по сети переписывается его содержимое, и получающаяся копия помещается на диск другого компьютера.
Если Вы не указали полного пути в FTP или rcp, то программа NCSA Telnet будет осуществлять пересылку файлов в каталоге, используемом по умолчанию. Если Вы хотите указать какой-либо иной каталог, наберите его полное имя согласно документации по DOS.
Полное имя может содержать имя драйвера с двоеточием. Например,
D:\myfiles\graphics\image.dat
или
D:/myfiles/graphics/image.dat
Вместо обратных слешей (\) Вы можете использовать прямые (/), поскольку программа NCSA Telnet автоматически преобразует все прямые слеши в пути для UNIX в обратные слеши, чтобы обеспечить совместимость с PC-DOS. Поскольку обратные слеши в оболочке UNIX играют особую роль и для их ввода приходится пользоваться специальным форматом, то здесь удобнее будет использовать прямые слеши.
Замечание. rcp является специальной функцией системы Berkeley UNIX.
Как для FTP, так и для rcp передача файлов может осуществляться одновременно с работой telnet-сессий. Поэтому во время переноса файла Вы можете пользоваться другими услугами программы NCSA Telnet, такими как работа с telnet-сессией, переход от сессии к сессии, создание новых сессий и смена их параметров. Однако когда осуществляется процесс передачи файлов, не следует заводить еще один такой же. В то время как один FTP запрос будет обрабатываться, другой FTP запрос будет игнорироваться. Более того, если Вы пытаетесь запустить процесс пересылки rcp в то время как другой такой же процесс уже исполняется, оба процесса могут дать сбой.
Замечание. Не выходите из программы NCSA Telnet, пока осуществляется передача файлов, поскольку это может привести к сбоям на хосте.
Если Вы используете FTP или rcp для передачи файлов с Вашего персонального компьютера или на него, придерживайтесь следующих правил, касающихся имен файлов:
FTP сервер создает специальную информацию, чтобы позволить Вам отслеживать доступ к жесткому диску персонального компьютера. Вы можете увидеть ее, нажав клавиши ALT-Z (показать сообщения консоли), описанные в главе 2 "Введение в механизм управления сессиями". В нижеприведенном списке приводится информация, предоставляемая FTP сервером.
FTP сервер в программе NCSA Telnet соответствует минимальным требованиям к стандартному FTP серверу, подобному 4.2 BSD UNIX. NCSA FTP имеет следующие свойства:
<сenter> Инсталляция FTP
Хост должен поддерживать FTP режим переноса файлов. Если Вы не знаете, может ли он это делать, свяжитесь с администратором системы.
В программе NCSA Telnet должен быть разблокирован режим переноса файлов. Это делается либо с помощью меню Parameters (см. главу 3 "Дополнение к управлению сессиями"), либо коррекцией файла конфигурации. Если же такой режим отключен, но Вы пытаетесь запустить FTP, то Вы получите сообщение от хоста, что данный компьютер не отвечает на запрос. Убедитесь, что режим пересылки файлов разблокирован, если Вы получили такое сообщение.
Когда FTP инициируется хостом, то его команды могут меняться в зависимости от программного обеспечения этого хоста. Чтобы получить полную документацию по FTP и его командам, Вам придется обратиться к документации для этого компьютера. Работая с UNIX системами, Вы также можете обратиться к интерактивной справочной информации, воспользовавшись командой 'man ftp'.
В большинстве систем команда FTP вводится в ответ на приглашение и с указанием имени или IP адреса интересующей машины. Например, если Ваш персональный компьютер называется mymachine и Ваш IP адрес 192.17.20.22, то Вы можете ввести
% ftp mymachine
или
% ftp 192.17.20.22
При этом Вы получите ответ, подобный следующему:
Connected to 192.17.20.22.
220 PC Resident FTP server, ready
Name (192.17.20.22:timk):
В настоящее время большинство FTP клиентов предлагает Вам ввести Ваше регистрационное имя и пароль. Это потребуется, если Ваша программа NCSA Telnet сконфигурирована для паролей. В противном случае Вам нужно всего лишь нажать RETURN, чтобы получить приглашение к работе. Если же Вы так и не получили запроса на ввод регистрационного имени и пароля, то предполагается, что Вы зарегистрированы автоматически и сразу можете начинать работу с FTP.
Наиболее часто процедура FTP запускается сокращенной командой ALT-F. Если Вы нажимаете ALT-F, то программа NCSA Telnet автоматически посылает команду ftp, описанную выше, добавляя к ней IP адрес Вашего персонального компьютера. Предполагается, что именно этим способом Вы чаще всего будете пользоваться при переносе файлов. Для простоты Вы можете полагать, что ALT-F является макросом для клавиатуры, для которого заранее определена ftp команда и Ваш IP адрес.
Другим доступным Вам макросом является ALT-I, которая посылает хосту Ваш IP адрес. Так при наборе какой-либо сетевой команды, к примеру той же FTP, Вы можете мгновенно ввести и свой сетевой IP адрес, нажав ATL-I. Приведенная ниже последовательность операций имеет тот же результат, что и нажатие ALT-F
ftp
(пробел)
(ALT-I)
(RETURN)
Из двух приведенных методов (ALT-F и ALT-I) используйте тот, который Вам более всего подходит. Хост-компьютер, с которым Вы работаете, может принимать или не принимать описанные выше команды, так что Вы можете попробовать различные комбинации с тем, чтобы найти наиболее удобную для Вас. Помощь в этом Вам может оказать администратор системы.
В большинстве программ FTP по завершении регистрации и про верки пароля Вам дается приглашение на ввод конкретных команд. Эти команды описаны в документации к хост-компьютеру. Однако большинство реализаций FTP придерживаются общего набора команд, поскольку они воспроизводят FTP версии Berkeley UNIX. В таблице 5.1 приведен список команд, общих для большинства реализаций.
Команда | Описание |
ascii | установить режим переноса файлов ASCII (используется по умолчанию) |
binary | установить режим переноса файлов binary (image) |
cd путь | установить новый каталог, используемый по умолчанию на Вашем персональном компьютере |
dir | показать имена файлов из каталога, используемого по умолчанию на Вашем персональном компьютере |
get | имя_файла взять указанный файл с Вашего персонального компьютера и поместить его на хост |
help | показать список команд для FTP |
put | имя_файла переслать указанный файл с хоста на Ваш персональный компьютер |
pwd | показать имя каталога, используемого на Вашем персональном компьютере по умолчанию |
quit | завершить выполнение FTP |
remotehelp | показать список команд, обслуживаемых FTP сервером |
ascii, binary
По умолчанию FTP передает файлы в формате ASCII. Если Вы передаете графические файлы или файлы с бинарными данными, то перед тем как дать команду put или get, следует установить режим binary. Делается это подачей команды binary. Чтобы после пересылки бинарного файла вновь установить режим ASCII, введите команду ascii. На рисунке 5.1 приведен пример сообщений FTP во время передачи ASCII файла. На рисунке 5.2 показывает сообщения при передаче binary файла.
каталог по умолчанию
Если Вы не указали в команде полное имя файла, то NCSA Telnet передаст этот файл в каталог по умолчанию. Как показано в
таблице 5.1, Вы можете воспользоваться командами FTP для
определения текущего каталога (pwd) или его смены (cd).
Команда смены каталога, набираемая как cd, позволит Вам сменить не только сам каталог, используемый по умолчанию, но и диск, на котором он расположен. При этом следуйте в точности обозначениям, принятым для DOS, а также заменяйте обратные слеши на прямые, например
ftp>cd D:/files
Команда pwd также дает информацию об используемом диске. Так, после выполнения предыдущей команды cd команда pwd будет возвращать
D:\FILES
передача файлов на Ваш персональный компьютер
Даже если Вы инициировали передачу файлов со своего персонального компьютера, фактически необходимые для этого операции осуществляются со стороны хоста. Поэтому результаты выполнения команд пересылки интуитивно будут происходить в обратном направлении. Чтобы передать файл с хоста на Ваш персональный компьютер, Вам следует воспользоваться командой put.
Формат этой команды выглядит как
put filename.txt
На рисунке 5.1 показан пример использования команды put для пересылки реального файла, имеющего имя temp2.
newton_45% ftp -n 192.17.20.124 |
Connected to 192.17.20.124. |
220 PC Resident FTP server, ready |
ftp> put temp2 |
200 This space intentionally left banl < > |
150 Opening connection |
226 Transfer complete |
262145 bytes sent in 32.61 seconds (7.8 Kbytes/s) |
ftp> quit |
221 Goodbye |
newton_46% |
передача файлов на хост
Запрос на посылку файл
а с Вашего персонального компьютера на хост называется get.
На рисунке 5.2 показан пример использования команды get и бинарным файлом, называемым bridge.pic. Заметим, что этот файл находится в каталоге с именем ibmg, так что следует воспользоваться командой cd. Если по завершении этой операции Вам понадобится передать текстовый файл, воспользуйтесь FTP командой ascii.
newton_41% ftp -n 192.17.20.124 |
Connected to 192.17.20.124. |
220 PC Resident FTP server, ready |
ftp> bin |
200 Type set to I, binary mode |
ftp> cd /ibmg |
250 Chdir okay |
ftp> get bridge.pic |
200 This space intentionally left blank < > |
150 Opening connection |
226 Transfer complete |
262144 bytes received in 9.22 seconds (28 Kbytes/s) |
ftp> |
ftp> quit |
221 Goodbye |
newton_42% |
Индикатор состояния FTP
После того, как Вы ввели команду put или get, в нижнем правом углу экрана Вы увидите имя файла и указатель числа переданных байтов (в случае команды put), либо числа пока еще
не переданных байт (в случае команды get). Эти числа обновляются каждые две секунды, позволяя Вам отслеживать процесс передачи файла. По завершении команды имя файла исчезает и хост, как правило, печатает подтверждающее сообщение, как было показано на рисунках 5.1 и 5.2.
mput, mget
На многих хостах Вы можете с помощью одной такой команды передавать друг за другом по несколько файлов, указав их с помощью специальных символов (на персональном компьютере в указываемом имени символ ? означает подстановку одиночного сим вола, * - подстановку нескольких символов). Например, чтобы передать файлы teln.2 и teln.3, Вы можете ввести mget teln.*
(или mput teln.*).
Крайне нежелательно устанавливать в файле конфигурации config.tel параметр rcp=yes и пользоваться UNIX командой rcp, поскольку эта функция не имеет защиты от несанкционированного доступа на Ваш персональный компьютер со стороны других пользователей сети Internet.