Как сжимать файлы в Linux с помощью GZIP и BZIP2

gzip

Сжатие очень полезно при резервном копировании важных файлов, а также если вам нужно отправить большой файл через Интернет.

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

Существует множество программ для сжатия и распаковки файлов в GNU/Linux. В этой статье вы узнаете только о двух из них.

Сжатие и распаковка файлов с помощью GZIP и BZIP2

Наиболее распространенными программами, используемыми для сжатия файлов в Unix-подобных системах, являются GZIP и BZIP2

Сжатие и распаковка файлов с помощью программы Gzip

Gzip – это утилита для сжатия и распаковки файлов с использованием алгоритма Lempel-Ziv (LZ77).

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

Чтобы сжать файл с именем test.txt, заменив его сжатой версией gzipped, откройте терминал и введите следующую команду:

gzip test.txt

Gzip заменит исходный файл test.txt сжатой версией с именем test.txt.gz.

Сжатие файла и запись его в другой файл

По умолчанию программа gzip сжимает данный файл, заменяя его сжатой версией gzipped. Однако вы можете сохранить исходный файл и записать его в другой файл. Например, следующая команда, сжимает test.txt и записывает вывод в output.txt.gz.

gzip -c test.txt > output.txt.gz


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

gzip -c -d output.txt.gz > test1.txt

Вышеупомянутая команда распаковывает файл output.txt.gz и записывает вывод в файл test1.txt. В обоих случаях он не удалит исходный файл.

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

Чтобы распаковать файл test.txt.gz, заменив его исходной несжатой версией, мы используем команду:

gzip -d test.txt.gz

Мы также можем использовать gunzip для распаковки файлов.

gunzip test.txt.gz

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

Другим заметным преимуществом gzip является поддержка уровня сжатия. Он поддерживает 3 уровня сжатия, как указано ниже.

1 – Самый быстрый (Сжатие хуже)
9 – Медленнее (лучше)
6 – Уровень по умолчанию

Чтобы сжать файл с именем test.txt, заменив его сжатой версией gzipped с наилучшим уровнем сжатия, мы используем:

gzip -9 test.txt

Конкатенация нескольких сжатых файлов

Также возможно объединить несколько сжатых файлов в один. Как? Посмотрите следующий пример.

gzip -c test1.txt> output.txt.gz
gzip -c test2.txt >> output.txt.gz

Вышеуказанные две команды будут сжимать test1.txt и test2.txt и сохранят их в одном файле с именем output.txt.gz.

Для получения дополнительной информации см. справку.

man gzip

Сжатие и распаковка файлов с помощью программы bzip2

Bzip2 очень похожа на программу GZIP, но использует другой алгоритм сжатия Burrows-Wheeler, и кодирование Хаффмана. Файлы, сжатые с помощью bzip2, заканчиваются расширением .bz2.

Как уже было сказано, использование bzip2 почти такое же, как gzip. Просто замените gzip в приведенных выше примерах на bzip2.

Чтобы сжать файл с помощью bzip2, заменив его на сжатую версию, запустите:

bzip2 test.txt

Если вы не хотите заменять исходный файл, используйте флаг -c и запишите вывод в новый файл.

bzip2 -c test.txt > output.txt.bz2

Чтобы распаковать сжатый файл используйте:

bzip2 -d test.txt.bz2

Или,

bunzip2 test.txt.bz2

Для получения дополнительной информации см. справку.

man bzip2

Вывод

В этой статье вы узнали, что такое программы gzip и bzip2, и как их использовать для сжатия и распаковки файлов с некоторыми примерами в GNU/Linux. В следующем руководстве мы узнаем, как архивировать файлы и каталоги в Linux.

Всем удачного дня.

If you have found a spelling error, please, notify us by selecting that text and pressing Ctrl+Enter.

0 0 vote
Article Rating

Publication author

offline 8 hours

Админ

Стараюсь для вас
Comments: 951Publics: 838Registration: 10-06-2016
Если Вам понравилась статья, то поделитесь ею в соц.сетях:
 
guest
3 Комментарий
Самый новый
Самый старший Наибольшее количество голосов
Inline Feedbacks
View all comments
M15

Было интересно. Хотя я уверен что дома делать архивы в терминале точно не придется, да и извлекать тоже. Может понадобится на удаленной системе, или для пакетной обработки… А так мне достаточно ГУИя в виде Менеджер архивов среды GNOME. В идеале бы ГУИ от виндового 7zip. Он вроде как есть, но не для простых смертных. Ну а в экстренном случае виндовый 7zip под вайном… Но если сабж вдруг когда-то понадобиться буду… Читать далее »

yuriy.chijikov

Команда:
sudo apt-get install p7zip-rar p7zip-full unace unrar zip unzip sharutils rar uudeview mpack arj cabextract file-roller
добавляет функциональности Менеджеру архивов

M15

Да, верно, добавляет, но этого мало. Очень мало…

7z-linux.png
7z-win.png