This comprehensive Linux guide expects that you run the following commands as root user but if you decide to run the commands as a different user then ensure that the user has sudo access and that you precede each of the privileged commands with sudo

gzip command is used to compress files in linux systems. Each single file is compressed into a single file. The compressed file consists of a GNU zip header and deflated data. By default original file will be replaced by the compressed file ending with extension (.gz).

To decompress a file you can use gunzip command and your original file will be back.

In this tutorial, we are using commands with examples. So, replace the “path” with the file path, “filename” with the name of the file and “.ext” with the extension of the file.

Installing gzip

Debian Based Systems

[email protected]:~$ apt-get install gzip

Red-Hat Based Systems

[email protected]:~$ yum install gzip

General Syntax

Following is the general syntax for the gzip command

 gzip [Options] [filenames.ext]

Compressing A Single File

If you want to compress a file using gzip command, you can run the command like this:

[email protected]:~$ gzip filename.ext

Compressing Multiple Files

If you want to compress multiple files using gzip command, you can run the command like this:

[email protected]:~$ gzip file1.ext file2.ext file3.ext

This command will compress all of the files in separated zip files having single file in each zip file

Compressing Multiple Files Into A Single Zip File

If you want to compress multiple files into a single zip file, you can use the cat and gzip command with pipe command.

[email protected]:~$ cat file1.ext file2.ext file3.ext | gzip zipname.gz

Checking Compression Ratio While Compressing Files

If you want to display the compression ratio after the compression of the files, you can use the option -l with the gzip command

[email protected]:~$ gzip -l filename.ext

Forcing The Compression Of A File

Sometimes a file cannot be compressed. Perhaps you are trying to compress a file called “filename” but there is already a file called “filename.gz”. In this instance, the gzip command won’t ordinarily work.
To force the gzip command to do its stuff simply use -f option:

[email protected]:~$ gzip -f filename.ext

Keeping The Source File After Compression

By default, when you compress a file using gzip command, you end up having a file with the extension gz and the original source file is lost. But if you want to keep the source file after the compression, you can use the option -k with the gzip command.

[email protected]:~$ gzip -k filename.ext

Displaying License Of gzip

If you want to display the license of the gzip compressed file, you can use the option -L with the gzip command.

[email protected]:~$ gzip -L zipname.gz

Compress All Files In A Directory

If you want to compress all the files in the directory and subdirectories, you can use the option-r with the gzip command.

[email protected]:~$ gzip -r /path/to/directory

Set The Compression Level

If you want to set the compression level before compressing the file manually, you can use the option [1 to 9] with the gzip command. 1 for least compression level and 9 for maximum.

[email protected]:~$ gzip -1 filename.ext

OR

[email protected]:~$ gzip -5 filename.ext

OR

[email protected]:~$ gzip -9 filename.ext

Displaying Percentage Reduction

If you want to display the name and percentage reduction for each file compressed or decompressed, you can use the option-v with the gzip command.

[email protected]:~$ gzip -v filename.ext

filename.ext:      23.2% -- replaced with filename.ext.gz

Test Validity Of A Compressed File

If you want to test the validity of a compress file, you can use option-t with the gzip command.

[email protected]:~$ gzip -t filename.gz

If the file is valid, there will be no output

Compress A Directory

The gzip command will not be able to compress a directory because it can only compress a single file. To compress a directory you have to use tar command.

[email protected]:~$ tar cf - [directory] | gzip > [zipname]  

Decompress Zip File Using gzip

If you want to decompress a zip file using the gzip command, you can use the option-d with the gzip command.

[email protected]:~$ gzip -d zipname.gz