Gzip
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 уровнями объясняется небольшим весом исходного файла.
Восстановление файла
Чтобы восстановить файл, необходимо воспользоваться параметром -d или командой gunzip:
gzip -d <файл.gz>
или
gunzip <файл.gz>
Восстановление файла с сохранением сжатого
Параметр -k позволяет сохранить как исходный файл при сжатии, так и сжатый файл при восстановлении:
gzip -dk <файл.gz>
Одновременное восстановление нескольких файлов
Для восстановления нескольких файлов одновременно необходимо указать имена файлов после команды gzip:
gzip -d <файл_1.gz> <файл_2.gz> <файл_3.gz>
Одновременное восстановление всех файлов в каталоге
При использовании с параметрами -d и -r, Gzip восстанавливает все файлы в заданном каталоге:
gzip -dr <каталог>
Отображение свойств сжатого файла
При использовании с параметром -l, Gzip предоставляет информацию о cжатом файле:
gzip -l <файл.gz>
Пользователь получает имя исходного файла, размер сжатого и исходного файлов, а также процент сжатия:
Для получения ещё большего количества информации можно добавить параметр -v:










