gunzip command is a widely used command-line tool that serves as a decompression algorithm. It functions as the counterpart to the
gunzip restores the compressed file to its original name, owner, mode, and timestamp when executed.
The following text provides a comprehensive overview of the
gunzip command in Linux.
- A Linux system (this tutorial uses Ubuntu 22.04.).
- Access to the terminal.
gunzip Command Syntax
gunzip command syntax is:
gunzip [options] [archive_name]
The command prints an error message when run without any options or archive name.
gunzip with an archive name decompresses that archive.
For example, we will decompress the test_file1.gz file:
The command has no output. Run the
ls command to confirm the file is not compressed anymore.
The output shows test_file1, a decompressed text file.
Note: When running the command, you are allowed to use the archive_name without the .gz suffix if it's the only file with that name. The command recognizes it is as an archive. However, if there are differenet file types with the same name, use archive_name with the .gz suffix.
gunzip Command Options
gunzip command has plenty of options that modify it and produce tailored output. The common ones are presented in the table below:
|Keeps original files unchanged but writes the text from a compressed file to the standard output without uncompressing it.
|Forces decompression even if the conditions are not ideal.
|Keeps both the compressed and the original uncompressed file after decompression.
|Provides info about compressed or uncompressed file contents.
|Does not save the original file name and timestamp when decompressing.
|Saves the original file name and timestamp when decompressing.
|Suppresses all warnings.
|Unzips files not only in the current directory but also in its subdirectories.
|Uses the suffix '.suf' instead of '.gz' when decompressing.
|The data is written to the output file synchronously, where each operation must be completed before the next one begins. The process is slower but considered safer in case of a system crash or failure.
|Performs a test by checking the decompressed file integrity.
|Provides a verbose output to give a better understanding of what is happening.
|Displays the help message and exits.
|Shows the information about the version of
gunzip vs. unzip Command
The main distinctions between
gunzip and unzip is the supported file types, the compression/decompression processes, and their use cases.
gunzip tool is designed to decompress files in the GZIP format. GZIP is commonly used to compress large files or groups of files, providing efficient disk space utilization and faster processing.
unzip utility extracts files from archives in the ZIP format. ZIP archives combine multiple files into a single compressed file for easier transfer and storage. The
unzip command reads ZIP archives, extracting compressed files to the original form. It supports various compression methods like deflate, bzip2, and LZMA.
The tools differ in the decompression processes. While
gunzip reads and restores data block by block,
unzip extracts files from an archive and handles multiple files simultaneously.
gunzip exclusively supports files in the GZIP format, whereas
unzip is versatile and handles ZIP files and other compression methods such as deflate, bzip2, and LZMA.
gunzip Command Examples
gunzip has plenty of options available, and there are a lot of use-case examples. The following text presents eight practical examples.
1. Decompress a File
An alternative to running
gunzip with no options is to use the
-d argument. The output is the same.
The syntax is:
gunzip -d [archive_name]
For instance, decompress test_file1.gz with the following:
gunzip -d test_file1
2. Provide Verbose Output
gunzip with an archive name but without any options or with
-d, the command has no output. The only way to verify the outcome is to list the files in the current working directory or with the
-v option to get a verbose output.
The syntax is:
gunzip -v [archive_name]
For instance, apply the command to decompress the archive test_file1.gz:
gunzip -v test_file1.gz
The output shows the file is decompressed and changed the extension.
3. List the Contents of the Compressed File
To see the info about an archive without decompressing it, use the
gunzip -l [archive_name]
For instance, print the information about testfile_1 with:
gunzip -l testfile_1
The command doesn't decompress the file, but it does show valuable info about the compressed file and the size and name of the decompressed file.
4. Decompress Multiple Files
gunzip command can decompress multiple files. To do that, run the command and add archives' names separated by spaces.
The syntax is:
gunzip [arhcive_name_1] [arhcive_name_2] [arhcive_name_3]
For example, we have three archives: test_file1.gz, test_file2.gz, and test-file3.gz, as shown by the
ls command output:
Decompress all three files with the following:
gunzip -v test_file1 test_file2 test_file3
gunzip -v shows all three archives are decompressed.
5. Force Decompress a File
-f option with
gunzip forces the file decompression, even if it has a questionable or missing gzip header.
gunzip checks for a valid
gzip header in the compressed file to ensure it is a valid gzip-compressed file before attempting decompression. However, sometimes, the header might be missing or corrupted, leading to issues with decompression.
In that case,
gunzip is not able to decompress the file. For instance, run
gunzip on an unsuitable file, in this case, called corrupted_file.gz:
Even though the file has the .gz extension, it is corrupted and
gunzip does not extract the contents. The
-f option overrides this, allowing the decompression to proceed. For instance:
gunzip -f corrupted_file.gz
This is useful when users suspect the file is compressed but does not have the correct header information or if the file extension does not match the actual compression format.
6. Keep the Compressed File
gunzip tool, by default, deletes the compressed file once it is decompressed. To keep the compressed file, run the following command:
gunzip -k [archive_name}.
For instance, decompress test_file1.gz, but keep the archive:
gunzip -k test_file1
ls to verify both the archive and the file are present.
7. Test the File Is Valid
-t option in the
gunzip command tests the integrity of a compressed file. It allows users to check if the compressed file has a valid gzip format without decompressing it. This process is helpful to ensure the file is not corrupted before attempting decompression.
The syntax is
gunzip -t [archive_name]
For instance, test whether the archive test_file1.gz is valid with:
gunzip -t test_file1
The output is empty, indicating the file is valid. If the command is executed on a non-valid file, like a text file, the output is different:
8. Read Text Within a Compressed File
gunzip command has the
-c option that allows users to read the compressed file text without decompressing it.
The syntax is:
gunzip -c [archive_name]
For instance, read the contents of the archive test_file1.gz with:
gunzip -c test_file1
After reading this article, you know how to use the Linux
gunzip command with the help of several practical examples.
Next, learn how to extract tar.gz files from the Linux terminal.