Руководство начинающего по пользованию ftp

Быстрое руководство к использованию ftp.

Стандартная ftp программа - настоящий ftp клиент. Она входит в большинство дистрибутивов Linux. Сначало появилась в 4.2BSD.

Запуск ftp программы

Скажем, вы хотите соединится с FTP сайтом metalab.unc.edu, чтобы получить последние исходные тексты ядра Linux.

В командной строке введите:

$ ftp metalab.unc.edu

FTP программа попытается соединится с metalab.unc.edu. Другой способ сделать это - запустить ftp из командной строки без параметров, и использовать команду open с именем сайта в качестве аргумента:

$ ftp
ftp> open metalab.unc.edu

Регистрация на FTP сервере

Когда вы соединитесь с FTP сайтом, система спросит ваш логин (нажмите Enter, и вы войдете под локальным именем, в данном случае под именем foo). Мы войдем как anonymous или ftp, чтобы получить доступ к общедоступному архиву.

220 helios.oit.unc.edu FTP server (Version wu-2.6.0(2) Wed Nov 17 14:44:12
EST 1999) ready.
Name (metalab.unc.edu:foo):

Далее, мы введем наш адрес электронной почты в качестве пароля (этого требуют большинство FTP сайтов).

331 Guest login ok, send your complete e-mail address as password.
Password:

После успешного входа, вам выдается следующая информация:

Remote system type is UNIX.            (Удаленная система - UNIX)
Using binary mode to transfer files.   (Используется двоичный режим для передачи файлов)
ftp>

Режимы передачи файлов

После входа на FTP сайт, ftp выдаст тип передачи файлов. В данном случае - двоичный (бинарный) тип передачи. Двоичный режим передачи файлов - передача файлов в том виде, в котором они хранятся на FTP сервере. Режим Ascii (текстовый) используется для передачи только тектовых файлов. Вы можете вводить ascii или binary для переключения между режимами передачи.

Поскольку вы хотите получить исходные тексты ядра, оставьте двоичный режим передачи. Бинарный режим необходимо использовать для всех нетекстовых типов файлов - таких как графика, архивы, программы и т.п. Если сомневаетесь - используйте бинарный режим.

Навигация и просмотр каталогов

Введите команду ls, чтобы просмотреть список файлов. Команда ls выполняется на FTP сервере. Опции этой команды, которые вы можете использовать, отличаются на разных серверах. Большинство основных опций, в общем, везде доступны, смотрите страницы руководства (manpage) по ls для уточнения подробностей.


ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 33590
-r--r--r--   1 root     other    34348506 Dec 03 03:53 IAFA-LISTINGS
lrwxrwxrwx   1 root     other           7 Jul 15  1997 README -> WELCOME
-rw-r--r--   1 root     other         890 Nov 15 13:11 WELCOME
dr-xr-xr-x   2 root     other         512 Jul 15  1997 bin
dr-xr-xr-x   2 root     other         512 Jul 15  1997 dev
dr-xr-xr-x   2 root     other         512 Jul 18  1997 etc
drwxrwxrwx  11 ftp      20           4608 Nov 28 16:00 incoming
lrwxrwxrwx   1 root     other          13 Jun 04  1998 ls-lR -> IAFA-LISTINGS
dr-xr-xr-x  17 root     root          512 Jun 08 11:43 pub
dr-xr-xr-x   3 root     other         512 Jul 15  1997 unc
dr-xr-xr-x   5 root     other         512 Jul 15  1997 usr
226 Transfer complete.

Если по команде ls выдается большой список файлов, вы можете использовать клавиши Shift-PageUp для прокрутки к началу списка. Это работает в консоли Linux, а также в xterm или rxvt.

На общедоступных FTP архивах, ресурсы обычно хранятся в каталоге /pub. На этом примере вы уже поняли, что исходники ядра находятся в каталоге /pub/Linux/kernel, так что введите следующее, чтобы войти в каталог:

