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. Последние три буквы дают нам еще нечто: Многие программы подвергаются сжатию для сокращения времени передачи и экономии места. Чтобы их потом использовать, следует их сначала развернуть соответствующей программой декомпрессии.

[Назад] [Содержание] [Вперед]