
Gzip — один из самых популярных алгоритмов сжатия, позволяющий уменьшить размер файла, сохранив исходный режим файла, владельца и временную метку. Gzip — это алгоритм, используемый веб-серверами для сжатия страниц и ресурсов перед отправкой их в браузер клиента.
Gzip также относится к формату файлов .gz и утилите gzip , которую можно использовать для сжатия и распаковки файлов.
В этой статье вы узнаете, как использовать команду gzip .
Синтаксис команды gzip
Общий синтаксис команды gzip следующий:
gzip [ OPTION ] ... [ FILE ] ...
Gzip сжимает только отдельные файлы и создаёт отдельный архив для каждого файла. По умолчанию имя файла, сжатого Gzip, должно заканчиваться на .gz или .z .
Если вы хотите сжать несколько файлов или каталог в один сжатый файл, сначала необходимо создать архив Tar, а затем сжать файл .tar с помощью Gzip. Файл с расширением .tar.gz или .tgz — это архив Tar, сжатый с помощью Gzip.
Gzip в основном используется для сжатия текстовых файлов, архивов Tar и веб-страниц. Не используйте Gzip для сжатия изображений, аудио, PDF-документов и других двоичных файлов, так как они уже сжаты.
gzip может сжимать только обычные файлы. Символические ссылки игнорируются.
Сжатие файлов с помощью gzip
Чтобы сжать один файл, вызовите команду gzip а затем укажите имя файла:
gzip filename
gzip создаст файл filename.gz и удалит исходный файл.
По умолчанию gzip сохраняет в сжатом файле исходную временную метку файла, режим, владельца и имя.
Сохраните исходный файл
Если вы хотите сохранить входной (исходный) файл, используйте опцию -k :
gzip -k filename
Другой вариант сохранения исходного файла — использование параметра -c , который указывает gzip записывать данные в стандартный вывод и перенаправлять вывод в файл:
gzip -c filename > filename.gz
Подробный вывод
Используйте опцию -v , если вы хотите увидеть процент сокращения и имена обрабатываемых файлов:
gzip -v filename
filename: 7.5% -- replaced with filename.gz
Сжатие нескольких файлов
Вы также можете передать команде несколько файлов в качестве аргументов. Например, чтобы сжать файлы с именами file1 , file2 и file3 , выполните следующую команду:
gzip file1 file2 file3
Приведенная выше команда создаст три сжатых файла: file1.gz , file2.gz , file3.gz .
Сжать все файлы в каталоге
Чтобы сжать все файлы в указанном каталоге, используйте опцию -r :
gzip -r directory
gzip рекурсивно обойдет всю структуру каталогов и сожмет все файлы в каталоге и его подкаталогах.
Изменить уровень сжатия
gzip позволяет указать диапазон уровней сжатия от 1 до 9. -1 или --fast означает максимальную скорость сжатия с минимальной степенью сжатия, а значение -9 или --best — минимальную скорость сжатия с максимальной степенью сжатия. Уровень сжатия по умолчанию — -6 .
Например, чтобы получить максимальное сжатие, выполните:
gzip -9 filename
Сжатие — задача, требующая большой загрузки процессора: чем выше уровень сжатия, тем больше времени занимает процесс.
Использование стандартного ввода
Чтобы создать файл .gz из стандартного ввода, передайте вывод команды в gzip . Например, чтобы создать резервную копию базы данных MySQL , сжатую с помощью Gzip, выполните:
mysqldump database_name | gzip -c > database_name.sql.gz
Вывод команды mysqldump будет входным значением для gzip .
Распаковка файлов с помощью gzip
Чтобы распаковать файл .gz , используйте опцию -d :
gzip -d filename.gz
Ещё одна команда для распаковки Gzip-файла — gunzip . Эта команда — просто псевдоним для gzip -d :
gunzip filename.gz
Возможно, вам будет проще запомнить gunzip чем gzip -d .
Сохраните сжатый файл
Как и при сжатии файла, опция -k указывает gzip сохранить входной файл, в данном случае — сжатый файл:
gzip -dk filename.gz
Распаковать несколько файлов
Чтобы распаковать несколько файлов одновременно, передайте имена файлов команде gzip в качестве аргументов:
gzip -d file1.gz file2.gz file3.gz
Распаковать все файлы в каталоге
При использовании с опциями -d и -r gzip рекурсивно распаковывает все файлы в указанном каталоге:
gzip -dr directory
Список содержимого сжатого файла
При использовании с опцией -l команда gzip показывает статистику о заданных сжатых файлах:
gzip -l filename
Вывод будет включать имя несжатого файла, сжатый и несжатый размер, а также степень сжатия:
compressed uncompressed ratio uncompressed_name 130 107 7.5% filename
Чтобы получить больше информации, добавьте опцию -v :
gzip -lv filename
method crc date time compressed uncompressed ratio uncompressed_name defla a9b9e776 Sep 3 21:20 130 107 7.5% filename
Заключение
С помощью Gzip вы можете уменьшить размер файла. Команда gzip позволяет сжимать и распаковывать файлы.
Дополнительную информацию о команде gzip см. на странице документации Gnu gzip .
Если у вас есть вопросы, пожалуйста, оставьте комментарий ниже.
Связанные руководства