1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /144, 1996 г./ | Бонус | Поиск  

Соло на компьютере

Не надо заводить архива, над рукописями трястись...

Владимир Шахиджанян


© 2004, Еженедельник «Компьютерра» | http://www.computerra.ru/offline
Этого материала на сайте "Компьютерры", к сожалению, нет

 

Однажды Герберта Уэллса попросили рассказать, что такое телеграф.

 – Представьте себе гигантскую кошку, – пустился в объяснения писатель, – хвост ее в Ливерпуле, а голова в Лондоне. Когда кошке наступают на хвост, раздается мяуканье. Точно так же работает телеграф.

 – А что такое беспроволочный телеграф? – спросил один из слушателей.

- То же самое, – ответил Уэллс, – но только без кошки.

(Из сборника "Знаменитые шутят")

 

Урок двадцать первый

Какое казенное слово – "архив". Произнесешь его и сразу думаешь о справках, выписках, бумагах, серости и... грусти.

Но ведь архив – это хранитель времени. Работая с компьютером, можно навести идеальный порядок во всех своих бумагах, документах, ибо терминологически все, созданное вами, компьютер воспринимает как документ: открыть документ, закрыть документ, создать документ. Великое стихотворение, сочиненное за компьютером, для него – обычный документ.

Иногда занесенного вами в компьютер оказывается так много, что на жестком диске (винчестере) не остается места. Вы хотите свой роман, чужую книгу в электронном виде кому-то отдать, но она слишком объемна, потребуются десятки дискет для ее хранения.

Как быть? Очень просто: материалы можно заархивировать. Каждый компьютерик должен владеть технологией архивирования и разархивирования.

Нередко приходится брать у друзей, знакомых дискетки с нужными нам материалами (документами). Мы открываем их – и ничего прочесть не можем, на экране какая-то абракадабра: какие-то странные значки, циферки, пометки, знаки, символы.. Прочесть и понять, что это такое, невозможно. Оказывается, мы получили дискетку с архивным файлом, ибо в таком виде на одной и той же ее площади, архивируя, можно уместить в два, а то и в три-четыре раза больше информации, чем если просто скопировать.

Если посмотреть любую программу в том виде, как она записана, то это тоже напомнит заархивированный материал.

MZ0 – ияя Г – , N- Г-

-Copyright © 1986 by John Socha.

V.4.0 by Derek White, 1993e-

ГТ|ШНзГ.%о-?К~+гфглОьЪР<гыгОН!у"&

КдгН!К6Ы/ &гЬ-Р/ЬИЙ1/2н

- &Jb • "-FGB42A"— и#и¥

Как вы думаете, что здесь написано? Мусор? Отнюдь нет.

Так выглядит в "Винворде" (WinWord) – начало файла nс.ехе –  исполняемого модуля программы Norton Commander. Файлы формата .ехе всегда имеют в начале две буквы – MZ.

И на всякий случай я предупреждаю: если вам встретится подобная абракадабра и покажется, что она не нужна, прежде чем уничтожать ее, стирать, сто раз подумайте – а стоит ли? А вдруг это самые главные файлы, без которых вообще невозможна работа с программами?

В DOS и Windows есть метки, позволяющие вам узнать, имеете ли вы заархивированные файлы или нет, так называемые расширения, которые нужно запомнить: arj, zip, ain, pak, rar, Izh, ha... Есть еще несколько расширений для архивов, но я назвал основные, а ваша задача – выяснить, какие архиваторы имеются на вашем компьютере. Разархивирование – это распаковка упакованного файла. Распаковку можно произвести только таким же архиватором, которым производилась и сама упаковка – архивирование.

Просмотрите файлы на вашем компьютере. Нет ли среди них архивированных? Смотрите внимательно на три символа расширения.

В Windows 95 о наличии специального архиватора говорит иконка – сжатый каталожный ящичек; все файлы, помеченные подобной иконкой, хранятся у вас в архивированном виде.

