Server for Information Technologies Сервер поддерживается
Центром Информационных Технологий
(095) 932-9212, 932-9213, 939-0783
E-mail: info@citforum.ru
Сервер содержит море(!) аналитической информации CIT Forum CD-ROM

ncftp

Программа ftp является наиболее полезной функцией Internet является получения файлов с анонимных серверов ftp. К сожалению, программа ftp не особенно дружелюбна. Ее пользовательский интерфейс может понравиться разве что любителям Unix. Программа ncftp была разработана для упрощения передачи файлов с помощью ftp.

ncftp имеет пользовательский интерфейс, аналогичный ftp, но дает вам значительно больше информации, лучше понимает, что вы хотите, и предоставляет вам больше возможностей. Если вы уже знаете, как использовать ftp, то сможете работать с ncftp без изучения новых команд: ncftp понимает все команды ftp. Кроме того, она значительно расширяет продвинутые средства ftp.

Программа ncftp имеет множество удобных команд:

Даже с учетом всех перечисленных изменений использование ncftp весьма напоминает работу с ftp. Об остальных средствах данной программы вы можете прочитать в разделе "Использование ftp" (здесь перечислены лишь различия).

При открытии хост-системы программа ncftp автоматически регистрирует вас как anonymous и задает в качестве пароля ваш почтовый адрес. Это позволяет не набирать каждый раз данную информацию и ускоряет процесс регистрации. Указав перед именем хост-компьютера параметр -u, вы можете переопределить такое поведение:

     % ncftp -u chem.small.edu
     Login Name (chrisr):
     Password:
     User chrisr logged in.

В данном случае пользователь нажимает в ответ на приглашение Login Prompt клавишу Enter. При этом он регистрируется не анонимно, а под своим именем.

Как и при работе с обычной программой ftp вы можете задать файл с именем .netrc, содержащий список всех узлов, где вы обычно регистрируетесь. Этот файл может также содержать другие команды ncftp (как вы увидите далее). При наличии файла .netrc вам не нужно будет набирать полное имя хост-компьютера. Программа ncftp сможет распознать его всего по нескольким символам.

Предположим, что ваш файл .netrc выглядит следующим образом:

     machine rtfm.mit.edu
     machine mac.archive.umich.edu
     machine wuarchive.wustl.edu
     machine ftp.apple.com
     machine sumex-aim.stanford.edu

Узел sumex-aim.stanford.edu можно открыть с помощью одной из следующих команд:

     % ncftp sum
или
     % ncftp aim

(поскольку sum и aim в перечисленных в данном файле именах других машин не встречаются). Аналогично, вы можете существенно сократить набор при открытии узла wuarchive.wustl.edu:

     % ncftp wu

Программа ncftp упрощает открытие тех узлов, где вы уже регистрировались. Если вы дадите команду open без указания имени хост-компьютера, то получите в ответ 20 последних открытых узлов, а также тех узлов, которые перечислены в файле .netrc. Затем вы можете выбрать нужный узел, просто набрав его имя.

Предположим, например, что вы хотите открыть какой-то из тех узлов, которые вы недавно открывали, но помните только то, что он имеет имя bio:

     ncftp> open
     Recently called sites:
	1. BLOOM-PICAYNE.MIT.EDU
	2. bloom-picayune.mit.edu
	3. ftp.halcyon.com
	4. enh.nist.gov
	5. zaphod.ncsa.uiuc.edu
	6. cica.cica.indiana.edu
	7. biochemistry.bioc.cwru.edu
	8. caisr2.caisr.cwru.edu
	...
     (site to open) #7

Некоторые узлы, особенно те, где имеется свободно распространяемой и условно бесплатное программное обеспечение для ПК, настолько загружены, что отвергают попытки регистрации на них пользователей. Часто при этом выводится следующее сообщение: "Too busy, try later". Если вы пытаетесь зарегистрироваться на одном из таких узлов, попробуйте использовать параметр -r. При этом ncftp будет продолжать попытки регистрации, пока они не увенчаются успехом:

     ncftp> open -r sum
     Too many users connected currently. Please try again later.
     Login failed.
     Retry Number: 2
     Too many users connected currently. Please try again later.
     Login failed.
     Retry Number: 3
     Guest connection accepted. Restrictions apply.
     Logged into sumex-aim.stanford.edu.

Вы можете также указать параметр -r перед именем узла в командной строке.

Часто ncftp используют для получения одного файла с заранее известным именем, например, одного из файлов, перечисленных в данной книге. В командной строке Unix это можно сделать с помощью одной команды. Введите после имени хост-компьютера двоеточие и маршрут файла. Программа ncftp воспринимает это как запрос на регистрацию, смену каталога, получение файла и выход из системы. Например, чтобы получить файл /pub/listing с хост-компьютера ftp.small.edu, можете ввести команду:

     % ncftp ftp.small.edu:/pub/listing
     %

