FTP означает File Transfer Protocol (протокол передачи файлов). Он позволяет вам обмениваться файлами между двумя компьютерами. Для этого существуют FTP-серверы и FTP-клиенты. В этом разделе мы поговорим о клиентах.
Если вы ещё не поняли, “клиент” - это вы. “Сервер” - это компьютер, который отвечает на ваши FTP-запросы и позволяет вам войти в систему. Вы будете загружать и выгружать файлы на сервер. Клиент не может принимать FTP-подключения, он может только подключаться к серверам.
13.9.1. ftp
Чтобы подключиться к серверу FTP, просто выполните команду ftp(1), указав хост:
% ftp |
Если на хосте работает FTP-сервер, он запросит у вас имя пользователя и пароль. Вы можете войти в систему под собой или как “anonymous” (анонимно). Анонимные FTP-сайты являются очень популярными в качестве архивов с программным обеспечением. Например, чтобы загрузитьSlackware Linux через FTP, вы должны использовать анонимный FTP.
После подключения вы увидите приглашение ftp>. Для FTP существуют специальные команды, однако они очень похожи на другие стандартные команды системы. Ниже представлены некоторые основные команды и их действие:
Команда | Действие |
---|---|
ls | вывод списка файлов |
cd <имя_каталога> | смена каталога |
bin | установка двоичного режима передачи |
ascii | установка текстового режима передачи |
get <имя_файла> | загрузка файла |
put <имя_файла> | выгрузка файла |
hash | переключение индикатора статистики в виде знака решётки |
tick | переключение индикатора счётчика байтов |
prom | переключение интерактивного режима для загрузок |
mget <маска> | загрузка файла или группы файлов; допускается использование шаблонов |
mput <маска> | выгрузка файла или группы файлов; допускается использование шаблонов |
quit | выход с FTP-сервера |
Вы также можете использовать некоторые из следующих команд, названия которых говорят сами за себя: chmod, delete, rename, rmdir. Чтобы получить полный список всех команд и их значения, просто наберите help или ? и вы получите на экране полный перечень.
FTP - это довольно простая в использовании программа, однако ей не хватает пользовательского интерфейса, использование которых стало уже практически стандартом на сегодняшний день. Страница руководства содержит описание опций командной строки ftp(1).
ftp> ls *.TXT 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. -rw-r--r-- 1 root 100 18606 Apr 6 2002 BOOTING.TXT -rw-r--r-- 1 root 100 10518 Jun 13 2002 COPYRIGHT.TXT -rw-r--r-- 1 root 100 602 Apr 6 2002 CRYPTO_NOTICE.TXT -rw-r--r-- 1 root 100 32431 Sep 29 02:56 FAQ.TXT -rw-r--r-- 1 root 100 499784 Mar 3 19:29 FILELIST.TXT -rw-r--r-- 1 root 100 241099 Mar 3 19:12 PACKAGES.TXT -rw-r--r-- 1 root 100 12339 Jun 19 2002 README81.TXT -rw-r--r-- 1 root 100 14826 Jun 17 2002 SPEAKUP_DOCS.TXT -rw-r--r-- 1 root 100 15434 Jun 17 2002 SPEAK_INSTALL.TXT -rw-r--r-- 1 root 100 2876 Jun 17 2002 UPGRADE.TXT 226 Transfer complete. ftp> tick Tick counter printing on (10240 bytes/tick increment). ftp> get README81.TXT local: README81.TXT remote: README81.TXT 200 PORT command successful. 150 Opening BINARY mode data connection for README81.TXT (12339 bytes). Bytes transferred: 12339 226 Transfer complete. 12339 bytes received in 0.208 secs (58 Kbytes/sec) |
13.9.2. ncftp
ncftp(1) (произносится как "Nik-F-T-P") - это альтернатива традиционному ftp-клиенту, входящая в состав Slackware. Это всё ещё консольная программа, однако она имеет много преимуществ по сравнению с ftp:
-
завершение по Tab;
-
файл закладок;
-
более свободные шаблоны подстановки;
-
история команд.
По умолчанию ncftp пытается анонимно войти на указанный вами сервер. Вы можете заставить ncftp вывести приглашение для входа в систему с помощью опции “-u
”. После входа в систему вы можете использовать те же команды, что и для ftp за тем исключением, что вы увидите более приятный интерфейс, который больше напоминает bash.
ncftp /pub/linux/slackware > cd slackware-current/ Please read the file README81.TXT it was last modified on Wed Jun 19 16:24:21 2002 - 258 days ago CWD command successful. ncftp ...ware/slackware-current > ls BOOTING.TXT FAQ.TXT bootdisks/ CHECKSUMS FILELIST.TXT extra/ CHECKSUMS.asc GPG-KEY isolinux/ CHECKSUMS.md5 PACKAGES.TXT kernels/ CHECKSUMS.md5.asc PRERELEASE_NOTES pasture/ COPYING README81.TXT rootdisks/ COPYRIGHT.TXT SPEEKUP_DOCS.TXT slackware/ CRYPTO_NOTICE.TXT SPEEK_INSTALL.TXT source/ CURRENT.WARNING Slackware-HOWTO ChangeLog.txt UPGRADE.TXT ncftp ...ware/slackware-current > get README81.TXT README81.TXT: 12.29 kB 307.07 kB/s |