Вы хотите эти файлы разархивировать? Для этого и используют архиваторы. Найдите их на своем диске. (Легко сказать, да трудно сделать? Значительно проще, чем кажется. Хотя сознаюсь: первое время, осваивая компьютерику, уже относительно много зная и понимая, архивировать и разархивировать я боялся. А вдруг все вообще исчезнет – и потом никогда не восстановлю, да и привыкнуть и запомнить обозначения расширения было сложно, но нужно: arj, zip, ain, pak, rar, lha, ha).

Практически на каждом компьютере архиваторы есть. Но вдруг у кого-то нет? Ведь архиваторы практически нельзя купить в магазине. Как быть? Искать у друзей, знакомых, коллег и попросить помочь установить на ваш компьютер.

Любопытно, что архиваторам безразлично, что архивировать: текст на русском или китайском языке, графики или таблицы, программы, игры, рисунки или звуковое сопровождение. Почему? Да потому, что все программы пишутся одними и теми же значками – помните про двоичную систему? – ноликами и единичками.

Теперь можно работать. Но какая возможна ситуация? В случае с архиватором winzip ("винзип") все просто: ищем документ и указываем, что с ним делать. А если другой архиватор? Тогда нужно воспользоваться командной строкой. Так происходит, когда вы работаете в DOS.

Давайте еще раз вернемся к командной строке и постараемся понять смысл всех знаков, которые требуется набрать, чтобы выполнять те или иные нужные нам действия.

Как только появится командная строка

С:\>

автоматически будет показано, с каким диском мы имеем дело. Здесь С: – имя диска, с которым мы сейчас взаимодействуем (если бы мы использовали диск А: или D:, то приглашение выглядело бы с указанием этих дисков А:\> или D:\>). Двоеточие после буквы подтверждает, что появилась не просто буква, а именно обозначение диска. Одиночная косая черта (ее называют обратный слэш) – это разделитель, он требуется для написания пути и имени файла, о чем я в одном из первых уроков уже писал. Чтобы назначение слэша запомнилось легче, этот символ можно сравнить с пробелом, который мы всегда делаем между словами. Следующий значок в командной строке – математический знак "больше" (>) – показывает, где закончилось автоматически выдаваемое приглашение компьютера, и говорит о готовности последнего принимать дальнейшие команды с того места, где мигает курсор. Еще раз повторяю: описанный набор символов – это приглашение, которое выдает сама система.

С :\>- я надеюсь, это легко запомнить, а затем привыкнуть.

Если мы, например, решили использовать архиватор arj, то нужно написать после приглашения: arj (без пробела), а после этого нажать клавишу "ввод" (Enter). Что получится? Появится экран текста на английском языке – это подсказка с перечнем команд, необходимых для архивирования и разархивирования, с небольшим рассказом что означает каждая команда и что необходимо выбрать, чтобы произошло выполнение требуемого действия.

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

Опыт № 65

Создайте очередной файл 021jc.doc в директории SOLO. Пожалуйста, наберите, используя слепой десятипальцевый метод, двести пятьдесят шесть строк слова проводы.

проводы проводы проводы

Понимаю, некоторые с ужасом подумают: а зачем это странному Шахиджаняну Владимиру Владимировичу? (Чтобы вы улыбнулись, добавлю: если человек часто говорит о себе в третьем лице, то это один из симптомов ранней стадии психического заболевания или серьезного невроза.)

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

Можно поступить иначе. Написали одну строчку. Скопировали, а потом поместили в буфер. Теперь двести пятьдесят шесть раз нажимайте на возврат из буфера – и получите двести пятьдесят шесть строк за 250 секунд. На мой взгляд, первый вариант продуктивнее. Уйдет менее 50 секунд.

проводы проводы проводы

проводы проводы проводы

Для образца я показал только две строчки, а вам нужно двести пятьдесят шесть.

А теперь возьмите и доведите количество строк до 4000. Зачем это делать? А чтобы увидеть, сколько места занимают набранные строчки.

Если вы наберете сто страниц (в одной странице 28 строк)

проводы проводы проводы

