Главная » Статьи » Книги » Интернет

Андрей Мильвидский Руководство по глобальной компьютерной сети Internet

    * Глава 7: ПРОТОКОЛ ПЕРЕСЫЛКИ ФАЙЛОВ (FTP) *

     7.1  Тонны файлов

     Сотни соединенных с Internet систем  имеют библиотеки или архивы
файлов, открытые для всеобщего доступа. Из них большинство состоит из
дешевых общедоступных программ для стандартных работ на компьютере. Если
вам захотелось завести новую коммуникационную программу для вашей IBM или
захотелось поиграть в новую игрушку на собственной Amiga, и то, и другое
можно снять с Internet.
     Но существуют и библиотеки документов. Если вам нужны копии
последних постановлений Верховного Суда США, их можно найти в Internet.
Можете запросить и получить копии исторических документов, от Великой
Хартии до Декларации Независимости, или переводы телеграмм, в которых Ленин
требовал расстрела восставших крестьян. Можете найти песенную лирику,
стихи, и даже сжатое изложение всех сюжетов из серии "Затерянные в
Космосе". Также к вашим услугам файлы с исчерпывающей информацией по любым
вопросам, связанных с самим Internet.  Прежде всего мы посмотрим, как
добраться до этих файлов, то есть покажем вам, где они находятся.
     Наиболее употребительный способ достать эти файлы состоит в
использовании протокола пересылки файлов (File Transfer Protocol - ftp).
Как и при работе с telnet, не все системы, соединенные с Сетью, имеют
доступ к ftp.  Однако если ваша система входит в это число, то любой из
этих файлов вы можете получить по электронной почте (см.  следующую главу).
     Запустить ftp так же просто, как и использовать telnet. В ответ на
приглашение местной системы введите

ftp система.имя

и нажмите enter. Здесь "система.имя" означает адрес подсистемы ftp, к которой
желательно получить доступ. Одно из основных различий между telnet и ftp
состоит в том, что соединение с подсистемами ftp в рабочие часы (обычно от
шести утра и до шести вечера по местному времени) считается дурным тоном.
Это связано с тем, что пересылка файлов по сети занимает приличную часть
ресурсов компьютера, которые в дневное время наверняка понадобятся на более
важную работу. Тем не менее существуют системы ftp, открытые для доступа 24
часа в сутки.  Это отмечено в списке подсистем ftp в разделе 7.6.

     7.2  Ваш друг Archie

     А как найти нужный файл?
     Еще несколько лет назад это была жуткая головная боль - не было общего
каталога, из которого можно было бы узнать, где в Сети хранится нужный
файл. У кого хватило бы терпения в поисках чего бы то ни было перерыть
сотни библиотек?
     Аллен Эмтэйдж (Alan Emtage), Билл Хилан (Bill Heelan) и Питер Дейч
(Peter Deutsch), студенты университета Мак-Гилла  в Монреале (McGill
University), задались тем же вопросом. Но они дали на него некоторый
ответ.
     Они создали базу данных по имени archie, периодически обращающуюся
к библиотекам файлов и смотрящую, к чему они предлагают доступ. В свою
очередь, каждый может обратиться к archie, ввести с клавиатуры имя файла и
посмотреть, откуда из Сети можно его взять.
     Сейчас archie ведет каталог примерно 1000 библиотек файлов по всему
миру. В настоящее время есть три способа попросить archie найти для вас
файл: через telnet, через "клиент-программу" archie на вашем собственном
компьютере и по электронной почте. Все три способа позволяют задать
частичное или полное имя файла и узнать, где он хранится в Сети.
     Если у вас есть доступ к telnet, то можно обратиться к одному из
следующих адресов: archie.mcgill.ca; archie.sura.net; archie.unl.edu;
archie.ans.net; или archie.rutgers.edu. Если будет запрос регистрационного
имени, введите

archie

и нажмите enter.
     После установления связи ключевой командой будет prog, которая
употребляется в такой форме:

