архиватор ZIP


План:
1) Введение
2) Архивный файл
3) Ключи и команды архиватора ZIP.
4) Архиватор ZIP for Windows
5) Заключение
6) Список используемой литературы



Введение:  При эксплуатации компьютера по самым разным причинам возможны
порча или потеря информации на магнитных дисках. Это может произойти из-за
физической порчи магнитного диска, неправильной корректировки или
случайного уничтожения файлов, разрушения информации компьютерным вирусом и
т.д. Для того чтобы уменьшить  потери в таких ситуациях, следует иметь
архивные копии используемых файлов и систематически обновлять копии
изменяемых файлов.
      Для копирования файлов можно, разумеется, использовать команды COPY
или XCOPY. Но, например для  копирования файлов с жесткого диска емкостью
28 Мбайт необходимо 20 дискет стандартного формата (по 1.46 Мбайт). В таком
большом количестве дискет даже разобраться довольно трудно, поэтому
трудоемкость создания и обновления архива будет весьма значительной.
Поэтому для создания архивов употребляются специализированные программы. Их
можно разделить на два класса: программы упаковщики (архиваторы) и
программы резервного копирования. В реферате будут рассмотрены только
программы-упаковщики, так как ZIP относиться именно к ним.

                               Архивный файл.
      Архивный файл представляет собой набор из одного или нескольких
файлов, помещенных в сжатом виде в единый файл, из которого их можно при
необходимости извлечь в первоначальном виде. Архивный файл содержит
оглавление, позволяющее узнать, какие файлы содержаться в архиве. В
оглавлении архива для каждого содержащегося в нем файла храниться следующая
информация:
      1. имя файла;
      2. сведения о каталоге, в котором содержится файл;
      3. дата и время последней модификации файла;
      4. размер файла на диске и в архиве;
      5. код циклического контроля для каждого файла, используемый для
         проверки целостности архива;

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

Например: game.rar – заархивирован при помощи архиватора RAR.
             game.arj - заархивирован при помощи архиватора ARJ.
             game.zip - заархивирован при помощи архиватора ZIP.

      Невольно возникает вопрос, зачем столько архиваторов (а их гораздо
больше) и все для одной лишь цели – сжать объем файла.
      Разные программы отличаются форматом архивных файлов, скоростью
работы, степенью сжатия файлов при помещении в архив, удобством
использования.



                       Ключи и команды архиватора ZIP.
       Существует два основных файла программы :
PKZIP- программа помещающая файлы в архив
PKUNZIP- программа извлекающая файлы из архива.

Программы PKZIP/PKUNZIP имеют большое количество функций, выбор нужных
функций выполняется в командной строке при вызове программ. Задание функций
программ PKZIP/PKUNZIP осуществляется  только с помощью указания режимов.
Режимы могут указываться в любом месте командной строки после имени
программы, они задаются  либо с предшествующим знаком “-”, либо с
предшествующим знаком “/”.

                          Помещение файлов в архив.

При помещении файла в архив используется следующий формат:
      PKZIP  режимы  имя архива    (имена файлов)
Режимы- указываются с предшествующим знаком “-” или “/”, они задают или
уточняют требуемые от программы архивации действия;
Имена файлов- задают файлы, включаемые в архив. При задании имен файлов
можно использовать символы * и ?. Если имена файлов не заданы, то
подразумевается все файлы из текущего каталога.
      Примечание: символ * - определяет что будут использованы любые
символы в том месте где стоит звездочка.
            Пример:
1) game.* - означает что будут заархивированы все файлы с именем    game
   (game.exe, game.sav, game.cfg)
2) ga*.sav – имеется ввиду файлы с первыми двумя буквами “ga” в имени файла
   и расширением sav.  (game.sav, game01.sav, game02.sav).

Символ ? - определяет что будет использован любой символ в том месте где
стоит вопрос.
            Пример:
1) game.?a?- все файлы с именем game и  расширением в котором в середине
   стоит буква “a” (game.sav, game.bat ...)
2) game???.*- все файлы с именем в котором первые четыре буквы  game и
   любыми другими символами после четвертой буквы + любое расширение.


