Глава 15. Архивирование файлов

Содержание
15.1. gzip
15.2. bzip2
15.3. tar
15.4. zip

15.1. gzip

gzip(1) - это программа сжатия от GNU. Она берет один файл и сжимает его. Использование в общем случае:

% gzip файл

Полученный файл получит название файл.gz и обычно его размер будет меньше, чем у исходного файла. Обратите внимание, что файл.gz заменит собой исходный файл. Это означает, что файл больше не будет существовать, останется только его “gzip'нутая” копия. Обычные текстовые файлы будут хорошо сжиматься, а изображения jpeg, mp3-файлы и другие мультимедийные данные сжимаются не слишком хорошо, поскольку они являются уже сжатыми. Как правило использование gzip'а заключается в балансировке между конечным размером файла и временем, затрачиваемым на сжатие. Максимальная степень сжатия может быть достигнута следующим образом:

% gzip -9 файл

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

Распаковать файлы, сжатые gzip'ом, можно с помощью двух команд, которые на самом деле являются одной и то же программой. gzip распакует любой файл со стандартным расширением. Стандартные расширения: .gz, -gz, .z, -z, .Z или -Z. Первый способ заключается в вызове gunzip(1) с именем файла в качестве аргумента:

% gunzip файл.gz

При этом в текущем каталоге останется распакованная копия входного файла, а из его имени будет убрано расширение.gz. gunzip является частью gzip и её действие идентично вызову gzip -d. Так сложилось, что gzip часто произносят как gunzip, поскольку такое название звучит более круто. :^) (Наверное имеется в виду игра слов: gun - пушка, ствол и zip - всемирно известный архиватор - прим. переводчика.)