gzip command compresses files. Each single file is compressed into a single file. The compressed file consists of a GNU zip header and deflated data. If given a file as an argument, gzip compresses the file, adds a “.gz” suffix, and deletes the original file. With no arguments, gzip compresses the standard input and writes the compressed file to the standard output.
Basics of gzip:
Gzip, short for GNU Zip, is a command-line compression tool commonly found on Linux systems. It utilizes the DEFLATE compression algorithm to reduce the size of files, making them more manageable for storage and transmission.
Table of Content
- Basics of gzip:
- Difference between Gzip and zip command in Unix and when to use which command
- Syntax of the gzip Command
- Options Available in gzip Command
- Basic Compression using gzip Command in Linux
- How to decompress a gzip file in Linux?
- Keeping the Original File Using gzip Command in Linux
- Verbose Mode Using gzip Command in Linux
- Force Compression Using gzip Command in Linux
- Compressing Multiple Files Using gzip Command in Linux
- Recursive Compression with find Using gzip Command in Linux
Difference between Gzip and zip command in Unix and when to use which command
Feature |
Gzip |
Zip |
Compression Algorithm |
Uses the DEFLATE algorithm. |
Uses various compression
algorithms, including DEFLATE, LZ77, and others. |
File Format |
Typically appends “.gz” to
compressed files. |
Uses “.zip” extension for
compressed archives. |
Archiving Approach |
Common practice is to use
tarball (.tar) before compression. |
Compresses individual files
and then adds them to the archive. |
File Extraction |
Requires decompression of the
entire file before extracting specific files. |
Allows direct extraction of
individual files without full decompression. |
Compression Efficiency |
Generally offers better
compression, especially for a large number of files. |
Compression efficiency may
vary, and it might be less effective than Gzip for certain scenarios. |
Extraction Time |
Takes longer to extract a
specific file from a compressed archive. |
Allows quicker extraction of
individual files from the archive. |
Ideal Use Case |
Well-suited for compressing a
large number of files into a single archive. |
Suitable for compressing and
archiving individual files with a focus on easy extraction. |
Redundancy Utilization |
Efficiently utilizes
redundancy in files to reduce overall file size. |
May result in larger archive
sizes, especially when compressing identical files multiple times. |
Syntax of the gzip Command
The basic syntax of the gzip command is straightforward:
gzip [Options] [filenames]
This syntax allows users to compress a specified file. Now, let’s delve into some practical examples to illustrate the usage of the gzip command.
Options Available in gzip Command
Options |
Description |
-f |
Forcefully compress a file
even if a compressed version with the same name already exists. |
-k |
Compress a file and keep the
original file, resulting in both the compressed and original files. |
-L |
Display the gzip license for
the software. |
-r |
Recursively compress all
files in a folder and its subfolders. |
-v |
Display the name and
percentage reduction for each file compressed or decompressed. |
-d |
Decompress a file that was
compressed using the gzip command. |
Basic Compression using gzip Command in Linux
To compress a file named “mydoc.txt,” the following command can be used:
Example:
gzip mydoc.txt
This command will create a compressed file of mydoc.txt named as mydoc.txt.gz and delete the original file.
How to decompress a gzip file in Linux?
The basic syntax of the gzip command for decompressing a file is as follows:
gzip -d filename.gz
This command decompresses the specified gzip file, leaving the original uncompressed file intact.
Keeping the Original File Using gzip Command in Linux
By default, gzip removes the original file after compression. To retain the original file, use the -k option:
gzip -k example.txt
This command compresses “example.txt” and keeps the original file intact.
Verbose Mode Using gzip Command in Linux
To obtain more details during compression or decompression, the -v option is employed:
gzip -v example.txt
Verbose mode provides information such as file sizes and progress during the compression or decompression process.
Force Compression Using gzip Command in Linux
In cases where the compressed file already exists, the -f option forcefully overwrites it:
gzip -f example.txt
This command compresses “example.txt” and overwrites any existing “example.txt.gz” file
Compressing Multiple Files Using gzip Command in Linux
Gzip can compress multiple files simultaneously by providing their names as arguments:
gzip file1.txt file2.txt file3.txt
This command compresses “file1.txt,” “file2.txt,” and “file3.txt” individually.
Recursive Compression with find Using gzip Command in Linux
To compress all files in a directory and its subdirectories, the find command can be combined with gzip:
find /path/to/directory -type f -exec gzip {} \;
This command recursively compresses all files in the specified directory.
Conclusion
In this article we discussed the gzip command which is a powerful tool on Linux for compressing and decompressing files using the DEFLATE algorithm. Its basic syntax allows for straightforward compression, with options like -k preserving the original file and -v providing detailed information. The -f option forcefully compresses, overwriting existing files, while -r facilitates recursive compression. Gzip’s versatility makes it a go-to tool for efficiently managing file sizes and navigating through directory structures.
Gzip Command in Linux – FAQs
What is gzip in Linux?
gzip is a file compression utility in Linux that reduces the size of files using the GNU zip compression algorithm. It compresses files to save disk space and reduce transmission time.
To compress a file using gzip, use the following command:
gzip filename
This command compresses filename and replaces it with filename.gz.
How to make a gz file in Linux?
To create a .gz file in Linux, use the gzip command:
gzip filename
This will compress filename and create a filename.gz file.
How to zip a folder in Linux using gzip?
gzip cannot compress directories directly. Use the tar command combined with gzip to compress a folder:
tar -czvf foldername.tar.gz foldername/
This command creates a compressed archive foldername.tar.gz of the foldername directory.
To decompress a .gz file using gzip, use the -d option:
gzip -d filename.gz
This command decompresses filename.gz and restores the original file filename.