How To Open Gz File In Linux

How To Open Gz File In Linux

Reading time1 min
#Linux#Compression#CommandLine#gzip#gzfiles#FileExtraction

Mastering .gz File Extraction on Linux

Compressed files—especially .gz—are routine artifacts in Linux systems. Whether rotating logs, distributing source tarballs, or optimizing backups, you’ll encounter gzip compression almost daily. Mishandling these files leads to lost time, corrupted data, or even accidental deletions.


What is a .gz File?

  • Format: Gzip-compressed, single-file archive.
  • Common usage: Log rotation (/var/log/syslog.1.gz), distribution (release-notes.txt.gz), intermediary build steps.
  • Differs from: tar.gz or tgz, which bundle multiple files first (via tar), then compress.

A typical .gz contains precisely one file:

$ ls -l sample.txt.gz
-rw-r--r-- 1 user user 576 Jun  8 14:24 sample.txt.gz

Essential Extraction Methods

1. Standard Decompression with gunzip

gunzip sample.txt.gz
  • Output: Produces sample.txt, deletes sample.txt.gz.
  • Note: By default, overwrites files without prompt.
  • Gotcha: No built-in --keep flag in older gzip (<1.8).

Error Example:
Attempting to decompress onto an existing file shows:

gzip: sample.txt already exists; not overwritten

unless -f (force) is used.


2. Alternative: gzip -d (Identical to gunzip)

gzip -d sample.txt.gz
  • Behavior: Exactly the same—replaces the compressed file.

3. Decompress Without Deleting the Original (zcat, gzip -dc)

Viewing content without extraction:

zcat sample.txt.gz | less
# or
gzip -dc sample.txt.gz | less
  • Useful for peeking at logs or config dumps in compressed archives.
  • Side note: Extremely efficient for large, read-only files via pipelines.

Extract to file, keep original:

gzip -dc sample.txt.gz > sample.txt

4. Batch Decompression

All .gz files in a directory:

gunzip *.gz

Preserve all originals:

for f in *.gz; do gzip -dc "$f" > "${f%.gz}"; done
  • This is essential when working with log directories: do not destroy archived gzipped logs unless intended.

5. Quick Metadata Inspection

Before extraction, validate size and original filename:

gzip -l sample.txt.gz
#  compressed uncompressed  ratio uncompressed_name
#        576         2232  74.2% sample.txt

Useful for scripting sanity checks prior to batch decompression.


Composite Archives: .tar.gz, .tgz

A typical pitfall: assuming a .tar.gz is an ordinary gzip file. In reality, it's an archive containing multiple files—gzip alone won’t extract the contents.

Efficient extraction (tar version ≥ 1.15):

tar -xzvf archive.tar.gz
  • x: extract
  • z: gzip
  • v: verbose (remove for quiet mode)
  • f: filename

Side note:
If you gunzip a .tar.gz, the output is archive.tar: still compressed, but not unpacked.


Comparison Table: CLI vs GUI Extraction Tools

FeatureCLI (gzip, gunzip)GUI Archive Managers
AutomationYes (scripting, batch)No
Resource UsageMinimalHigher (X11, desktop deps)
Remote (SSH)Full supportNot practical
File ControlFine-grainedOften missing advanced options

Practical Scenario

Example: Restoring a Critical Rotated Log Without Losing the Original

You need to inspect yesterday’s syslog without sacrificing the backup:

zcat /var/log/syslog.1.gz | grep 'CRITICAL' > ~/critlines.txt
  • No intermediate file, no risk of losing the compressed source.
  • Typical admin workflow: process, grep, report—no temp file clutter.

Non-Obvious Tip

Corrupt .gz Recovery:
Partial extraction may still be possible:

zcat -f brokenlog.gz > recovered.txt

The -f flag forces decompression even if the gzip stream has errors—may recover usable data up to the first corruption.


Reference Command Table

ActionCommand
Extract & remove .gzgunzip file.gz
Extract, retain .gzgzip -dc file.gz > file
View contentszcat file.gz | less
List archive infogzip -l file.gz
Extract .tar.gztar -xzvf archive.tar.gz
Batch keep originalsfor f in *.gz; do gzip -dc "$f" > "${f%.gz}"; done

Final Notes

CLI extraction with gzip tools is reliable, scriptable, and resource-light—essential for production environments, automation, and troubleshooting at scale. GUI tools offer convenience but rarely facilitate precise or batch operations, especially in server or cloud contexts. Always validate archives with gzip -l before overwriting, and script around potential collisions or data loss. Version differences (e.g., gzip 1.10 vs 1.6) affect available flags; check with gzip --version for edge-case compatibility.

Data loss from careless decompression is a classic ops error. Don’t be that admin.