prog имя_файла

затем enter, где "имя_файла" - программа или файл, которые вы ищете.  Если
вам неизвестно точное имя файла, попробуйте ввести его часть.  Например,
"PKZIP" сработает не хуже, чем "PKZIP204.EXE."  Система не поддерживает
символы-"джокеры" DOS или Unix. Если вы попросите archie поискать "PKZIP*",
он ответит, что ничего подобного найти не может.  Следует помнить одну
вещь: файл - это не обязательно программа, это может быть и документ. Это
означает, что можно использовать archie для поиска, например, всего, что
относится к Битлз, точно также как и любых программ и графических файлов.
     Некоторые из подсистем Сети имеют теперь собственные программы
archie, принимающие ваш запрос и передающие его в ближайшую базу данных
archie - спросите у своего системного администратора, есть ли у вас такая
программа. Эти программы-"клиенты" поставляют информацию куда быстрее, чем
сама программа archie! Если таковая у вас есть, введите в командной строке
своей операционной системы:

archie -s имя_файла

где имя_файла - программа или документ, которые вы ищете, и нажмите enter.
Ключ -s дает программе указание не различать большие и малые буквы в имени
файла и позволяет искать файл по неполному имени.  Таким образом, вы можете
ввести:

archie -s имя_файла|more

что позволяет вести вывод найденной информации постранично (удобно тогда,
когда искомый файл содержится во многих подсистемах). Можно также открыть
файл на компьютере с помощью функции регистрации выводимого на экран
текста.
     Третий путь, для людей, которым недоступны оба описанных выше -
электронная почта.
     Пошлите сообщение по адресу archie@quiche.cs.mcgill.ca. Строку subject
можно оставить пустой. Внутри сообщения введите:

prog имя_файла

где имя_файла - имя файла, который вы ищете. Можно попросить archie поискать
несколько программ, имена которых задаются в той же команде "prog",
например:

prog file1 file2 file3

     В течение нескольких часов archie вернет список соответствующих
подсистем. Во всех трех случаях, если существует система, содержащая ваш
файл, вы получите ответ вроде следующего:

Host sumex-aim.stanford.edu

    Location: /info-mac/comm
           FILE -rw-r--r--     258256  Feb 15 17:07  zterm-09.hqx
    Location: /info-mac/misc
           FILE -rw-r--r--       7490  Sep 12 1991  zterm-sys7-color-icons.hqx

---------------------------------------------------------------------------

Система sumex-aim.stanford.edu

    Расположено: /info-mac/comm
           ФАЙЛ -rw-r--r--     258256  Feb 15 17:07  zterm-09.hqx
    Расположено: /info-mac/misc
           ФАЙЛ -rw-r--r--       7490  Sep 12 1991  zterm-sys7-color-icons.hqx
---------------------------------------------------------------------------

     Есть шансы, что вы получите для каждой программы список ответов
одинакового вида. "host" - это система, которая содержит файл. "Location"
сообщает, в какой директории его следует искать после соединения с системой. На
странные группы из букв r и тире пока не обращайте внимания.  После них
указывается размер в байтах файла или директории, дата загрузки и имя
файла.

     7.3  Прием файлов

     А теперь можно принять файл.
     Предположим, что имеющаяся у вас подсистема имеет ftp. Тогда вы можете
к ней подсоединиться как к telnet, введя:

ftp sumex-aim.stanford.edu

(или имя любой подсистемы, к которой вы хотите получить доступ).  Нажмите
enter.  Если соединение сработает, вы увидите следующее:

Connected to sumex-aim.stanford.edu.
220 SUMEX-AIM FTP server (Version 4.196 Mon Jan 13 13:52:23 PST 1992) ready.
Name (sumex-aim.stanford.edu:adamg):

---------------------------------------------------------------------------

