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.

Назад | Содержание | Вперед