то это потребует примерно 600 килобайт (на моем компьютере с использованием редактора Word заняло 591 килобайт) Если же мы заархивируем этот файл, то он ужмется до 15-20 килобайт. Как это происходит? Архиватор быстро "понимает", что в файле использовались только буквы п, р, о, в, д, ы и причем с определенной закономерностью. Зачем хранить все так, как есть (тысячи одинаковых строк) – куда проще обозначить: сколько в файле букв п, сколько р, и так далее; есть ли между ними пробелы и сколько их; сколько строк, каким шрифтом они набирались и т. п. Вот эта информация и заняла примерно 15 килобайт. (На самом деле все гораздо сложней: используются математические методы прессовки, архивирования, иногда говорят, сжатия, но о них обычному компьютерику не обязательно знать. Сама программа, анализируя ваш текст, находит в нем закономерности и после этого дает как бы сокращенный вид записи.)

Скажем, вы набрали тысячу строк следующего текста:

аоаоаоаоаоаоаоаоаоао

То есть только буквы а и о. Архиватор выяснит, сколько а и сколько о, произведет подсчет и выдаст результат (условно): 3000 букв а, но после каждой буквы идет без пробела 3000 букв о, а в строчке 64знака.

И весь архив в записи (конечно, условно) мог бы выглядеть так:

3000 – буквы а;

3000 – буквы о;

каждая буква о идет сразу за буквой а;

в каждой строчке 64 знака;

всего строк 900.

Согласитесь, что все здесь понятно, а места заняло мало.

Когда потребовалось бы разархивировать такую спрессованную запись, пошла бы команда: вызови букву а, за ней без пробела о, в каждую строчку по 64 буквы, а потом переходи на следующую строчку, таких строчек изволь сделать 900.

Повторяю: это очень примитивное объяснение. Но мне кажется, что иногда стоит упрощать сложное до примитивного, чтобы было легче понять суть.

Прежде чем вы начнете выполнять очередное задание – архивирование и разархивирование, необходимо (ТЕОРИЯ1) уяснить несколько понятий.

Первое. Работа по умолчанию. Странный термин. Если ты молчишь, то я тебя так и понимаю ты – молчишь. Применительно к компьютеру понятие "по умолчанию" означает, что есть только минимум информации, необходимый для работы: "Я делаю то, о чем мы договорились", – так бы рассуждал, если бы умел думать и говорить, компьютер.

Термина нет ни в одном специальном словаре по компьютерам. Но он есть на практике – компьютер совершает действие, которое не требует дополнительных указаний.

Скажем, я прошу просто записать файл. Он и запишет. Как бы по умолчанию, документом в формате Word, а если вы дадите дополнительную команду – допустим, записать с использованием пароля, чтобы никто, кроме вас, не мог даже открыть созданное вами (можно сделать файл годным лишь для чтения, чтобы никто ничего и никогда не мог вместо вас вписать в ваш документ), – это будет не по умолчанию, а с выполнением дополнительных команд, не заданных компьютеру изначально.

Второе понятие – путь. Путь – это описание местоположения файла, если быть точным, то это полное его имя, например, ваш файл 020j.doc. Все верно, но полное его имя с "путем" будет выглядеть так: C:\SOLO\020j.doc. То есть требуемый файл находится в директории SOLO на диске С: и называется 020J. И расширение у него doc, что понимается, как документ.

Кроме того, путь – это переменная (переменная окружения) path – означает "путь"), указывающая компьютеру, в каких директориях искать файл, если задано только его имя, без самого пути.

Для удобства работы (нахождения и вызова) стоило бы поместить архиваторы в директорию, которая описана в переменной path. (У вас наверняка на диске С: есть файл autoexec.bat, а в нем наверняка есть строчка, которая выглядит примерно так: path C:\;C:\util;C:\BIN. Это и есть список директорий, в которых компьютер будет искать выполняемый файл, если имя его не задано полностью, то есть с обозначением, какой же путь.)

Будет полезно дописать в переменную path ту директорию (каталог), в которой у вас лежат (хранятся, находятся)архиваторы, и перезагрузиться, что позволит набирать имя архиватора в командной строке, не задумываясь о его местонахождении.