Соединение с sumex-aim.stanford.edu.
220 SUMEX-AIM FTP сервер (Версия 4.196 Пон Янв 13 13:52:23 PST 1992) готов.
Имя (sumex-aim.stanford.edu:adamg):
---------------------------------------------------------------------------

     Если в течение минуты ничего не произойдет, нажмите control-C для
возврата в свою местную систему. Если же соединение сработает, введите

anonymous

и нажмите enter.  Вы увидите множество ссылок от Сети к "anonymous ftp"
(анонимный ftp). Дело в том, что вы не обязаны сообщать библиотечной
подсистеме свое имя. Причина этого заключается в том, что такие подсистемы
созданы для того, чтобы дать доступ любому к определенным общедоступным
файлам, оставляя в то же время возможность владельцам собственных учетных
разделов в подсистемах входить под своим именем и получать доступ к своим
персональным файлам. После этого следует запрос о пароле. В качестве пароля
укажите свой адрес электронной почты.  После этого появится следующее:

230 Guest connection accepted. Restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

---------------------------------------------------------------------------

230 Гостевая связь принята. Ограничения применены.
Система абонента -  UNIX.
При передаче файлов используется двоичный режим.
---------------------------------------------------------------------------

Теперь введите

          ls

и нажмите enter.  Вы увидите что-то ужасное вроде:

200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 2636
-rw-rw-r--  1 0        31           4444 Mar  3 11:34 README.POSTING
dr-xr-xr-x  2 0        1             512 Nov  8 11:06 bin
-rw-r--r--  1 0        0        11030960 Apr  2 14:06 core
dr--r--r--  2 0        1             512 Nov  8 11:06 etc
drwxrwsr-x  5 13       22            512 Mar 19 12:27 imap
drwxr-xr-x 25 1016     31            512 Apr  4 02:15 info-mac
drwxr-x---  2 0        31           1024 Apr  5 15:38 pid
drwxrwsr-x 13 0        20           1024 Mar 27 14:03 pub
drwxr-xr-x  2 1077     20            512 Feb  6  1989 tmycin
226 Transfer complete.
ftp>

---------------------------------------------------------------------------

200 ПОРТ команда выполнена успешно.
150 Открыт режим ASCII связи для /bin/ls.
всего 2636
-rw-rw-r--  1 0        31           4444 Mar  3 11:34 README.POSTING
dr-xr-xr-x  2 0        1             512 Nov  8 11:06 bin
-rw-r--r--  1 0        0        11030960 Apr  2 14:06 core
dr--r--r--  2 0        1             512 Nov  8 11:06 etc
drwxrwsr-x  5 13       22            512 Mar 19 12:27 imap
drwxr-xr-x 25 1016     31            512 Apr  4 02:15 info-mac
drwxr-x---  2 0        31           1024 Apr  5 15:38 pid
drwxrwsr-x 13 0        20           1024 Mar 27 14:03 pub
drwxr-xr-x  2 1077     20            512 Feb  6  1989 tmycin
226 Передача завершена.
ftp>
---------------------------------------------------------------------------

     Вот так! А теперь расшифруем этот Розеттский камень.
     Прежде всего, ls - это команда ftp для вывода директории (можно
использовать просто dir, но если вы привыкли к MS-DOS, это может вызвать
путаницу при попытке использовать команду в своей собственной местной
системе, где она не сработает, так что лучше просто помнить, что в процессе
сеанса связи следует для вывода директорий использовать ls).
     Самая первая буква каждой строки сообщает, относится данная строка к
директории или к файлу. Если первая буква "d" или "l", это директория,
иначе это файл.
     Остальная часть этих зловещих строк из букв и черточек состоит из
флагов, сообщающих системе ftp, кто имеет право просматривать, изменять или
удалять эти файлы. Вы можете их смело игнорировать. Можете также
игнорировать все символы вплоть до конца строки, пока не наткнетесь на
второе число, то, что стоит перед датой. Это размер файла в байтах. Если
эта строка относится к директории, то по этому числу можно грубо судить о
числе позиций в директории - директория с листингом размером в 512 байт
относительно мала. Далее следует дата загрузки файла или директории, а после
нее (наконец-то!) имя файла.
     Обратите внимание на файл README.POSTING в начале директории.
