Образовательная программа компании Global Inform. Украина, Харьков



                                        Работа с ftp

                                                                        



            После того как вы установите связь с помощью ftp  и  найдете

       путь в нужный каталог на удаленной системе, вам понадобится неко-

       торые команды для перемещения файлов из Internet в ваш  локальный

       компьютер. С помощью всего лишь 5 команд (ascii, binary, get, put

       и quit) вы можете стать экспертом в ftp.



            В Internet   приняты  некоторые  общие  обозначения  файлов:

       имя_файла.tar означает архив,  созданный с помощью tar;  имя_фай-

       ла.Z означает файл, созданный программой упаковки Unix (перед его

       использованием нужно распаковать этот файл  с  помощью  программы

       распаковки  Unix);  имя_файла.tar.Z  означает  упакованный архив;

       имя_файла.zip - уплотненный файл,  созданный программой  упаковки

       PKZIP; имя_файла.tar.gz представляет собой уплотненный файл, соз-

       данный программами упаковки GNU gunzip и  gzip;  имя_файла.txt  -

       текстовый файл; имя_файла.1 - это исходный файл nroff; а имя_фай-

       ла.ps - это файл PostScript, готовый для печати на принтере Post-

       Script.



            По умолчанию  при  передаче файлов используется режим ascii,

       однако перед передачей полезно явно устанавливать режим.  Команда

       ascii применяется перед передачей чисто текстового файла, команда

       binary служит для создания точной побайтовой копии файла.



            Команда get загружает файл с удаленного компьютера в ваш ло-

       кальный  компьютер,  а put передает файл из локального компьютера

       на удаленный (вместо get и put эти команды иногда называются recv

       и  send).  Команда  get  всегда должна содержать имя загружаемого

       файла и может также включать имя,  под которым он будет использо-

       ваться в вашей системе (первоначальное имя использовать не обяза-

       тельно).



            Например, чтобы загрузить текстовый файл с именем faq  (этот

       файл Internet содержит ответы на часто типовые вопросы), располо-

       женный в каталоге /pub на удаленном компьютере,  и записать его в

       вашу локальную систему под именем faq.txt, вы можете использовать

       следующую последовательность:



            ftp> cd pub

             250 CWD command successful.

            ftp> ascii

            ftp> get faq faq.txt

             200 PORT command successful.

             150 Opening ASCII mode data connection for faq (50007 bytes).

             226 Transfer complete.



            После команды get ftp сообщает число переданных байт и  вре-

       мя, прошедшее с момента начала передачи. Если больше файлов пере-

       давать не требуется,  то остается только с помощью  команды  quit

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



            Вы можете  получить  исчерпывающий  список  сотен ftp-узлов,

       послав запрос по адресу:



            mail-server@rtfm.mit.edu



       без заголовка, указав в тексте сообщения:



            send usenet/news.answers/ftp-list/sitelist/part1

            send usenet/news.answers/ftp-list/sitelist/part2

            ...

            send usenet/news.answers/ftp-list/sitelist/part17

            send usenet/news.answers/ftp-list/sitelist/part18



            Вы получите (по электронной почте) 18 файлов, которые содер-

       жат "список ftp-узлов". Учтите, что каждый из этих файлов занима-

       ет  около  60 Кбайт,  так что полный список будет около 1 Мбайта.

       Это может вызвать "затор" в вашей  системе,  поэтому  осмотритесь

       сначала,  возможно  такой список можно найти где-то поближе,  или

       попробуйте запросить сначала первые несколько файлов для примера,

       перед тем как запрашивать оставшиеся.



            Другой файл,  который вы могли бы хотеть  иметь,  называется

       "Часто задаваемые вопросы и ответы по ftp",  который содержит го-

       раздо больше информации по использованию ftp,  так  что  добавьте

       следующую строку к вашему запросу:



            send usenet/news.answers/ftp-list/faq



            После того как вы получите список,  вы увидите десятки запи-

       сей, подобных нижеследующей,  которые указывают название  ftp-уз-

       ла, его местонахождение,  разновидность файлов, которые можно там

       найти.



          Site   : oak.oakland.edu

          Country: USA

          Organ  : Oakland University, Rochester, Michigan

          System : Unix

          Comment: Primary Simtel Software Repository mirror

          Files  : BBS lists; ham radio; TCP/IP; Mac; modem protocol info;

                   MS-DOS; MS-Windows; PC Blue; PostScript; Simtel-20; Unix



            Если вы находите интересующий вас ftp-узел в списке, пошлите

       запрос на один из следующих ftpmail-серверов:



            ftpmail@census.gov                (США)

            ftpmail@sunsite.unc.edu           (США)

            bitftp@pucc.princeton.edu         (США)

            bitftp@vm.gmd.de                  (Германия)

            ftpmail@ftp.uni-stuttgart.de      (Германия)

            ftpmail@ftp.luth.se               (Швеция)

            ftpmail@doc.ic.ac.uk              (Великобритания)

            ftpmail@cs.uow.edu.au             (Австралия)



            Не имеет значения какой именно сервер вы выберите,  но  бли-

       жайший просто может ответить быстрее. В тексте письма укажите:



            open <site>

            dir

            quit



            К вам вернется список файлов и каталогов, находящихся в кор-

       невом каталоге данного ftp-узла. Ниже вы видите пример выполнения

       приведенных  команд,  когда  вместо  <site>  было подставлено имя

       ftp-сервера "oak.oakland.edu".



            -r--r--r--   1 w8sdz    OAK      1255 Nov  9 16:32 README

            drwxr-xr-x   3 w8sdz    OAK      8192 Feb 25 05:17 SimTel

            d--x--x--x   3 root     system   8192 Jan 19 20:26 bin

            d--x--x--x   5 root     system   8192 Dec 30 05:15 etc

            drwxrwx---   2 incoming OAK      8192 Feb 25 11:05 incoming

            drwxr-xr-x   3 w8sdz    OAK      8192 Jan 30 17:37 pub

            drwxr-xr-x   2 jeff     OAK      8192 Apr 17  1994 siteinfo



            В следующем запросе вы можете "открыть" другую  интересующий

       вас каталог, указав (например):



            chdir pub



       перед командой  "dir".  ("chdir" значит "change directory",  т.е.

       "сменить каталог,  а "pub" - это общепринятое имя одного из ката-

       логов на ftp-серверах,  где обычно самое интересное и находится).

       Определив имя файла, который вы хотели бы передать на свою систе-

       му, укажите:



            get <имя_файла>



       в вашем следующем послании серверу вместо команды "dir". Если же-

       лаемый файл текстовый,  то этого будет достаточно.  Если  же  это

       двоичный файл (исполняемый модуль, архивированный файл и т.д.) то

       перед командой "get" вам нужно указать команду:



            binary



            Многие каталоги  на  ftp-узлах включают в себя файл с именем

       00-index.txt, README или что-нибудь в этом роде, который содержит

       краткое описание файлов,  содержащихся в каталоге. Если в резуль-

       тате выполнения команды "dir" вы обнаруживаете,  что  такой  файл

       существует,  то просто даете команду "get" для этого файла и, та-

       ким образом, экономите свое время.



            Давайте получим текст Magna Carta.  Вот текст запроса, кото-

       рый  мы  посылаем  на ftpmail@census.gov (или другой ftpmail сер-

       вер):



            open ftp.spies.com        (Адрес ftp-узла)

            chdir Gov/World           (каталог, в котором находится файл)

            get magna.txt

            quit



            Вот команды,  которые  надо указать,  чтобы получить файл из

       файлового архива Simtel, упоминавшегося ранее.



            open oak.oakland.edu             (Адрес ftp-узла)

            chdir SimTel/msdos/disasm        (каталог, в котором находится

                                             файл)

            binary                           (файл архивированный)

            get bubble.zip

            quit



            Некоторые другие интересные ftp-узлы,  которые вы можете за-

       хотеть "посетить",  приведены ниже. (Используйте имена серверов в

       команде "open", а имена каталогов в команде "chdir", как в вышеп-

       риведенных примерах).



            ocf.berkeley.edu

               Попробуйте: pub/Library (документы, Библия, тексты песен)

            rtfm.mit.edu

               Попробуйте: pub/usenet/news.answers (инфо по USENET)

            oak.oakland.edu

               Попробуйте: SimTel/msdos (гигантский файловый архив)

            ftp.sura.net

               Попробуйте: pub/nic (файлы помощи)

            quartz.rutgers.edu

               Попробуйте: pub/humor (шутки, юмор и т.д.)

            gatekeeper.dec.com

               Попробуйте: pub/recipes (рецепты и т.д.)



            Помните, что вы не можете просто послать сообщение с  коман-

       дами на ftpmail@..., не предварив его командой "open <site>", где

       "site" - это известный вам ftp-узел.



            Имейте в виду,  что ftp-серверы обычно  серьезно  загружены,

       поэтому ваш запрос может оставаться без ответа в течение несколь-

       ких минут,  часов,  а то и дней,  в зависимости от того,  куда вы

       направили свой запрос. Некоторые большие файлы могут быть "разре-

       заны" на несколько частей и высланы вам по отдельности.



            Если запрошенный файл вернулся к вам в виде чего-то похожего

       на  то,  что вы видите ниже (слово "begin" c числом и имя файла в

       одной строке,  а затем строки длиной 61  символ,  начинающиеся  с

       "M"), то это вероятно кодированный отправителем (uuencode) двоич-

       ный файл (так делается для надежной передачи подобных файлов).



            begin 666 answer2.zip

            M4$L#!`H`!@`.`/6H?18.$-Z$F@P```@?```,````5$5,25@S,34N5%A480I[

            M!P8;!KL,2P,)!PL).PD'%@.(!@4.!P8%-@.6%PL*!@@*.P4.%00.%P4*.`4.



            Нужно будет раздобыть программу-раскодировщик "uudecode" для

       той  операционной  системы,  которую  вы используете (DOS,  OS/2,

       Unix,  Mac, и т.д.) и раскодировать полученный файл. Наиболее ве-

       роятно,  что вы найдете такую программу на вашей собственной сис-

       теме. Если же нет, то в следующем разделе вы увидите как находить

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



            Если вы несете расходы за хранение информации в вашей систе-

       ме и вы собираетесь получить что-то крупное через ftp,  то  будет

       разумнее сделать это частями, чтобы обойти расходы за хранение.



            По умолчанию ftp предполагает,  что загружаемые файлы  имеют

       формат  ASCII.  Если вы загружаете двоичные файлы,  то необходимо

       предварительно дать команду binary,  в противном случае эти файлы

       во время передачи будут запорчены.  Чтобы переключиться обратно в

       режим ASCII, вы можете воспользоваться командой ascii.



            Иногда файлы передаются по Internet в формате tar. Программа

       tar - это утилита Unix, которая применялась сначала для копирова-

       ния  на  магнитную ленту сразу группы файлов.  Она до сих пор ис-

       пользуется для пакетной обработки сразу группы файлов.  Чтобы вы-

       делить сгруппированные tar файлы, используйте команду tar с аргу-

       ментом xvf и именем файла. Например, чтобы выделить файл с именем

       design.tar, вы можете использовать команду:



            % tar xvf design.tar



            Обычно ftp помещает файлы в  текущий  каталог  на  локальном

       хост-компьютере.  Переопределить это можно двумя способами. Прос-

       тейший метод - это смена текущего каталога на локальном компьюте-

       ре с помощью команды lcd:



            ftp> lcd internet-files

            Local directory now /u3/chrisr/internet-files

            ftp>



            Если вы передаете несколько файлов и хотите  слышать  сигнал

       при завершении передачи каждого из них, используйте команду bell.

       Команда hash приводит к тому,  что ftp в процессе передачи  файла

       выводит на экран символы #.  Это позволяет наблюдать за ходом пе-

       редачи. Если вы не уверены точно в том, что в каталоге локального

       хост-компьютера уже не присутствуют файлы с теми же именами,  что

       и имена принимаемых файлов,  то полезной будет  команда  runique.

       Чтобы проверить,  как установлены параметры ftp,  используйте ко-

       манду status:



            ftp> status

            Connected to netcom.com.

            No proxy connection.

            Mode: stream; Type: ascii; Form: non-print;

            Structure: file Verbose: on; Bell: off;

            Prompting: on; Globbing: on

            Store nique: off; Receive unique: off

            Case: off; CR stripping: on

            Ntrans: off

            Nmaps: off

            Hash mark printing: on; Use of PORT cmds: on

            ftp>