Опыт № 66

Напишите, пожалуйста, десять строк слова форвард.

Всего семь букв! Самая сложная из них – ф – ей особое внимание. Помните о тренировке своих мизинцев: сжимать и разжимать кулаки, сжимать кулаки и отдельно двигать мизинцами. Если слово у вас не получится с первого раза, то разбейте его на слоги: сначала фор, а потом вард, а затем соедините и напишите десять строк форвард.

Почему сначала семь, а если не получится, то десять? Раз не получается, нужно сделать больше упражнений, выработать и закрепить навык. А если бы получалось, то зачем делать то, что легко получается?!

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

Опыт № 67

Пожалуйста, наберите три строчки слова пожар. После этого напишите пять строк слова эра, а затем четыре строчки странного слова лажа.

пожар пожар пожар пожар

эра эра эра эра эра эра эра

лажа лажа лажа лажа лажа

Опыт № 68

Напишите три строчки – какое простое упражнение! – слова дал.

Опыт № 69

Наберите десять строк слова дрожал. Только внимательно следите за правильной постановкой пальцев. Аккуратность, аккуратность и еще раз аккуратность Чем труднее вам при выполнении заданий во время обучения, тем легче станет работать, как только вы пройдете курс. Вера в собственное Я, вера преподавателю, вера в успех начатого дела, которое вы обязательно должны довести до конца. Конечно, это будет славно, если вы найдете в своем окружении друзей, которые согласятся вам помочь, но знайте1 все люди очень заняты; дав вам несколько уроков, ваши учителя могут вынужденно отказаться от вас, поэтому больше всего рассчитывайте на себя, на свои силы и возможности, волю, упорство, желание. Только вы сами можете сделать себя таким, каким хотите видеть.

Опыт № 70

Пожалуйста, наберите десять строк дрожал. Затем три строчки рожал. После этого пять строчек слова жал.

Поставьте сами себе оценку за выполнение. Не пользуйтесь клавишами Backspace и Delete, не обманывайте сами себя, копируя слово и тут же вызволяя из буфера.

Но если вы опыт проведете так, как требуется, и вам просто самим захочется продолжить занятия, то можете копировать, перемещать в буфер и вызволять из буфера, увеличивая количество строк до десятка, а то и сотни.

Опыт № 71

Пожалуйста, все, что вы сегодня набрали, заархивируйте.

Как это сделать, используя архиваторы arj и zip? Перечитайте сегодняшний урок и попробуйте произвести все действия как бы в уме, не прикасаясь к клавиатуре. Скорее всего, у вас ничего не получится. Поразительно, но многие люди, отлично умеющие работать на компьютере, когда им задаешь тот или иной вопрос, порой не могут на него ответить, а как только их пальцы оказываются на клавиатуре, они легко и свободно совершают все требуемые действия Память на действия, стереотип поведения за компьютером, когда руки как бы помнят, что когда и зачем необходимо нажимать.

Пока такой памяти у вас нет, подскажу, что и как нужно делать.

Перейдите в тот каталог, где вы хотите заархивировать файлы, например, каталог SOLO. Дайте команду (а все команды даются в латинице) в "Нортоне" или из командной строки:

arj a arhiv

(это команда программе arj добавить все файлы из текущего каталога). Результатом команды будет появившийся файл arhiv.arj, содержащий сжатые файлы. Расширение arj добавится программой автоматически. И архивный файл окажется в текущем каталоге. А если вы хотите поместить его в другой каталог, нужно указать его полный путь: C:\SOLO\arhiv. Набирать все без пробелов. Если вы будете архивировать в русифицированной среде.

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

Архиватор упакует все файлы в текущей директории и оставит их там, то есть он их скопирует, упаковав.

Опыт № 72

Попробуем архивировать, используя архиватор zip (это самый быстрый архиватор, по-английски zip означает "молния", произносится "зип").