ftp> cd pub/Linux/kernel
250-README for kernel
250-
250-What you'll find here: kernel sources and patches
250-
250-
250 CWD command successful.

Вы видите сообщения, которые начинаются с "250", эти сообщения посылаются сервером. В данном случае, FTP сервер сконфигурирован, чтобы автоматически посылать вам файл README, когда вы входите в каталог.

Загрузка и закачивание файлов

Введите ls, и найдите файл, который хотите загрузить с FTP. Это linux-2.2.13.tar.gz. Введите следующую команду:

ftp> get linux-2.2.13.tar.gz
local: linux-2.2.13.tar.gz remote: linux-2.2.13.tar.gz
200 PORT command successful.
150 Opening BINARY mode data connection for linux-2.2.13.tar.gz (15079540
bytes).

FTP программа начнет сохранять удаленный файл linux-2.2.13.tar.gz на локальный диск под именем linux-2.2.13.tar.gz

Если вы хотите сохранить файл под именем foo.tar.gz, вы должны ввести следующее:


ftp> get linux-2.2.13.tar.gz foo.tar.gz
local: foo.tar.gz remote: linux-2.2.13.tar.gz
200 PORT command successful.
150 Opening BINARY mode data connection for linux-2.2.13.tar.gz (15079540
bytes).

Если вы хотите загрузить более одного файла за раз, используйте команду mget (multiple get). Вы можете использовать mget вместе со списком файлов, предназначенных для загрузки, разделенных запятыми, или использовать подстановочные знаки с командой mget. Например, команда:

ftp> mget linux*

Получает все файлы, начинающиеся со строки "linux". Обычно, mget запрашивает вас относительно каждого файла перед тем, как загрузить его. Вы можете выключить это, используя команду prompt.

Допустим, вы написали программу и хотите закачать ее на сервер MetaLab. Сначала перейдите в каталог /incoming (большинство FTP серверов имеют этот каталог, обычно он называется incoming или uploads, туда можно поместить файлы), затем используйте команду put:

ftp> cd /incoming
ftp> put foo.tar.gz
local: foo.tar.gz remote: foo.tar.gz
200 PORT command successful.
150 Opening BINARY mode data connection for foo.tar.gz.
226 Transfer complete.
10257 bytes sent in 0.00316 secs (3.2e+03 Kbytes/sec)

Вы можете использовать put, чтобы поместить на сервер несколько файлов одновременно. Есть возможность размещать локальные файлы на сервер под другими именами.

Что если файл foo.tar.gz не в текущей локальной директории? Переключите локальную директорию, используя команду lcd (local change directory):

ftp> lcd /home/foo/
Local directory now /home/foo

Запуск команд среды

FTP клиент поддерживает использование знака (!), чтобы исполнять локальные команды. Например, вывести список файлов текущей локальной директории:

ftp> !ls

Так вы можете запускать любые команды, работающие в вашей системе. Пожалуйста, помните, что !cd не работает, поэтому существует команда lcd.

Метки hash и tick

Было бы неплохо наблюдать процесс загрузки файла с FTP. Вы можете использовать команду hash для вывода метки хеширования, пока загружается файл:

ftp> hash
Hash mark printing on (1024 bytes/hash mark).

Программа ftp будет печатать знак диеза для каждых полученных 1024 байт данных.

Имеется опция tick. (но не во всех ftp программах)

ftp> tick
Tick counter printing on (10240 bytes/tick increment).

This will print something to this effect as you download a file:

Bytes transferred: 11680

Другие команды ftp

Существуют и другие команды ftp. Если у вас есть права, вы можете создавать каталоги на удаленном сервере, используя команду mkdir. Вы можете удалять файлы на сервере, используя команду delete, или rmdir, для удаления каталогов. Также, вы можете изменять права доступа к файлам, используя команду chmod.

Для получения большего количества информации, смотрите помощь в ftp программе (введите help (без параметров) для вывода списка всех команд или help <имя_команды> для помощи по конкретной команде). Прочитайте страницы руководства (введите man ftp в командной строке).