Образовательная программа компании Global Inform. Украина, Харьков
Передача и прием файлов Многие люди, использующие Internet, не имеют с ней прямой связи. Они подключаются к хост-компьютеру со своего персонального компьютера через модем прямо из офиса или из дома. Так как боль- шинство шлюзов Internet имеют символьно-ориентированные интерфей- сы, вы можете использовать на ПК практически любую коммуникацион- ную программу, которая позволяет обращаться к Internet. Как быть в том случае, если вы хотите загрузить из Internet файлы или передать их? Эти операции выполнить несложно, однако стандартного способа не существует. Загружают из Internet или передают обычно два типа файлов: текстовые (так называемые файлы ASCII) и выполняемые. Разница между ними заключается в том, что текстовые файлы содержат только читаемый текст, а двоичные содержат специальные "нечитаемые" сим- волы. Метод передачи текстовых файлов между ПК и хост-компьютером Unix сильно отличается от методов передачи двоичных файлов. Еще более усложняет дело то, что способы передачи текстовых и двоич- ных файлов между двумя компьютерами с ОС Unix также могут быть различными. В данном разделе описываются команды Unix, которые можно ис- пользовать для передачи файлов на персональные компьютеры. Пос- кольку ПК могут быть различных типов, и на каждом типе ПК могут работать десятки видов коммуникационного программного обеспече- ния, конкретные инструкции по передаче файлов привести невозмож- но. Однако большинство современных коммуникационных программ для ПК имеет несколько общих средств, позволяющих выполнять такую пе- редачу. Общее описание таких средств вы здесь и найдете. Это опи- сание предполагает, что на ПК вы используете умеренно сложное программное обеспечение: сегодня существует множество свободно распространяемых или недорогих программ, которые прекрасно спра- вятся с этой работой. Лучший способ передачи файла с вашего ПК на хост-компьютер Unix состоит в том, чтобы "ввести" содержимое файла c вашего пер- сонального компьютера в файл хост-компьютера. Выполните следующие шаги: 1. На хост-компьютере Unix наберите команду cat, укажите после нее символ > и имя текстового файла, который вы хо- тите получить на хост-компьютере Unix. Например, если вы хотите, чтобы файл назывался sourses-list.txt, можно вос- пользоваться командой: % cat >sources-list.txt Команда cat будет ждать, пока вы не наберете текст файла. 2. Дайте на своем ПК команду, используемую для "вывода" текстовых файлов на удаленном компьютере. В названии этой команды обычно содержится слово type или слова send text либо dowload text. 3. Набрав файл, нажмите на хост-компьютере Unix Ctrl-D. Это завершит ввод файла, и вы снова увидите приглашение Unix. Давая команды для вывода на удаленный компьютер не исполь- зуйте команд со словами XMODEM, YMODEM, ZMODEM или Kermit. Это может привести к тому, что такие файлы невозможно будет использо- вать. Лучшим способом получения коротких файлов является использо- вание средств "захвата", "сохранения текста" или "загрузки текс- та" вашего персонального компьютера. Большинство программ имеют такое средство, хотя объем сохраняемого файла часто ограничен. Используйте следующие шаги: 1. На хост-компьютере Unix наберите команду cat, указав пос- ле нее символ < и имя передаваемого файла. Клавишу Enter пока нажимать не нужно. 2. Запустите на своем ПК средство захвата, сохранения или загрузки текста. 3. Чтобы начать передачу файла, нажмите на хост-компьютере Unix клавишу Enter. 4. После завершения передачи файла остановите прием текста на своем ПК. Этот метод не позволяет получить на своем ПК точную копию файла. В загруженном файле в первом символе будет присутствовать дополнительный символ возврата каретки. Если хотите, эти символы можно отредактировать с помощью текстового редактора. Чтобы передать двоичные файлы, на обоих компьютерах должно работать программное обеспечение передачи файлов, использующее один и тот же протокол. Чаще всего используются такие протоколы как XMODEM, YMODEM, ZMODEM и Kermit. Первые три протокола связа- ны. Первым был написан XMODEM, за ним последовал YMODEM, потом ZMODEM. Протокол Kermit был написан и разработан отдельно. Если у вас есть выбор, то лучше использовать ZMODEM. Это протокол обычно быстрее, и работать с ним легче. Чаще всего в протоколах используются следующие команды: Протокол Команда XMODEM rx имя_файла YMODEM rb ZMODEM rz Kermit kermit -r Однако в ваших системах Unix могут применяться другие коман- ды, поэтому спросите своего системного администратора. Для передачи файла хост-компьютеру Unix используйте следую- щие шаги: 1. На хост-компьютере Unix дайте команду, подготавливающую его к приему файла. Эта команда зависит от типа программ- ного обеспечения, имеющегося в вашей системе Unix (как описывается выше). 2. На своем ПК используйте команду, посылающую двоичные фай- лы. В имени такой команды часто можно встретить слова "upload", "transfer binary" или "send binary". 3. Обычно ваш персональный компьютер информирует вас о про- цессе передачи файла. Как правило он сообщает вам также о завершении передачи. 4. Если вы не видите на экране приглашения Unix, нажмите несколько раз клавишу Enter. Как можно видеть, эти шаги работают не всегда. Наиболее об- щей ошибкой является несовпадение команд на этих двух компьюте- рах, например, попытка приема с помощью протокола XMODEM при ис- пользовании ZMODEM. Поскольку текстовые файлы - это подмножество двоичных фай- лов, вы можете посылать текстовые файлы также как двоичные. Такой режим передачи имеет свои преимущества и недостатки. Преимущество передачи двоичных файлов состоит в том, что такой режим передачи меньше подвержен ошибкам. Так как программы передачи двоичных файлов обеспечивают абсолютную целостность, вы не будете подвер- жены таким помехам как шумы в телефонной линии. Недостаток в том, что формат текстового файла может не совпадать с тем форматом, который ожидает Unix. (Обычно это относится к передаче файлов с PC-совместимых компьютеров.) В текстовых файлах Unix каждая стро- ка заканчивается символом возврата каретки. В текстовых файлах РС символы заканчиваются символами возврата каретки и перевода стро- ки. На компьютерах с Unix и других ПК чтение таких текстовых фай- лов может вызывать трудности. Чтобы передать текстовые файлы как двоичные, вы должны быть уверены, что строка заканчивается только символом возврата карет- ки. Сначала стоит попробовать передать тестовый файл. После пере- дачи проверьте результаты, выведя файл в хост-системе Unix с по- мощью команды more. Передача файлов с хост-системы Unix на ваш ПК требует выпол- нения перечисленных выше шагов в обратном порядке. Наиболее общи- ми командами протоколов являются следующие команды: Протокол Команда XMODEM sx имя_файла YMODEM sb имя_файла ZMODEM sz имя_файла Kermit kermit -s имя_файла Как уже говорилось, в вашей хост-системе Unix могут исполь- зоваться другие команды. Спросите об этом у системного админист- ратора. 1. В хост-системе Unix дайте команду, начинающую передачу файлов. Эта команда зависит от типа программного обеспе- чения, доступного в вашей системе Unix (как уже говори- лось выше). 2. На персональном компьютере дайте команду, начинающую при- ем двоичных файлов. Если вы используете протоколы ZMODEM или Kermit, некоторые виды программного обеспечения обна- руживаются передаваемые в соответствии с этими протокола- ми файлы и автоматически начинает их прием. 3. Обычно ваш персональный компьютер информирует вас о про- цессе передачи файла. Как правило он сообщает вам также о завершении передачи. 4. Если вы не видите на экране приглашения Unix, нажмите несколько раз клавишу Enter. Если обе системы Unix имеют постоянную связь с Internet, то передачу файлов достаточно просто выполнить с помощью команд ftp. (Соответствующие шаги описываются в разделе, посвященном ftp.) Программа ftp - это единственный метод, который вы можете исполь- зовать для непосредственного копирования файлов. Если вы не може- те использовать команду ftp для передачи файлов с локального компьютера на удаленный, то можно воспользоваться другим методом - передать файл работающему на данном компьютере пользователю с помощью электронной почты. Метод, применяемый для передачи файлов по электронной почте, зависит от используемой программы электронной почты. Однако, не- зависимо от этой программы, важно помнить, что таким способом вы можете посылать только текстовые файлы, но не файлы ASCII. Если вы хотите передать двоичный файл, используйте для преобразования этого файла в текстовый вид следующие шаги. Этот метод годится и для текстовых файлов (при этом они обычно уменьшаются в размере). 1. Упакуйте файл с помощью команды compress. Результатом бу- дет двоичный файл, имя которого совпадает с именем ориги- нала, а расширением будет .Z. Например, если вы хотите послать файл spiral, то можете использовать следующую ко- манду: % compress spiral 2. Для преобразования команды из упакованного в текстовый вид используйте команду uuencode. Полезно присвоить ново- му файлу имя, указывающее на то, что он закодирован (нап- ример, добавить в конец .uue), например: % uuencode spiral.Z <spiral.Z >spiral.Z.uue 3. Для передачи файла-результата используйте программу электронной почты. 4. Когда получатель примет весь файл, ему следует сохранить его на диске удаленной системы. 5. Чтобы преобразовать этот файл снова в упакованный двоич- ный вид, используйте команду uudecode: % uudecode spiral.Z.uue 6. Наконец, распакуйте декодированный файл: % uncompress spiral.Z