4.3.2. Программа обмена файлами - ftp
FTP - это интерфейс пользователя при обмене файлами
по одноименному протоколу. Программа устанавливает канал управления
с удаленным сервером и ожидает команд пользователя. Идентификатор
удаленного сервера указывается либо аргументом программы, либо
в команде интерфейса open.
Если команда ftp работает с пользователем и ожидает
его команд, то на экране отображается приглашение "ftp>".
Синтаксис команды:
ftp [-v][-d][-i][-n][host]
- v - подавляет ответы сервера и статистику передачи
данных;
- n - управляет режимом идентификации пользователя.
Если указан этот ключ, то сначала проверяется файл .netrc;
- i - выключает подтверждения передачи файла при
массовом копировании файлов;
- d - включает режим отладки;
- g - отключает прозрачность передачи имен.
В рамках данного курса нет возможности перечислить
все команды ftp, поэтому остановимся только на самых необходимых.
Первой такой командой является команда open.
По этой команде открывается сеанс работы с удаленным сервером:
ftp>open polyn.net.kiae.su
После выдачи такой команды последуют запросы идентификации
пользователя. Зарегистрировать пользователя можно и по команде
user:
ftp> user anonymous
В данном примере пользователь не имеет особых прав
доступа на удаленном сервере и поэтому регистрируется как аноним.
В ответ на запрос идентификации следует в этом случае ввести свой
почтовый адрес. Обычно достаточно ввести что-то похожее на почтовый
адрес для допуска к ресурсам архива, но бывают и дотошные серверы,
которые проверяют наличие такого адреса, поэтому лучше никого
не обманывать и честно регистрироваться.
Следующими по важности командами являются команды
cd и ls
(dir). Назначение
этих команд достаточно прозрачно и понятно всем пользователям
- навигация по дереву файловой системы и просмотр содержания каталогов.
Здесь следует посоветовать пользоваться при просмотре каталогов
командой ls
с дополнительными параметрами:
ftp>ls -FC
В этом случае пользователь может получить многоколоночный
отчет с указанием типов файлов. Однако не все серверы отрабатывают
эту комбинацию.
Так как в процессе приема-передачи участвуют две
машины, то кроме навигации в удаленной файловой системе нужна
еще навигация в локальной файловой системе. Для этой цели служит
команда lcd
(локальная cd).
Кроме этого пользователь может выдать и любую команду локальной
оболочки, если предварит ее символом "!":
ftp> !pwd
По этой команде будет выдано имя текущей директории
на локальной машине.
И, наконец, самыми важными являются команды
приема/передачи данных get, put, mget, mput
и bin. По командам get и put можно принять или передать
один файл:
ftp> get README.TXT
Команды mget, mput предназначены для приема/передачи
набора файлов:
ftp> mget *.gz
Из примера видно, что в последнем случае применяется
маска "*". Обычно при передаче групп файлов для каждого
файла запрашивается подтверждение. Для того, чтобы избежать этого
перед приемом/передачей, следует выдать команду prompt.
Последняя переключает режим запроса подтверждения и при повторном
использовании этой команды состояние запроса подтверждения восстанавливается.
Другой полезной командой является команда hash:
ftp> hash #
Символ "#" можно заменить на любой другой.
При работе по медленным линиям или при передаче больших файлов
после включения режима hash
пользователь имеет возможность видеть процесс передачи данных
(знак "#" выдается после передачи каждого блока). И
последнее, на чем следует остановить внимание - это команда bin.
После выдачи этой команды по умолчанию данные будут передаваться
в режиме передачи двоичных данных. Последнее чрезвычайно важно,
т.к. при передачи в ASCII нельзя передать программы и архивированные
данные. Часто бывает полезно включить режим bin
и для символьных данных с произвольной длиной строки, например
файлов postscript (*.ps), т.к. в ASCII режиме есть ограничение
на длину строки (обычно 254 символа).
Для выхода из ftp следует выполнить команду quit.
Назад | Содержание | Вперед