Алексей Федорчук
Утилита gzip
— это традиционный компрессор Unix-систем, сменивший в сей роли более старую утилиту compress
.
Простейший способ использования компрессора gzip
—
$ gzip filename
где в качестве аргументов будет выступать имя файла. При этом (внимание!) исходный несжатый файл подменяется своей сжатой копией, которой автоматически присваивается расширение *.gz
.
В качестве аргументов может выступать и произвольное количество имен файлов — каждый из них будет заменен сжатым файлом *.gz
. Более того, посредством опции -r
может быть выполнено рекурсивное сжатие файлов во всех вложенных подкаталогах. Подчеркну, однако, что никакой архивации команда gzip
не производит, обрабатывая за раз только единичный файл. Фактически форма
$ gzip file1 file2 ... file#
просто эквивалент последовательности команд
$ gzip file1 $ gzip file2 ... $ gzip file#
Правда, объединение компрессированных файлов возможно методом конкатенации (с помощью команды cat
) или посредством архивирования командой tar
.
Команда gzip
имеет и другие опции, указываемые в краткой (однобуквенной) или полной нотации. В отличие от tar
, знак дефиса (или, соответственно, двойного дефиса) обязателен в обоих случаях. Так, опциями -1
… -9
можно задать степень сжатия и, соответственно, время исполнения процедуры: -1
соответствует минимальному, но быстрому сжатию, -9
— максимальному, но медленному. По умолчанию в команде gzip
используется опция -6
, обеспечивающая разумный компромисс между скоростью и компрессией.
Благодаря опции -d
(--decompress
) команда gzip
может выполнить развертывание сжатого файла, заменяя его оригиналом без расширения *.gz
. Хотя в принципе для этого предназначена команда gunzip
:
$ gunzip file.gz
Использование этой команды настолько прозрачно, что я задерживаться на ней не буду.