Большинство архивов содержат документ "read me" (прочти меня), который
обычно содержит некоторые основные сведения о подсистеме, ее ресурсах и
способах их использования. Давайте возьмем этот файл, как для получения из
него информации, так и для того, чтобы увидеть, как передаются файлы оттуда
сюда.  В ответ на приглашение ftp> введите

get README

и нажмите enter. Заметим, что подсистемы ftp не отличаются в некоторых
общих чертах от подсистем Unix:  они различают символы верхнего и нижнего
регистров. Вы увидите нечто вроде такого:

200 PORT command successful.
150 Opening BINARY mode data connection for README (4444 bytes).
226 Transfer complete. 4444 bytes received in 1.177seconds (3.8 Kbytes/s)

---------------------------------------------------------------------------

200 ПОРТ команда выполнена успешно.
150 Открытие соединения режима BINARY для передачи README (4444 байта).
226 Передача завершена. 4444 байта приняты за 1.177 секунд (3.8 Кбайт/сек)
---------------------------------------------------------------------------

Это оно и есть! Файл теперь расположен в вашей домашней директории вашей же
подсистемы, из которой вы можете выгрузить его в свой компьютер.  Простая
команда "get" - это ключ к передаче файла из архивов в вашу подсистему.
     Если вам нужно загрузить к себе больше одного файла за один раз
(например, серия документов), используется команда mget вместо get;
например:

mget *.txt

При такой передаче файлов копируется каждый файл из данной директории, имя
которого оканчивается на .txt. Перед копированием каждого файла у вас
запросят подтверждения, надо ли его копировать. Несмотря на это, mget может
сэкономить довольно много времени - нет необходимости вводить каждое имя
файла. Если вы хотите сэкономить еще больше времени, и уверены, что ВСЕ
заказанные файлы вам нужны, введите

prompt

до выполнения команды mget. Это отключит вывод приглашения и все файлы
будут введены прямо в вашу исходную директорию.
     Следует помнить еще одну команду. Если вы хотите скопировать
компьютерную программу, введите:

bin

и нажмите enter.  Это сообщит подсистеме ftp и вашей системе о том, что
пересылается двоичный файл, т.е. программа. Большинство подсистем ftp
используют двоичный формат по умолчанию, но неплохо на всякий случай
сообщить об этом, если вдруг вы связались с одной из тех немногих, для
которых это не так. Чтобы переключить директорию, введите

cd имя_директории

(здесь подставьте имя директории, к которой хотите получить доступ) и
нажмите enter. Введите

ls

и нажмите enter для получения листинга файлов данной конкретной директории.
Чтобы сдвинуться по дереву директорий вверх, введите

cd ..

(Обратите внимание, что между буквой d и первой точкой стоит пробел) и
нажмите enter.  Или  введите

cdup

и нажмите enter.  Продолжайте так до тех пор, пока не дойдете до
интересующей вас директории. Иначе, если вы уже знаете путь к директории,
которая вам нужна (от нашего друга archie), просто введите после соединения

get директория/субдиректория/имя_файла

     На многих подсистемах файлы, предназначенные для общего пользования,
расположены в директориях pub или public; иногда существует директория
info.
     Почти каждая подсистема имеет директорию bin, которая на первый взгляд
может показаться кладовой (англ. bin - кладовая), где может лежать что-то
интересное. На самом же деле это означает "binary" (двоичный) и просто
представляет собой место, где системный администратор держит программы,
обеспечивающие работу системы ftp. Lost+found - другая директория, которая
может показаться интересной, но и она ничего достойного общественного
интереса не содержит.
     Выше мы видели, как использовать archie. Из нашего примера видно, что
некоторые системные администраторы именуют файлы довольно неразумным
образом. К счастью, у вас есть способ переименовать файл в процессе
передачи. В том же примере работы с archie можно ввести:

