- Команда gzip в операционной системе Linux
- Синтаксис команды gzip
- Сжатие файлов с помощью gzip
- Сохранение исходного файла
- Подробный вывод
- Сжатие нескольких файлов
- Сжатие всех файлов в каталоге
- Изменение уровня сжатия
- Использование стандартного ввода
- Распаковка файлов с помощью gzip
- Сохранение сжатого файла
- Распаковка нескольких файлов
- Распаковка всех файлов в каталоге
- Перечень содержимого сжатого файла
- Заключение
- Gzip Command in Linux
- gzip Command Syntax #
- Compressing Files with gzip #
- Keep the original file #
- Verbose output #
- Compress multiple files #
- Compress all files in a directory #
- Change the compression level #
- Using standard input #
- Decompressing Files with gzip #
- Keep the compressed file #
- Decompress multiple files #
- Decompress all files in a directory #
- List the Compressed File Contents #
- Conclusion #
Команда gzip в операционной системе Linux
Gzip – один из самых популярных алгоритмов сжатия, который позволяет сократить размер файла, но при этом сохранить исходный файловый режим, владельца объекта и отметку времени.
Gzip является отсылкой к формату файлов .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 создаст файл с именем имя_файла.gz , а исходный файл удалит.
По умолчанию gzip сохраняет в сжатом файле временную метку, файловый режим, владельца объекта и имя исходного файла.
Сохранение исходного файла
Если вы хотите, чтобы исходный файл был сохранен, воспользуйтесь параметром –k :
Есть еще один вариант сохранить исходный файл – воспользоваться параметром -c , который сообщает gzip о необходимости записи в стандартный вывод и перенаправлении вывода в файл:
gzip -c имя_файла > имя_файла.gz
Подробный вывод
Если вы хотите увидеть процент уменьшения размера файла и имена обрабатываемых файлов, тогда воспользуйтесь параметром -v :
gzip -v имя_файла имя_файла: 7.5% -- replaced with имя_файла.gz
Сжатие нескольких файлов
В качестве аргументов команде вы можете передать несколько файлов. Например, чтобы сжать файлы с именами file1 , file2 , file3 , вам необходимо выполнить следующую команду:
После чего приведенная выше команда создаст три сжатых файла: file1.gz , file2.gz , file3.gz .
Сжатие всех файлов в каталоге
Для того, чтобы сжать все файлы в каталоге, воспользуйтесь параметром -r :
gzip рекурсивно пройдет через всю структуру каталогов и произведет сжатие всех файлов в каталоге и его подкаталогах.
Изменение уровня сжатия
gzip дает возможность указать уровень сжатия, его диапазон — от 1 до 9. -1 или —fast означает самую высокую скорость сжатия с минимальной степенью сжатия, -9 или —best — самую низкую скорость с максимальной степенью. По умолчанию уровень сжатия равен -6 .
Например, чтобы установить максимальный уровень сжатия, вам необходимо запустить следующую команду:
Сжатие – это задача, интенсивно использующая ЦП. Соответственно, чем выше уровень сжатия, тем больше времени занимает процесс.
Использование стандартного ввода
Для того, чтобы создать файл расширения .gz из стандартного ввода, вам необходимо передать вывод команды gzip. Например, чтобы сжать резервную копию базы данных MySQL, вам необходимо запустить следующую команду:
mysqldump имя_базы_данных | gzip -c > имя_базы_данных.sql.gz
Вывод команда mysqldump послужит вводом для gzip.
Распаковка файлов с помощью gzip
Для того, чтобы распаковать файл с расширением .gz , воспользуйтесь параметром -d :
Есть также еще одна команда, которую вы можете использовать для распаковки файла Gzip, — это gunzip . Эта команда по сути является альтернативным вариантом команды gzip -d :
Сохранение сжатого файла
Здесь, как и при сжатии файла, для того, чтобы показать gzip, что входной файл (в данном случае это сжатый файл) нужно сохранить, необходимо воспользоваться параметром -k :
Распаковка нескольких файлов
Для того, чтобы распаковать несколько файлов одновременно, вам необходимо передать имена файлов в gzip в качестве аргументов:
gzip -d file1.gz file2.gz file3.gz
Распаковка всех файлов в каталоге
Для того, чтобы gzip рекурсивно распаковал все файлы в заданном каталоге, необходимо воспользоваться параметрами -d и -r :
Перечень содержимого сжатого файла
Для того, чтобы посмотреть статистику данных сжатого файла, воспользуйтесь параметром -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 позволяет сжимать и распаковывать файлы.
Gzip Command in Linux
Gzip is one of the most popular compression algorithms that allow you to reduce the size of a file and keep the original file mode, ownership, and timestamp.
Gzip also refers to the .gz file format and the gzip utility which is used to compress and decompress files.
In this tutorial, we will show you how to use the gzip command.
gzip Command Syntax #
The general syntax for the gzip command is as follows:
Gzip compresses only single files and creates a compressed file for each given file. By convention, the name of a file compressed with Gzip should end with either .gz or .z .
If you want to compress multiple files or directory into one file, first you need to create a Tar archive and then compress the .tar file with Gzip. A file that ends in .tar.gz or .tgz is a Tar archive compressed with Gzip.
Gzip is most often used to compress text files, Tar archives, and web pages. Do not use Gzip to compress images, audio, PDF documents, and other binary files as they are already compressed.
gzip can compress only regular files. The symbolic links are ignored.
Compressing Files with gzip #
To compress a single file invoke the gzip command followed by the filename:
gzip will create a file filename.gz and delete the original file.
By default, gzip keeps the original file timestamp, mode, ownership, and name in the compressed file.
Keep the original file #
If you want to keep the input (original) file, use the -k option:
Another option to keep the original file is to use the -c option which tells gzip to write on standard output and redirect the output to a file:
gzip -c filename > filename.gz
Verbose output #
Use the -v option if you want to see the percentage reduction and the names of the files that are being processed:
filename: 7.5% -- replaced with filename.gz
Compress multiple files #
You can also pass multiple files as arguments to the command. For example, to compress the files named file1 , file2 , file3 , you would run the following command:
The command above will create three compressed files, file1.gz , file2.gz , file3.gz .
Compress all files in a directory #
To compress all files in a given directory, use the -r option:
gzip will recursively traverse through the whole directory structure and compress all the files in the directory and it’s subdirectories.
Change the compression level #
gzip allows you to specify a range of compression levels, from 1 to 9. -1 or —fast means fastest compression speed with minimal compression ratio, -9 or —best indicates the slowest compression speed with maximum compression ratio. The default compression level is -6 .
For example, to get maximum compression, you would run:
Compression is a CPU-intensive task, the higher the compression level, the longer the process takes.
Using standard input #
To create a .gz file from the stdin, pipe the output of the command to gzip . For example, to create a Gzipped MySQL database backup you would run:
mysqldump database_name | gzip -c > database_name.sql.gz
The output of the mysqldump command will be input for gzip .
Decompressing Files with gzip #
Another command that you can use to decompress a Gzip file is gunzip . This command is basically an alias to gzip -d :
You might find it easier to remember gunzip than gzip -d .
Keep the compressed file #
Same as when compressing a file, the -k option tells gzip to keep the input file, in this case, that is the compressed file:
Decompress multiple files #
To decompress multiple files at once pass the filenames to gzip as arguments:
gzip -d file1.gz file2.gz file3.gz
Decompress all files in a directory #
When used with -d and -r options, gzip decompresses all files in a given directory recursively:
List the Compressed File Contents #
When used with the -l option, gzip shows statistics about the given compressed files:
The output will include the uncompressed file name, the compressed and uncompressed size, and the compression ratio:
compressed uncompressed ratio uncompressed_name 130 107 7.5% filename
To get more information, add the -v option:
method crc date time compressed uncompressed ratio uncompressed_name defla a9b9e776 Sep 3 21:20 130 107 7.5% filename
Conclusion #
With Gzip, you can reduce the size of a given file. The gzip command allows you to compress and decompress files.
For more information about the gzip command, consult the Gnu gzip documentation page .
If you have any questions, please leave a comment below.