После ввода команды программы-упаковщики начинают выполнять запрошенные
действия. На экране изображаются имена помещаемых в архив файлов. При
сжатии каждого файла выводиться процент обработанной части файла. После
окончания сжатия каждого файла напротив его имени сообщается о степени
сжатия. Например, при упаковке файла pkzip.exe  на экране появляется
надпись:
      Adding: PKZIP.EXE     Deflating (36%), done.

      Задание степени сжатия.


По умолчанию программа  PKZIP обеспечивает достаточно большую скорость
работы и близкую к максимальной степень сжатия. Но при желании можно
получить максимальную (на несколько процентов большую) и наименьшую
(быструю)  степень сжатия. С ключом максимальной степени сжатия программа
работает медленнее обычной, а при ключе наименьшей степени сжатия файлов
наоборот, быстрее.
            Ключи:
      6. “-ex” – максимальная степень
      7. “-en” – средняя (обычная) степень
      8. “-es” – наименьшая степень

      Режимы выбора архивируемых файлов.
Программа PKZIP имеет три основных режима помещения файлов в архив:
      Add – добавление в архив всех файлов;
      Update – добавление в архив новых файлов;
      Freshen – добавление новых версий имеющихся в архиве
                 файлов.

      Эти режимы имеют следующие особенности:
1) в режиме добавления (Add) в архивный файл добавляются все указанные в
   команде файлы;
2) в режиме добавления новых файлов (Update) в архивный файл добавляются те
   файлы, у которых либо нет копий в архиве, либо эти копии имеют более
   раннюю дату, чем у файла. Задание этого режима позволяет предотвратить
   затирание более новых версий в архиве;
3) в режиме обновления версий файлов (Freshen) в архив добавляются новые
   версии тех файлов, которые уже имеются в архиве. Иначе говоря, в архив
   добавляются те файлы, копии которых уже находятся в архиве, но имеют
   более раннюю дату, чем у соответствующего файла на диске. Этот режим
   позволяет добиться того, чтобы архивный файл содержал наиболее свежие
   версии своих файлов.

Задание этих режимов осуществляется следующим образом:

      Add – по умолчанию (или “–а”)
      Update – режим “-u”
      Freshen – режим “-f”

Примеры:

      Pkzip game — добавление в архивный файл game  всех файлов из текущего
      каталога;
      Pkzip –u a:myarc — обновление архивного файла a:myarc.zip. В архивный
      файл добавляются файлы из текущего каталога, однако если какой-либо
      файл уже имеется в архиве и дата копии файла в архиве более поздняя,
      чем у файла из текущего каталога, то такой файл не добавляется в
      архив, и в архиве сохраняется более поздняя версия файла;
      Pkzip –f a:myarc b:\*.* — добавление в архив a:myarc новых версий
      файлов этого архива из корневого каталога диска В:


                          Пересылка файлов в архив

      Очень часто требуется не копировать, а пересылать файлы в архив.
Иначе говоря, те файлы, которые были успешно добавлены в архив, должны
удаляться. Для пересылки используются следующие режимы:
      PKZIP - режим –M (можно указывать совместно с режимами –a
                                                                    –u –f)

Замечания:
1) Если при архивации файлов возникает ошибка, то исходные файлы не
   уничтожаются.
2) Использование пересылки файлов в архив позволяет существенно сократить
   место на диске, занимаемое файлами. Часто имеет смысл хранить редко
   употребляемые программы и данные в виде архивного файла, а при
   необходимости их использования – извлекать из архива.

Примеры:
      Pkzip –m myarc — пересылка в архивный файл MAYARC.ZIP всех файлов из
      текущего каталога;
      Pkzip –m –u docfiles *.doc a:\*.doc — пересылка в архивный файл
docfiles.zip всех файлов с расширением .doc из текущего каталога и из
корневого каталога на диске А: кроме тех, копий которых нет в архиве
docfiles.zip.



                         Извлечение файлов из архива

      Как упоминалось ранее, для извлечения файлов из архивов, созданных
программой PKZIP, используется программа PKUNZIP.

      Программа PKUNZIP имеет следующий формат вызова:
            PKUNZIP     режимы       имя архива     (имена файлов)

      После ввода команды программы архивации начинают извлечение файлов из
архива. На экране изображаются имена извлекаемых из архива файлов.

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

