- BEST LINUX GZIP COMMAND (GZIP COMPRESSION) WITH EXAMPLES
- Introduction
- Compress a File using Linux gzip command
- Compress Multiple files
- Compress a File with Keep the Original File unchanged
- Uncompress/Extract a gzip (.gz) File
- Compress a Directory using Linux gzip command
- Extract a gzip compressed Directory
- Perform the gzip Fast Compression using Linux gzip command
- Perform the Best Compression using gzip command
- Read the Content of a gzip compressed File
- Validate a gzip (.gz) Compressed File
- Compress the Content of a Directory and Sub directory Recursively
- Команда Gzip в Linux
- Синтаксис команды gzip
- Сжатие файлов с помощью gzip
- Сохраните исходный файл
- Подробный вывод
- Сжать несколько файлов
- Сжать все файлы в каталоге
- Измените уровень сжатия
- Стандартный ввод
- Распаковка файлов с помощью gzip
- Сохраните сжатый файл
- Распаковать несколько файлов
- Распаковать все файлы в каталоге
- Список содержимого сжатого файла
- Выводы
- Gzip compressed data linux
- Примеры использования
- 1. Сжатие одного файла
- 2. Одновременное сжатие нескольких файлов
- 3. Сжатие одного файла с сохранением оригинала
- 4. Восстановление оригинальной версии файла из сжатой версии
- 5. Сжатие файла с указанием степени сжатия
- 6. Создание сжатого архива со всеми файлами из директории
- 7. Проверка целостности сжатой версии файла
- 8. Получение информации о сжатом файле
BEST LINUX GZIP COMMAND (GZIP COMPRESSION) WITH EXAMPLES
by Balamukunda Sahu · Published June 3, 2017 · Updated July 12, 2017
BEST LINUX GZIP COMMAND (GZIP COMPRESSION) WITH EXAMPLES
Introduction
In this article we are going to learn the How to use Linux gzip command (gzip compression) to compress files and directories. gzip command is a very useful tool in linux like zip command and bzip2 command used to compress files and directories.
Compress a File using Linux gzip command
We can compress a file using Linux gzip command. Here I am compressing a file test.txt. Refer the command below.
You can use the argument -v with gzip command for Verbose output.
Compress Multiple files
To compress multiple files using Linux gzip command refer the below command. Here I am compressing three files i.e. test1.txt, test2.txt, test3.txt
Compress a File with Keep the Original File unchanged
By using only gzip command the original file get compressed but if you want to compress a file by keep the original file unchanged then you can do so by using gzip command with argument -c . Refer the below command.
Uncompress/Extract a gzip (.gz) File
To Uncompress OR Extract a file you can use gunzip command.
OR you can use gzip command with argument -d to Uncompress a .gz file. Here I am Uncompressing test.txt.gz.
Compress a Directory using Linux gzip command
By using only Linux gzip command you cannot compress a directory as gzip only able to compress files but there is a way by using we can compress a directory using gzip command and i.e. with tar command . Refer the command below.
Where :
- c – To create a tar file
- z – For gzip compression of the File
- v – For verbose Output
- f – for File
Also Read :
Extract a gzip compressed Directory
To Extract a Tar with Linux gzip compressed directory refer the below command.
Where :
- x – To extract a Tar File
Perform the gzip Fast Compression using Linux gzip command
For fast compression of a file you can use Linux gzip command with argument -1 .
Perform the Best Compression using gzip command
For best compression of a file you can use gzip compression with argument -9 .
Read the Content of a gzip compressed File
To check the content of a gzip (.gz) compressed file without extracting you can use zcat command.
Validate a gzip (.gz) Compressed File
You can check if the gzip file is valid or not by using Linux gzip command with argument -t . If the file is a valid gzip file then you will not get any output.
Let’s create a gzip (.gz) file using touch command. and then validate the file. You will get the below error as it’s not created using Linux gzip command hence the file doesn’t have gzip signatures.
Compress the Content of a Directory and Sub directory Recursively
We can compress all the contents of the directory with contents of all it’s sub directories recursively by using gzip command with argument -r . For Example I have a directory named data with some content and a sub directory names files with some content. Refer the sample output below.
So compress the content of the directory recursively using below command.
You can use zless and zmore command to check the long Linux gzip compressed files. Refer the commands below.
Example of zless Command :
Examples of zmore Command :
For more help on gzip command you can refer the below command.
OR refer the manual page of gzip command using below command.
To check Software license details of the Linux gzip compression you can use Linux gzip command with argument -L .
You can check version of installed gzip package use gzip command with argument -V . Refer the command below.
We tried to include all Linux gzip command (gzip compression) with it’s examples. If something missed out then please mention in the comment box below.
If you found this article useful then Like Us, Share Us, Subscribe our Newsletter OR if you have something to say then feel free to comment on the comment box below.
Источник
Команда Gzip в Linux
Gzip — один из самых популярных алгоритмов сжатия, который позволяет уменьшить размер файла и сохранить исходный режим файла, право собственности и временную метку.
Gzip также относится к .gz файлов .gz и утилите gzip которая используется для сжатия и распаковки файлов.
В этом руководстве мы покажем вам, как использовать команду gzip .
Синтаксис команды gzip
Общий синтаксис команды gzip следующий:
Gzip сжимает только отдельные файлы и создает сжатый файл для каждого заданного файла. По соглашению, имя файла, сжатого с помощью Gzip, должно заканчиваться на .gz или .z .
Если вы хотите сжать несколько файлов или каталогов в один файл, сначала вам нужно создать архив Tar, а затем сжать файл .tar с помощью Gzip. Файл с .tar.gz или .tgz представляет собой архив Tar, сжатый с помощью Gzip.
Gzip чаще всего используется для сжатия текстовых файлов, архивов Tar и веб-страниц. Не используйте Gzip для сжатия изображений, аудио, документов PDF и других двоичных файлов, поскольку они уже сжаты.
gzip может сжимать только обычные файлы. Символьные ссылки игнорируются.
Сжатие файлов с помощью gzip
Чтобы сжать отдельный файл, вызовите команду gzip за которой следует имя файла:
gzip создаст файл filename.gz и удалит исходный файл.
По умолчанию gzip сохраняет в сжатом файле метку времени, режим, владельца и имя исходного файла.
Сохраните исходный файл
Если вы хотите сохранить исходный (исходный) файл, используйте параметр -k :
Другой вариант сохранить исходный файл — использовать параметр -c который сообщает gzip о необходимости записи в стандартный вывод и перенаправления вывода в файл:
Подробный вывод
Используйте параметр -v если вы хотите увидеть процентное сокращение и имена обрабатываемых файлов:
Сжать несколько файлов
Вы также можете передать несколько файлов в качестве аргументов команде. Например, чтобы сжать файлы с именами file1 , file2 , file3 , вы должны выполнить следующую команду:
Приведенная выше команда создаст три сжатых файла: file1.gz , file2.gz , file3.gz .
Сжать все файлы в каталоге
Чтобы сжать все файлы в данном каталоге, используйте параметр -r :
gzip будет рекурсивно проходить по всей структуре каталогов и сжимать все файлы в каталоге и его подкаталогах.
Измените уровень сжатия
gzip позволяет указать диапазон уровней сжатия от 1 до 9. -1 или —fast означает самую высокую скорость сжатия с минимальной степенью сжатия, -9 или —best указывает на самую —best скорость сжатия с максимальной степенью сжатия. Уровень сжатия по умолчанию -6 .
Например, чтобы получить максимальное сжатие, вы должны запустить:
Сжатие — это задача, интенсивно использующая процессор, и чем выше уровень сжатия, тем больше времени занимает процесс.
Стандартный ввод
Чтобы создать файл .gz из стандартного .gz , перенаправьте вывод команды в gzip . Например, чтобы создать резервную копию базы данных MySQL в формате Gzip, вы должны выполнить:
Вывод команды mysqldump будет вводиться для gzip .
Распаковка файлов с помощью gzip
Чтобы распаковать файл .gz , используйте параметр -d :
Другая команда, которую вы можете использовать для распаковки Gzip-файла, — это gunzip . Эта команда в основном является псевдонимом для gzip -d :
Возможно, вам будет проще запомнить gunzip чем gzip -d .
Сохраните сжатый файл
Как и при сжатии файла, параметр -k сообщает gzip нужно сохранить входной файл, в данном случае это сжатый файл:
Распаковать несколько файлов
Чтобы распаковать сразу несколько файлов, передайте имена файлов в gzip качестве аргументов:
Распаковать все файлы в каталоге
При использовании с параметрами -d и -r gzip рекурсивно распаковывает все файлы в указанном каталоге:
Список содержимого сжатого файла
При использовании с параметром -l gzip показывает статистику по данным сжатым файлам:
Вывод будет включать имя несжатого файла, сжатый и несжатый размер и степень сжатия:
Чтобы получить дополнительную информацию, добавьте параметр -v :
Выводы
С помощью Gzip вы можете уменьшить размер данного файла. Команда gzip позволяет сжимать и распаковывать файлы.
Для получения дополнительной информации о команде gzip обратитесь к странице документации Gnu gzip .
Если у вас есть вопросы, оставьте комментарий ниже.
Источник
Gzip compressed data linux
Команда gzip предназначена для сжатия данных без потерь с помощью одноименной утилиты, использующей алгоритм Лемпела-Зива (LZ77) с кодированием Хаффмана. Целью использования данной утилиты является экономия дискового пространства. Упомянутый алгоритм позволяет достичь худшей степени сжатия данных, чем те, которые реализованы в рамках утилит bzip2 и xz. При этом данный алгоритм является стандартным алгоритмом утилиты zip и используется по умолчанию в архивах формата ZIP. Кроме того, он является менее ресурсоемким, чем алгоритмы, которые реализованы в рамках утилит bzip2 и xz. Последнее обстоятельство обуславливает актуальность данной утилиты для низкопроизводительных систем.
Базовый синтаксис команды выглядит следующим образом:
Чаще всего gzip используется вообще без каких-либо параметров, причем в качестве аргументов может передаваться неограниченное количество имен файлов, которые следует сжать. По умолчанию оригинальные версии файлов заменяются на их сжатые версии с соответствующими метаданными (то есть, меткой времени модификации, правами доступа, именами владельца и группы владельцев и так далее). Если вас не устраивает такое положение дел, вы можете воспользоваться параметром -k для сохранения оригинальных версий файлов. Параметры из диапазона от -1 до -9 позволяют задать степень сжатия (от самой низкой до самой высокой соответственно), при этом чем выше степень сжатия, тем больше системных ресурсов требуется утилите. Параметр -t предназначен для тестирования целостности сжатого файла и не оказывает какого-либо влияния на него (следует комбинировать его с параметром -v для подробного вывода). Параметр -l также не оказывает никакого влияния на сжатый файл и предназначен для получения информации об архиве (размеров сжатого и не сжатого файлов, степени сжатия и имени оригинального файла). Параметр -d позволяет восстановить оригинальные версии файлов с переданными именами на основе их сжатых версий.
Если же вам нужно создать архив с несколькими файлами внутри, одной утилиты gzip будет явно мало. Для этой цели также понадобится утилита tar, с помощью которой можно создать архив с файлами, после чего сжать этот архив с помощью утилиты gzip. Например, вы можете использовать следующую последовательность команд для создания архива с именем archive.tar.gz:
$ tar -cf archive.tar
$ gzip archive.tar
Параметры -c и -f утилиты tar предназначены для указания на необходимость добавления всех файлов в один архив (-c) и чтения имени файла архива из следующего аргумента (-f). Альтернативным вариантом является замена последней команды на параметр -z утилиты tar, позволяющий автоматически сжать полученный архив с помощью gzip:
$ tar -cfz archive.tar.bz2
Примеры использования
1. Сжатие одного файла
В результате оригинальный файл text.txt будет заменен на свою сжатую версию text.txt.gz.
2. Одновременное сжатие нескольких файлов
$ gzip text1.txt text2.txt text3.txt
В этом случае также все оригинальные версии файлов (text1.txt, text2.txt, text3.txt) будут заменены на сжатые версии (text1.txt.gz, text2.txt.gz, text3.txt.gz). Добавление нескольких файлов в единый файл архива будет рассмотрено ниже.
3. Сжатие одного файла с сохранением оригинала
Теперь оригинальный файл text.txt будет оставлен в директории вместе со сжатой версией text.txt.gz.
4. Восстановление оригинальной версии файла из сжатой версии
$ gzip -d text.txt.gz
В результате сжатая версия файла text.txt.gz будет заменена на его оригинальную версию text.txt. Если вам нужно сохранить сжатую версию, следует воспользоваться параметром -k таким же образом, как было показано выше.
5. Сжатие файла с указанием степени сжатия
Степень сжатия файла может регулироваться с помощью параметров из диапазона от -1 (минимальная) до -9 (максимальная). Команда для сжатия файла с минимальной степенью сжатия:
С максимальной степенью сжатия:
При этом параметр -1 может заменяться на параметр —fast, а параметр -9 — на параметр —best.
6. Создание сжатого архива со всеми файлами из директории
$ tar -cfz etc.tar.bz2 /etc/
В результате будет создан архив etc.tar.gz с файлами из директории /etc/.
7. Проверка целостности сжатой версии файла
$ gzip -tv text.txt.gz
text.txt.gz: OK
Для проверки целостности сжатых версий файлов используются контрольные суммы (CRC). В случае повреждения сжатой версии файла выводится сообщение об ошибке, в противном случае — слово «OK».
8. Получение информации о сжатом файле
$ gzip -l enums.c.gz
compressed uncompressed ratio uncompressed_name
253 371 38.8% enums.c
Очевидно, что в столбце compressed выводится размер сжатого файла в байтах, в столбце uncompressed — размер несжатого файла в байтах, в столбце ratio — степень сжатия файла, а в столбце uncompressed_name — имя оригинального файла. Вся эта информация хранится в заголовке сжатого файла.
Источник