Gzip

From TÜ Narva Kolledži Wiki
Jump to navigation Jump to search

Gzip (сокращение от GNU Zip) – это утилита, которая реализует сжатие (компрессию) и восстановление (декомпрессию) файлов. Разработана Жан-Лу Гайи и Марком Адлером в 1992 году. Сжатые с помощью утилиты файлы имеют расширение – .gz.

Обзор

Gzip активно используется в UNIX-системах и в большинстве используется по умолчанию. Утилита обеспечивает высокую степень сжатия без потерь, а также позволяет производить сжатие и восстановление данных в режиме реального времени.

Важной особенностью Gzip является то, что утилита способна производить сжатие и восстановление только одного файла, т.е. сжатие множества файлов в один архив невозможно. Для сжатия множества файлов их предварительно архивируют (объединяют) в один файл при помощи утилиты tar. Полученный в результате сжатия файл (архив) будет иметь двойное расширение - .tar.gz или сокращённое .tgz .

В операционных системах Windows и macOs сжатые при помощи Gzip файлы можно открыть в любом поддерживающем данный формат архиваторе, например, WinRAR или 7-Zip.

Пример синтаксиса

 gzip [ПАРАМЕТР]… [ФАЙЛ]…

Полный синтаксис утилиты Gzip (все параметры и их описания) можно посмотреть, используя команду gzip -h.

Примеры использования

Сжатие файла

Чтобы сжать файл, достаточно просто ввести команду gzip вместе с именем файла:

 gzip <файл>

В данном примере было произведено сжатие файла «example.txt». Исходный файл был удалён. Вместо него Gzip создал файл «example.txt.gz». Размер уменьшился с 3603 байт до 2045 байт.

По умолчанию Gzip сохраняет в сжатом файле все свойства оригинального файла (метки времени, сведения о владельце и т.д.).

Сжатие файла с сохранением исходного

Для сохранения исходного файла, необходимо использовать параметр -k:

 gzip -k <файл>

Подробный вывод

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

 gzip -v <файл>

Сжатие нескольких файлов

Gzip позволяет сжимать несколько файлов одновременно:

 gzip <файл_1> <файл_2> <файл_3>

Следующий пример демонстрирует одновременное сжатие 3 файлов: «example1.txt», «example2.txt», «example3.txt».

Сжатие всех файлов в каталоге

Чтобы сжать все файлы в заданном каталоге, необходимо воспользоваться параметром -r:

 gzip -r <каталог>

Изменение уровня сжатия

Gzip позволяет пользователям контролировать уровень сжатия файла, от 1 до 9, где -1 или --fast – это самый быстрый, но наименее эффективный способ сжатия, а -9 или --best – это самый медленный, но наиболее эффективный способ сжатия. По умолчанию Gzip использует уровень -6.

gzip -6 <файл>

В данном примере демонстрируются разные уровни сжатия файла «example.txt»:

Уровень -1 действительно уменьшил размер файла «example.txt» всего лишь с 3603 до 2090 байт, в то время как уровни -6 и -9 смогли сжать файл сильнее, оба до 2045 байт. Отсутствие различия между -6 и -9 уровнями объясняется небольшим весом исходного файла.