PKUNZIP: (W18) Warning! PKUNZIP.EXE already exists.  Overwrite (y/n/a/r)?
      (Файл существует. Перезаписать?)

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

|Извлечение              |Запрос                  |PKUNZIP                 |
|Всех файлов             |Без запросов            |-О                      |
|                        |С запросами             |По умолчанию            |
|Новых версий и новых    |Без запросов            |-N                      |
|файлов                  |С запросами             |Нет                     |
|Новых версий файлов     |Без запросов            |-F                      |
|                        |С запросами             |Нет                     |
|Новых файлов            |                        |Нет                     |

Здесь извлечение новой версии файла – ситуация, когда для извлекаемого из
архива файла в том каталоге, куда он должен быть помещен, имеется файл с
тем же именем, но файл в архиве имеет более позднюю дату последней
модификации, чем файл с тем же именем на диске; извлечение нового файла-
ситуация, когда для извлекаемого из архива файла в том каталоге, куда он
должен  быть помещен, нет файла с тем же именем; запрос- запрос –
предупреждение, делаемый перед “затиранием” файла на диске

      Примеры:
      Pkunzip a:archive –o — извлечение всех файлов из архива a:ARCHIVE.ZIP
      и помещение их в текущий каталог. Файлы на диске с тем же именем
      затираются без предупреждений.

      Pkunzip a:archive – n — извлечение всех файлов из архива
      a:archive.zip в текущий каталог. Если на диске имеется файл с тем же
      именем, что и в архиве, то файлы на диске с более ранней датой
      последней модификации затираются без предупреждения, а файлы с той же
      или более поздней датой остаются без изменений (извлечение
      соответствующих файлов из архива не проводиться);

      Pkunzip a:archive –f   обновление из архива a:archive.zip  версий
      файла из текущего каталога. Из архива извлекаются только более свежие
      версии файлов, которые уже имеются в текущем каталоге. Никаких
      запросов при этом на экран не выводится, старые версии файлов
      затираются без предупреждения.



                      Архивация файлов из подкаталогов

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



                         Просмотр оглавления архива

      Одним из наиболее часто используемых режимов программ архивации
является, естественно, просмотр оглавления архива. С помощью  функций
просмотра оглавления архива можно узнать, какие файлы содержаться в архиве
и получить подробную информацию об этих файлах: в каком каталоге на диске
находиться файл, каковы дата и время последней модификации файла, каков
размер файла на диске и в архиве и т.д.
      Формат команды:
            Pkunzip –v     имя-архива
Пример:
            Pkunzip  -v  arhiv.zip

                       Приостановка выдачи результатов
      Сама команда приостановки выдачи результатов нужна для того, чтобы
успеть просмотреть подробнее те файлы, которые очень быстро проскакивают на
экране. Т.е. при нахождении в архиве достаточно большого количества файлов
они очень быстро мелькают в режиме просмотра (-v)  для чего используется
следующий формат команды:    pkunzip  -v  имя-архива   | more

Пример: pkunzip  -v  arhiv.zip | more

Результат:

Length  Method   Size  Ratio   Date    Time    CRC-32  Attr  Name
------  ------   ----- -----   ----    ----   -------- ----  ----
 23552  DeflatN   5170  79%  12-01-97  10:21  cdf2e30d --w-  12K.DOC
 18432  DeflatN   3911  79%  10-01-98  16:43  d6e051c8 --w-  F3~1.DOC
 18432  DeflatN   3512  81%  23-09-97  19:59  5db4a587 --w-  MINISTER.DOC
 11264  DeflatN   2241  81%  26-01-98  15:40  eb9b0599 --w-  RABOTA.DOC
 23552  DeflatN   6683  72%  09-04-98  16:59  69d79c7d --w-  PROT.XLS
 22528  DeflatN   4195  82%  09-08-97  09:25  900ce70f --w-  АКТПИР~1.DOC
 12800  DeflatN   4557  65%  19-03-99  05:58  89c67d54 --w-  БЕНЗИН.DOC
 10752  DeflatN   2934  73%  13-08-96  08:09  0d3978e1 --w-  ГРПЛ1Э~1.DOC
 11776  DeflatN   3397  72%  25-09-96  13:30  733dfd93 --w-  ГРФИН1~1.DOC
