Gzip — один из самых популярных алгоритмов сжатия, который позволяет уменьшить размер файла и сохранить исходный режим файла, право собственности и временную метку.
Gzip также относится к .gz
файлов .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
указывает на самую --best
скорость сжатия с максимальной степенью сжатия. Уровень сжатия по умолчанию -6
.
Например, чтобы получить максимальное сжатие, вы должны запустить:
gzip -9 filename
Сжатие — это задача, интенсивно использующая процессор, и чем выше уровень сжатия, тем больше времени занимает процесс.
Стандартный ввод
Чтобы создать файл .gz
из стандартного .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
позволяет сжимать и распаковывать файлы.
Добавить комментарий