Постарайтесь запомнить некоторую особенность этого архиватора. Для упаковки и для распаковки в нем предусмотрены две самостоятельные программы: сам pkzip для упаковки и для распаковки – pkunzip Архиватор так и поставляется в двух программах. У архиватора arj и для упаковки, и для распаковки используется одна программа, позволяющая и упаковывать, и распаковывать, а чтобы архиватор понимал, что же надо делать -спрессовывать или освобождать от спрессовывания, – используются буквы-команды: а (от английского add – "добавить") для упаковки их (от английскогоех1гас1-в переводе означает "выделить, исторгнуть"). Для pkzip и pkunzip никаких дополнительных параметров указывать не надо, кроме самого имени файла архива, в который мы упаковываем – чем? – pkzip или распаковываем – pkunzip.

Опыт № 73

Если на вашем компьютере есть этот архиватор, используем его для того, чтобы упаковать все, созданное вами в директории SOLO.

Снова выходим в "Нортон". Находим директорию SOLO, заходим и нее. В командной строчке после C:\SOLO> пишем без пробела pkzip, делаем пробел и даем название архива, допустим, shah.

Вот как должна смотреться набранная вами строчка полностью вместе с приглашением, которое выводится автоматически в "Нортоне":

C:\solo>pkzipshah

Теперь нажмите "ввод" (Enter), и вы увидите, как архиватор, мгновенно сработав, упаковал ваши файлы в архив под названием shah с расширением zip. Хотите экономить место на диске – можете смело стереть, удалить те файлы, которые вы упаковывали, только делайте все предельно внимательно, чтобы случайно не стереть и сам архив. Нередко компьютерики, боясь потерять тот или иной файл, архивируют его в виде копии не сколько для экономии места, а больше для того, чтобы, если пропадет файл, его легко можно было восстановить, благо он есть в заархивированном виде.

Теперь у вас в директории остался только один файл shah.zip, и мы готовы к следующему опыту. Но его мы будем проводить в другой раз.

Пожалуйста, не забывайте вести дневник ваших занятий.

Я понимаю, что продвижение в получении компьютерной грамотности идет медленнее, чем хотелось бы. Но, как говорится, тише едешь – дальше будешь. И потом, помните, мы с вами обсуждали проблему, как жить? И пришли к мнению, что стоит жить не торопясь, ибо сама по себе жизнь прекрасна и удивительна, как бы сложна и трудна она ни была, как бы грустно и тяжело нам ни было, когда мы сталкиваемся с непониманием, это и предательством близких

и друзей, когда общество не может нам ничем помочь и когда многое получается "не благодаря, а вопреки". Будем верить в свое и упорно добиваться поставленной цели. С надеждой на ваш успех, Владимир Владимирович

P.S. Мне приятно поблагодарить заданные консультации еще одного учителя, Дмитрия Михайловича Антошина. Он биофизик, блестяще владеющий компьютером, бескорыстный человек, который всегда готов прийти на помощь тем, кому трудно. Не сомневаюсь: пройдет время -и мир узнае т ученого Антошина. Кто знает, может быть, первое упоминание о нем в печати станет историческим Как бы мне хотелось не ошибиться в своих прогнозах.

И еще. Понимаю, что некоторых читателей и учеников может чуть смутить заголовок – откуда строчки?

Я хочу напомнить всем великолепное стихотворение Бориса Пастернака. Прочтите его. Может быть, вспоминая классику, мы подумаем о себе и о жизни, о бренности и вечности, о творчестве, которое необходимо каждому человеку.

 

Быть знаменитым некрасиво.

Не это подымает ввысь.

Не надо заводить архива.

Над рукописями трястись.

Цель творчества – самоотдача,

А не шумиха, не успех.

Позорно, ничего не знача.

Быть притчей на устах у всех.

Но надо жить без самозванства.

Так жить, чтобы в конце концов

Привлечь к себе любовь пространства.

Услышать будущего зов.

И надо оставлять пробелы

В судьбе, а не среди бумаг.

Места и главы жизни целой

Отчеркивая на полях.

И окунаться в неизвестность,

