Команды Linux · 3 min read · Sep 19, 2025

Учебник по команде Gzip в Linux для начинающих (7 примеров)

Linux предлагает несколько инструментов командной строки для сжатия/распаковки файлов. Один из них - Gzip, который использует кодирование Лемпела-Зива (LZ77) для своих операций сжатия. В этом учебнике мы обсудим основы gzip, а также функции, которые он предоставляет, с помощью простых для понимания примеров.

Но прежде чем мы продолжим, стоит упомянуть, что все примеры/инструкции, упомянутые в этом учебнике, были протестированы на Ubuntu 16.04LTS.

Команда Gzip в Linux

Как вы уже поняли, инструмент командной строки Gzip используется для сжатия или распаковки файлов. Следующий синтаксис этой команды:

gzip [ -acdfhklLnNrtvV19 ] [--rsyncable] [-S suffix] [ name ...  ]

А вот как страница man описывает этот инструмент:

Gzip уменьшает размер указанных файлов, используя кодирование Лемпела-Зива (LZ77). Когда это возможно, каждый файл заменяется файлом с расширением .gz, при этом сохраняются те же режимы владения, время доступа и изменения. (Расширение по умолчанию - -gz для VMS, z для MSDOS, OS/2 FAT, Windows NT FAT и Atari.)

Следующие примеры в формате вопросов и ответов должны дать вам хорошее представление о том, как работает Gzip.

Вопрос 1. Как сжать файл с помощью Gzip?

Это очень просто - все, что вам нужно сделать, это передать имя файла в качестве аргумента команде gzip следующим образом:

gzip [file-name]

Вот пример:

Таким образом, вы можете видеть, что команда сжала файл с именем ‘file1’ и создала файл .gz с тем же именем. Стоит отметить, что инструмент по умолчанию заменяет оригинальный файл на сжатую версию.

Вопрос 2. Как заставить gzip не удалять оригинальный файл?

Как обсуждалось в предыдущем вопросе и ответе, поведение по умолчанию для gzip - удалять оригинальный файл. Однако вы можете заставить инструмент не делать этого, используя опцию командной строки -k.

gzip -k [file-name]

Вопрос 3. Как рекурсивно сжать файлы с помощью gzip?

Чтобы рекурсивно сжать файлы, используйте опцию командной строки -r. Эта опция, как и следует из названия, будет сжимать файлы в основной директории, а также во всех поддиректориях.

gzip -r *

Вот пример:

рекурсивное сжатие файлов с помощью gzip

Таким образом, вы можете видеть, что все файлы - как в основной директории, так и в поддиректориях - были сжаты.

Вопрос 4. Как распаковать файлы с помощью gzip?

Чтобы распаковать файл, используйте опцию командной строки -d.

gzip -d [compressed-file-name]

Следующий пример:

Таким образом, вы можете видеть, что файл file3.gz был распакован, чтобы получить file3, а затем сжатый файл был удален.

*Примечание: Чтобы рекурсивно распаковать, используйте опцию -r вместе с опцией -d.*

Вопрос 5. Как заставить gzip выводить детали, связанные с сжатым файлом?

Это можно сделать с помощью опции командной строки -l.

gzip -l [compressed-file-name]

Вот пример:

А вот что означают эти поля:

страница man gzip

Вопрос 6. Как заставить gzip выполнять операции сжатия/распаковки в некоторых случаях?

Предположим, вы создали файл .gz, при этом убедившись, что оригинальный файл не был удален (используя опцию командной строки -k). Теперь, если вы снова попытаетесь создать тот же файл .gz (по какой-либо причине), команда gzip не позволит вам это сделать или, по крайней мере, запросит ваше разрешение.

Теперь, если вы хотите, вы можете выполнить gzip таким образом, чтобы такие уведомления не появлялись. Это можно сделать с помощью опции командной строки -f.

gzip -f [file-name]

Вопрос 7. Как регулировать скорость сжатия?

Команда Gzip также позволяет вам регулировать скорость сжатия. Это можно сделать, указав дефис (-), за которым следует число в качестве аргумента командной строки для инструмента. Например:

gzip -5 [file-name]

Обратите внимание, что вы можете использовать любое число от 1 до 9, где -1 указывает на самое быстрое сжатие, а -9 - на самое медленное (но лучшее). Вот что говорит страница man об этом:

Заключение

Очевидно, что команда Gzip - полезный инструмент. Что делает его еще лучше, так это то, что он прост для понимания и использования. Мы постарались охватить многие важные опции командной строки в этом учебнике. Так что, когда вы закончите практиковаться с ними, переходите к странице man инструмента, чтобы узнать больше о нем.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.