Этим методом вы можете воспользоваться и во время работы с ncftp:

     ncftp> open ftp.small.edu:/pub/listing
     ncftp>

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

Параметр ncftp вы можете установить с помощью команды set. Наиболее часто используемые параметры перечислены в таблице. Для вывода текущих параметров используйте команду show.

Параметры команды указывают в командной строке:

     ncftp> set progress-reports 4

Команды можно также поместить в файл .netrc, указав перед ними # (чтобы ftp считала их комментариями). Например, начало вашего файла .netrc может выглядеть следующим образом:

     #set progress-reports 4
     #set verbose 2
     #set prompt "@C> "

Параметры ncftp
Параметр Описание
anon-open Сообщает, нужно ли автоматически использовать при регистрации имя anonymous.
anon-password Пароль, используемый при анонимной регистрации.
local-dir Каталог, в котором будут сохраняться файлы.
logfile Имя файла для регистрации ваших сеансов ncftp. Чтобы предотвратить регистрацию, оставьте это поле пустым.
logsize Определяет, сколько строк будет включаться в файл регистрации.
mprompt Сообщает, нужно ли выводить приглашение для каждого файла при использовании команды mget.
netrc Имя файла запуска.
prompt Выводимая на экран строка приглашения.
progress-reports Вид отчета о ходе выполнения, который вы хотите видеть при передаче файла. 0 запрещает вывод такого отчета, 1 показывает процент переданных данных, 2 выводит графический индикатор, 3 показывает число переданных килобайт, а 4 выводит точку при передаче 10% данных.
resent-list Определяет, нужно или нет запоминать последние открытые вами узлы.
tips Задает вывод рекомендаций по регистрации на узлах и использованию ncftp.
type Тип передаваемых данных (ascii или binary).

Последняя строка показывает, как можно ввести в ответ на приглашение специальную комбинацию символов, позволяющих получить о вашем сеансе полезную информацию. Это следующие комбинации:
Строка Смысл
@D Полное имя маршрута удаленного компьютера.
@J Текущее имя каталога на удаленном компьютере.
@H Имя удаленного хост-компьютера.
@C Имя удаленного хост-компьютера и полное имя маршрута, которые разделяются точкой с запятой.
@c Эквивалентно @C, но далее выводится символ новой строки.
@E Показывает число введенных вами команд.
@M Если во время работы с ncftp вы получаете электронную почту, выводит (Mail).
@B Выводит следующий текст жирным шрифтом.
@I Выводит следующий текст курсивом.
@U Выводит следующий текст с подчеркиванием.
@R Выводит следующий текст в обратном видеорежиме.
@P Следующий текст выводится как простой текст.
@N Символ новой строки.

Чтобы видеть каталог и хост-компьютер, где вы находитесь, вы можете задать следующее:

     set prompt "@C> "
После этого подсказка может, например, выглядеть следующим образом:
     ftp.cso.uiuc.edu:/doc/pcnet>

При работе с ncftp вы можете легко прочитать файлы на удаленных системах. Команда page позволяет вам просматривать содержимое файлов постранично. (Она выполняет в ncftp команду more операционной системы Unix.) Такой возможностью полезно воспользоваться, если у вас есть индекс каталога, и вы хотите перед загрузкой просмотреть содержимое файлов. Например, чтобы увидеть файл с именем index, вы можете дать следующую команду:

     ncftp> page index

Для постраничного вывода длинного листинга каталога используйте команды pls и pdir. Эти команды соответствуют командам ls и dir, но информация выводится поэкранно.

С помощью ncftp вы можете легко получить файлы. Чтобы получить файл, вам не нужно набирать его полное имя. Если с помощью трафаретных символов вы выбрали только один файл, то команда get будет считывать его. Это особенно удобно при длинных или сложных именах файлов (аналогичных тем, которые применяются в FAQ).

Обратите внимание, что имя FAQ в следующем примере трудно набрать, но легко задать в качестве имени файла:

     ncftp>ls
     S_U_S_F_(R_d_t_p_p)
     Southern_US_Skiing_FAQ
     ncftp>get *p)
     Receiving file: S_U_S_F_(R_d_t_p_p)
     S_U_S_F_(R_d_t_p_p): ...........
     S_U_S_F_(R_d_t_p_p): 20405 bytes received in 0.71 seconds, 28.02 K/s.
Аналогичным образом можно уникально задать файл как S_*.

Команда lookup позволяет вам преобразовывать доменные имена в IP-адреса и наоборот:

     ncftp>lookup 204.1.123
     ivideo.com
	204.1.1.23
     ncftp>lookup ivideo.com
     ivideo.com
	204.1.1.23

При работе с ncftp вы можете вести протокол команд, документируя таким образом свой поиск. Для этого используйте команду set и имя файла журнала, а затем укажите число строк, которые вы хотите записывать в журнал:

     ncftp>logfile "ncftp.log"
     ncftp>logsize 5000
Эти команды можно также поместить в файл .netrc.
Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT