img

Команда gzip в операционной системе Linux

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

Gzip – один из самых популярных алгоритмов сжатия, который позволяет сократить размер файла, но при этом сохранить исходный файловый режим, владельца объекта и отметку времени.

Gzip

Gzip является отсылкой к формату файлов .gz и утилите gzip, используемой для сжатия и распаковки файлов.

В данной статье мы покажем, как использовать команду gzip.


Синтаксис команды gzip

Общий синтаксис команды gzip выглядит следующим образом:

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

Gzip сжимает отдельные файлы и создает сжатый файл для каждого заданного файла в отдельности. По определению имя файла, который был сжат с помощью Gzip, должно оканчиваться на .gz или .z.

Если вам необходимо сжать несколько файлов или каталогов в один файл, то для начала вам нужно создать архив Tar, а затем уже сжать файл с разрешением .tar с помощью Gzip. Файл, оканчивающийся на .tar.gz или .tgz, представляет собой архив Tar, сжатый с помощью Gzip.

Как правило, Gzip используют для сжатия текстовых файлов, архивов Tar и веб-страниц. Не нужно использовать Gzip для сжатия изображений, аудиофайлов, PDF-документов и других файлов в двоичном формате, поскольку они уже являются сжатыми.

gzip может сжимать только обычные файлы. символические ссылки он игнорирует.


Сжатие файлов с помощью gzip

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

gzip имя_файла

gzip создаст файл с именем имя_файла.gz, а исходный файл удалит.

По умолчанию gzip сохраняет в сжатом файле временную метку, файловый режим, владельца объекта и имя исходного файла.


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

Если вы хотите, чтобы исходный файл был сохранен, воспользуйтесь параметром –k:

gzip -k имя_файла

Есть еще один вариант сохранить исходный файл – воспользоваться параметром -c, который сообщает gzip о необходимости записи в стандартный вывод и перенаправлении вывода в файл:

gzip -c имя_файла > имя_файла.gz

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

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

gzip -v имя_файла  
имя_файла:         7.5% -- replaced with имя_файла.gz

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

В качестве аргументов команде вы можете передать несколько файлов. Например, чтобы сжать файлы с именами file1, file2, file3, вам необходимо выполнить следующую команду:

gzip file1 file2 file3

После чего приведенная выше команда создаст три сжатых файла: file1.gz, file2.gz, file3.gz.


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

Для того, чтобы сжать все файлы в каталоге, воспользуйтесь параметром -r:

gzip -r имя_каталога

gzip рекурсивно пройдет через всю структуру каталогов и произведет сжатие всех файлов в каталоге и его подкаталогах.


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

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

Например, чтобы установить максимальный уровень сжатия, вам необходимо запустить следующую команду:

gzip -9 имя_файла

Сжатие – это задача, интенсивно использующая ЦП. Соответственно, чем выше уровень сжатия, тем больше времени занимает процесс.


Использование стандартного ввода

Для того, чтобы создать файл расширения .gz из стандартного ввода, вам необходимо передать вывод команды gzip. Например, чтобы сжать резервную копию базы данных MySQL, вам необходимо запустить следующую команду:

mysqldump имя_базы_данных | gzip -c > имя_базы_данных.sql.gz

Вывод команда mysqldump послужит вводом для gzip.


Распаковка файлов с помощью gzip

Для того, чтобы распаковать файл с расширением .gz, воспользуйтесь параметром -d:

gzip -d имя_файла.gz

Есть также еще одна команда, которую вы можете использовать для распаковки файла Gzip, - это gunzip. Эта команда по сути является альтернативным вариантом команды gzip -d:

gunzip имя_файла.gz

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

Здесь, как и при сжатии файла, для того, чтобы показать gzip, что входной файл (в данном случае это сжатый файл) нужно сохранить, необходимо воспользоваться параметром -k:

gzip -dk имя_файла.gz

Распаковка нескольких файлов

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

gzip -d file1.gz file2.gz file3.gz

Распаковка всех файлов в каталоге

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

gzip -dr имя_каталога

Перечень содержимого сжатого файла

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

gzip -l имя_файла

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

         compressed        uncompressed  ratio uncompressed_name
                130                 107   7.5% имя_файла

Чтобы получить больше информации, добавьте параметр -v:

gzip -lv имя_файла
method  crc     date  time           compressed        uncompressed  ratio uncompressed_name
defla a9b9e776 Sep  3 21:20                 130                 107   7.5% имя_файла

Заключение

С помощью Gzip вы можете уменьшить размер определенного файла - команда gzip позволяет сжимать и распаковывать файлы.

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Fail2ban — это программное обеспечение, которое защищает ваш сервер от атак. ПО отслеживает журналы сервера и выявляет любую под
img
Виртуализация серверов — популярная тема в мире ИТ, особенно на уровне предприятий. Она позволяет разным операционным системам з
img
  Введение Системные вызовы выступают в роли посредников между приложениями и ядром. Они создают уровень абстракции, который защ
img
  Введение SWAP (SWAP-память или SWAP-пространство) – это раздел жесткого диска или SSD компьютера, где операционная система (ОС
img
  Введение Абсолютные и относительные пути определяют расположение файла или каталога в файловой системе. Это набор инструкций д
img
  Введение Файлы конфигурации Linux определяют поведение и функциональное наполнение операционной системы. Файлы конфигурации –
21 ноября
20:00
Бесплатный вебинар
Введение в Docker