get zterm-sys7-color-icons.hqx zterm.hqx

и нажать enter.  Вместо того, чтобы всегда иметь дело с файлом по имени
zterm-sys7-color-icons.hqx, вы теперь имеете файл с простым именем
zterm.hqx.  Последние три буквы дают нам еще нечто: Многие программы
подвергаются сжатию для сокращения времени передачи и экономии места. Чтобы
их потом использовать, следует их сначала развернуть соответствующей
программой декомпрессии.

     7.4  Дополнительные буквы -- указатели метода раскодировки файла

     Для сжатия файлов используется много разных методов. Сказать, какой
метод используется при передаче файла, можно по последней букве или
последней тройке букв имени файла. Здесь перечисляются наиболее
употребительные из них и указывается, что следует сделать, чтобы развернуть
файл, созданный таким методом. (Большинство программ декодирования файла
можно найти с помощью archie).

.txt или .TXT  Означает что файл является документом, а не программой.

.ps или .PS    Документ PostScript (на языке описания страниц Adobe). Такой
               файл можно распечатать на любом принтере с возможностью
               PostScript или использовать программу просмотра вроде
               GhostScript из проекта GNU.

.doc или .DOC  Еще одно общепринятое "расширение" для документов.
               Декомпрессия не нужна, если за именем не следует:

.Z             Это метод сжатия Unix. Для развертки файла введите

               uncompress имяфайла.Z

               и нажмите enter в командной строке своей системы. Если файл
               представляет собой сжатый текст, его можно прочитать
               интерактивно, введя:

               zcat имя_файла.txt.Z |more

               Программа u16.zip является программой MS-DOS, позволяющей
               загрузить такой файл и развернуть его в своем компьютере.
               Аналогичная программа для Macintosh называется MacCompress
               (найдите ее с помощью archie).

.zip или .ZIP  Это означает, что файл скомпрессирован обычной программой
               компрессии для MS-DOS, известной как PKZIP (найдите с помощью
               archie PKZIP204.EXE).  Многие системы Unix позволят вам
               распаковать этот файл с помощью программы, называемой... как?
               Правильно, unzip.

.gz            Версия  ZIP для Unix.  Для распаковки введите

               gunzip filename.gz

               в командной строке своей системы.

.zoo или .ZOO  Формат компрессии Unix и MS-DOS. Для разворачивания
               используйте программу по имени zoo.

.Hqx или .hqx  Формат компрессии для Mactintosh. Требует программы BinHex.

.shar или      Еще один формат Unix. Для распаковки  используется unshar.
.Shar

.tar           Еще один формат Unix, часто используемый при упаковке
               нескольких связанных друг с другом файлов в один большой
               файл. Большинство систем Unix имеют программу с именем tar
               для "un-tarring" (распаковки) таких файлов.  Часто такие
               файлы еще и сжимаются методом gz, так что их надо сначала
               распаковать, а потом обработать программой tar.

.sit или .Sit  Формат Mactinosh, требующий программы StuffIt.

.ARC           Другой формат MS-DOS, требующий использования программ ARC
               или ARCE.

.LHZ           Другой формат MS-DOS, требующий использования программы LHARC.

     Несколько слов предостережения напоследок: перед тем, как взять файл,
посмотрите его размер. Сеть перемещает данные с феноменальной скоростью. Но
файл в 500 кбайт, который будет передан в вашу систему за несколько секунд,
может потребовать час или два при выгрузке в ваш компьютер, если вы
используете модем 2400 бод. Ваша система может также иметь ограничения по
числу байт, которые вам разрешено хранить в одном сеансе связи. Ну, и кроме
того, хотя это и маловероятно, может оказаться, что ваш файл заражен
вирусом. И если вы хотите брать с Сети много программ, то запаситесь
хорошим антивирусным средством - на всякий случай.

 

Категория: Интернет | Добавил: svv (15.08.2008)
Просмотров: 674