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.
|