|
Программа 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.
|