- Далее --   (после нажатия на клавишу следуют остальные файлы)

  12288  DeflatN   3052  76%  18-11-96  20:10  a7369930 --w-  ГРФИН2~1.DOC
  18944  DeflatN   5224  73%  06-05-97  08:48  a2260dda --w-  ПРЕДВА~2.DOC
  14848  DeflatN   5384  64%  01-12-97  06:23  7cfa732d --w-  РЕЕСТР~1.DOC
  20480  DeflatN   7178  65%  25-11-97  07:23  b2ad1157 --w-  РЕЕСТР~2.DOC
  14336  DeflatN   3137  79%  10-01-98  13:02  bfefffbb --w-  РЕСУРС~1.DOC
  14336  DeflatN   3750  74%  18-11-96  20:44  f8d6cb4d --w-  РС2ЭТ~1.DOC
  11776  DeflatN   4070  66%  10-01-98  13:54  dfb5afaf --w-  СВОДЗА~1.DOC
  12288  DeflatN   6649  46%  10-01-98  16:18  30622f0d --w-  СВОДЗА~2.DOC
  52736  DeflatN  13320  75%  28-03-97  18:17  da25aab4 --w-  СВОДКА.DOC
  18432  DeflatN   3526  81%  29-10-97  07:07  f597bbb8 --w-  СДЕЛСП~1.DOC
  13312  DeflatN   3990  71%  30-08-96  09:20  f6aaa7a1 --w-  СРАВНК~1.DOC
  17920  DeflatN   3809  79%  30-08-96  09:22  bda7830a --w-  СРАВНК~2.DOC
  33280  DeflatN   8670  74%  28-03-97  18:17  ece864d5 --w-  ИТОГ.XLS
  30208  DeflatN   8957  71%  09-04-98  13:20  75d98848 --w-  ИТОГСМ~1.XLS
  27648  DeflatN   7570  73%  09-04-98  17:02  1545e024 --w-  РЕЕСТР~1.XLS
 ------          ------  ---                                  -------
 465920          124886  74%                                       24

Length —размер исходного файла
Method — метод сжатия файла при помещении его в архив
Size — размер файла после сжатия
Ratio — процент места в архиве, сохраненного благодаря сжатию файла
Date — дата создания или последней модификации исходного файла
Time — время создания или последней модификации исходного файла
Crc-32— код циклического контроля файла
Attribute— атрибуты файла (s— системный, h— спрятанный, w— для чтения и
записи,  r—  только для чтения, *— файл защищен паролем)
Name –имя файла.

      При использовании для вывода оглавления режима “-vb”          (а не
–v)  сведения о коде циклического контроля и атрибутах файла не выводятся,
что оставляет больше места для вывода имени файла.


                       Сортировка информации о файлах

 Программа PKUNZIP позволяет выводить оглавление архива в отсортированном
виде. Наиболее часто используется вывод оглавления в алфавитном порядке.
Для этого нужно указать режим     -vn
Пример: pkunzip –vn arhiv.zip



                         Проверка целосности архивов

      Для каждого файла из архива в оглавлении архива запоминается его код
циклического контроля (СRC). Этот код – специальная функция всего
содержимого файла, составленная таким образом, что изменить файл так, чтобы
его код циклического контроля остался неизменным, практически невозможно.
      Наличие кода циклического контроля позволяет проверить целостность
архивного файла. При извлечении файлов из архива вычисляется код
циклического контроля для каждого файла и сообщают пользователю, если этот
код не совпадает с записанным в оглавлении архива. Проверить целостность
архива можно с помощью команды тестирования:
            Pkunzip –t  имя-архива
Пример:  pkunzip –t arhiv.zip

Результат:

Testing: TOOL.DOC  OK
Testing: БЕНЗИН.DOC    OK
Testing: WASH.DOC  PKUNZIP: Warning! Fail fails CRC chek
Testing: ГРИН.DOC  OK
Testing: ГРAФИН.DOC  OK

PKZ ARHIV.IP has errors!

В этом примере сообщается, что файл WASH.DOC в архиве оказался испорченным.
      Замечание: для файлов, зашифрованных при помещении в архив с помощью