И прятать в ней свои шаги.

Как прячется в тумане местность.

Когда в ней не видать ни зги.

Другие по живому следу

Пройдут твой путь за пядью пядь.

Но пораженья от победы

Ты сам не должен отличать.

И должен ни единой долькой

Не отступаться от лица.

Но быть живым, живым и только.

Живым и только до конца.

 

Архивация и компрессия

Георгий Кузнецов

Запуская вновь "Соло на компьютере", мы договорились, что редакторы "Компьютерры" будут просматривать уроки и устранять технические ошибки. Нам попросту надоело отбиваться от ретивых знатоков, придирающихся к тому, что нормальный человек все равно не способен ни понять, ни запомнить. В данном случае исправить у меня не получилось, и я решил написать примечание. Дело в том, что В.В.Шахиджанян, очевидно, не знает разницы между архивацией и компрессией. Архивация, так уж сложилось исторически, – это техника сохранения совокупностей файлов на неудобном и медленном, но зато надежном и дешевом носителе – магнитной ленте. Ленты использовались для поддержки быстрых, но дорогих и ненадежных дисков. По существу, при архивации большое число файлов объединяется в один поток (один файл, если вывод идет на диск). Это удобно, экономит время и даже место, если файлы мелкие. В праматери всех современных систем, ОС Unix, была команда AR, объединявшая много файлов в один, который называли архивом или библиотекой, и очень похожая на нее TAR, которая умела к тому же сохранять и восстанавливать структуру "дерева" каталогов, а также работать с лентой.

В DOS еще недавно аналогичную роль играли команды BACKUP и RESTORE. Они автоматически "раскручивали" файловое дерево и укладывали данные на дискетки, заставляя пользователя их менять. При восстановлении считывались файлы и создавались каталоги – все как было.

Компрессия, о которой рассказывает В.В.Шахиджанян, называя ее архивацией, – это совсем другое дело. В Unix была отдельная команда COMPRESS (хотя ее всегда объединяли с TAR в один конвейер). В DOS появились программы, объединяющие и то, и другое. Постепенно независимые производители программ, таких как FASTBACK и PCBACKUP (была аналогичная программа из нортоновского пакета), создали удобные специализированные инструменты, сочетающие в себе и архивацию, и компрессию.

В этой истории было еще два сюжета: быстрая техника обмена данными с дискетой, как при форматировании (из-за которой такие программы не могут работать под "дисциплинирующими" ОС типа Windows или OS/2), и корректирующее кодирование. Последнее означает введение особого рода управляемой избыточности, благодаря которой правильные данные можно было вычислить даже при потере некоторого количества их из-за дефекта на дискете. Получалось, что сначала компрессия "отжимала воду", а потом корректирующее кодирование слегка разбавляло сухой остаток, но специальным, предсказуемым образом. Наконец, еще один интересный аспект — компрессированные файловые системы. В этом случае операционная система просто жмет все подряд в процессе записи на диск и восстанавливает при считывании.

Урок В.В.Шахиджаняна посвящен программам-компрессорам, некоторые из которых сочетают в себе возможность архивации дерева файлов и каталогов. Одно время этот класс программ был в моде, и между их создателями шла настоящая гонка за плотность сжатия, а вот на удобство и совместимость они почти не обращали внимания. Все эти программы сильно напоминают бессмертный юниксовский AR — они обычно и приходили в DOS из Unix. До сих пор приходится таскать с собой коллекцию этих дурацких "паковалок", а заодно и дискеточных архиверов, и всяких хитрых копировальщиков — что-то вроде слесарного "бардачка". Рекомендую так и поступать, поскольку всегда есть вероятность наткнуться в самый неподходящий момент на одичавшего фаната какой-нибудь ZOO, а то и на наивного пользователя, у которого ничего другого попросту нет.

 


1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /144, 1996 г./ | Бонус | Поиск  

© 2004, Издательский дом «Компьютерра» | http://www.computerra.ru
Телефон редакции: (095) 232-22-61
E-mail редакции: inform@computerra.ru