пароля, при проверке необходимо указать пароль (параметр –sпароль)


                     Восстановление поврежденных архивов

      Хранение информации в архиве  более надежно из-за того, что данные
хранятся в сжатом виде, меньше вероятность их случайного повреждения,
например из-за дефектов магнитного покрытия диска.
      Но в некоторых случаях архивные файлы с большой вероятностью могут
быть повреждены. Вот наиболее типичные из таких ситуаций:
      9. запись архива на дефектную дискету или чтение его с такой дискеты;
     10. передача архива по телефонной сети через модем
     11. повреждения из-за воздействия вирусов, неосторожных действий
         пользователей, неправильно работающих программ и т.д.

      Если программы PKZIP или PKUNZIP обнаруживают, что оглавление архива
      повреждено, они выводят на экран сообщение:
            имя-архива: Error in ZIP, use PKZipFix
      (ошибка в архиве, используйте программу PKZipFix)

Формат вызова: PKZIPFIX имя-архивного-файла
      Эта программа создает в текущем каталоге архивный файл PKFIXED.ZIP ,
содержащий всю информацию, которую удалось восстановить из исходного
архивного файла.


               Проблема отключения питания во время архивации

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



                       Защита файлов с помощью пароля

      Защита паролем не дает чужим завладеть той информацией которую нужно
скрыть.
      Формат:  PKZIP –режим –sпароль
Пароль- любая строка символов, не содержащая пробелов. Между паролем и
следующими за ним в командной строке параметрами должен быть хотя бы один
пробел.
      Пример:
pkzip –sSecret  arhiv  — помещение в архивный файл arhiv.zip всех файлов
текущего каталога с зашифровыванием их с помощью  пароля Secret.

Pkunzip –sSecret arhiv.zip *.doc — извлечение в текущий каталог из архива
всех содержащихся в нем файлов с расширением .doc  с указанием пароля
расшифровывания Secret.


                    Пропуск файлов при добавлении в архив

      Иногда  при добавлении файлов в архив требуется пропустить те или
иные файлы. Например, при архивации файлов вряд ли  целесообразно хранить в
архиве файлы с расширениями .bak и .tmp. Их можно прогпустить при создании
архива путем задания формата команды: -Химя-файла. При указании имени файла
можно использовать символы * и ?. В командной строке можно задавать режим
–Х несколько раз, чтобы исключить из обработки несколько файлов или групп
файлов.
      Пример: pkzip –x*.bak –x*.tmp arhiv —помещение в архивный файл всех
файлов из текущего каталога кроме тех у которых расширения bak и tmp.


                          Удаление файлов из архива

      Удаление файлов из архива осуществляется следующей командой:  pkzip
–d имя-архива  имена-файлов
Имена-файлов- обозначение файлов, можно использовать *  и ?
      Пример: pkzip –d arhiv *.txt —удаление всех файлов с расширением .ТХТ
из архива ARHIV.ZIP


                      Выбор файлов по дате их изменения

      При архивации файлов часто требуется обрабатывать только файлы с
определенной датой или в течение некоторого периода времени.
            Для архивации файлов созданных или измененных:
сегодня                                 -t
в течение или после ЧЧ.ММ.ГГ -tММЧЧГГ
до ЧЧ.ММ.ГГ                       -ТММЧЧГГ
ЧЧ— число , ММ— номер месяца, ГГ— последние две цифры номера года
      Примеры:
pkzip arhiv –t —помещение в архив всех файлов созданных или измененных в
течение сегодняшнего дня

pkzip arhiv –T010199 –t060198 —помещение всех файлов в архив созданных или
измененных в течение второй половины 1998г.

                          Архиватор ZIP for Windows
      Так как ничто не стоит на месте, также и ZIP дополняется и
совершенствуется, приобретая все более современные черты присущие
программам нашего времени. С учетом глобального перехода на операционную
систему WINDOWS создатели ZIP’a предложили также версию работающую под
WINDOWS. Вот пример ее графического интерфейса:

                                    [pic]
      Эта версия зарекомендовала себя как более удобная и современная. В
принципе сама основа программы поменялась незначительно.



                                 Заключение

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



                       Список используемой литературы:

IBM PC для пользователя – Фигурнов Виктор Эвальдович ,Москва “ИНФРА-М”
1995г.