Bird
Raised Fist0
Linux CLIscripting~10 mins

gzip and gunzip in Linux CLI - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - gzip and gunzip
Start with file
↓
Run gzip
↓
File compressed to .gz
↓
Run gunzip
↓
File decompressed back
↓
End
This flow shows compressing a file with gzip and then decompressing it with gunzip.
Execution Sample
Linux CLI
echo "Hello World" > file.txt
gzip file.txt
ls
gunzip file.txt.gz
ls
Create a text file, compress it with gzip, list files, decompress with gunzip, then list files again.
Execution Table
StepCommandActionFile StateOutput
1echo "Hello World" > file.txtCreate file.txt with textfile.txt exists
2gzip file.txtCompress file.txt to file.txt.gz and remove originalfile.txt.gz exists, file.txt removed
3lsList filesfile.txt.gz existsfile.txt.gz
4gunzip file.txt.gzDecompress file.txt.gz to file.txt and remove .gzfile.txt exists, file.txt.gz removed
5lsList filesfile.txt existsfile.txt
💡 All commands executed successfully; file compressed and decompressed as expected.
Variable Tracker
FileInitialAfter gzipAfter gunzip
file.txtexistsremovedexists
file.txt.gzdoes not existexistsremoved
Key Moments - 2 Insights
Why does file.txt disappear after running gzip?
gzip compresses the file and replaces the original with the compressed .gz file, so file.txt is removed as shown in step 2 of the execution_table.
What happens if you run gunzip on a file that is not compressed?
gunzip expects a .gz file; if the file is not compressed or missing .gz extension, it will give an error and not decompress, unlike step 4 where file.txt.gz exists.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, after which step does file.txt.gz first appear?
AStep 2
BStep 1
CStep 3
DStep 4
💡 Hint
Check the 'File State' column for file.txt.gz presence after each step.
At which step does file.txt reappear after being compressed?
AStep 2
BStep 4
CStep 3
DStep 5
💡 Hint
Look at the 'File State' column to see when file.txt exists again.
If you skip the gunzip command, what will the final ls output show?
Afile.txt only
Bboth file.txt and file.txt.gz
Cfile.txt.gz only
Dno files
💡 Hint
Refer to step 3 where gzip has compressed the file but gunzip has not run yet.
Concept Snapshot
gzip compresses files by replacing the original with a .gz file.
gunzip decompresses .gz files back to original and removes the .gz.
Use gzip filename to compress and gunzip filename.gz to decompress.
After gzip, original file is gone; after gunzip, original file returns.
Check files with ls to see changes.
Full Transcript
This lesson shows how gzip compresses a file by creating a .gz file and removing the original. Then gunzip decompresses the .gz file back to the original file and removes the compressed version. We start by creating a file with echo, compress it with gzip, list files to see the .gz file, then decompress with gunzip and list files again to see the original file restored. gzip replaces the original file with the compressed one, so the original disappears after compression. gunzip reverses this. If you try to gunzip a file that is not compressed, it will error. This visual trace helps understand the file state changes step-by-step.

Practice

(1/5)
1. What does the gzip command do in Linux?
easy
A. Lists files in a directory
B. Deletes a file permanently
C. Compresses a file and replaces the original with a .gz file
D. Creates a backup copy of a file

Solution

  1. Step 1: Understand gzip purpose

    The gzip command compresses files to save disk space.
  2. Step 2: Effect on original file

    It replaces the original file with a compressed file ending in .gz.
  3. Final Answer:

    Compresses a file and replaces the original with a .gz file -> Option C
  4. Quick Check:

    gzip compresses files = D [OK]
Hint: gzip compresses and replaces original file by default [OK]
Common Mistakes:
  • Thinking gzip deletes files without compression
  • Confusing gzip with backup commands
  • Assuming gzip lists files
2. Which of the following is the correct syntax to compress a file named data.txt but keep the original file?
easy
A. gzip data.txt
B. gzip -d data.txt
C. gunzip -k data.txt
D. gzip -k data.txt

Solution

  1. Step 1: Identify option to keep original

    The -k option tells gzip to keep the original file after compression.
  2. Step 2: Match correct command

    gzip -k data.txt compresses and keeps the original file.
  3. Final Answer:

    gzip -k data.txt -> Option D
  4. Quick Check:

    Use -k to keep original file [OK]
Hint: Use -k with gzip to keep original file [OK]
Common Mistakes:
  • Using gunzip instead of gzip for compression
  • Using -d which is for decompression
  • Not using -k and losing original file
3. What will be the output of the following commands?
gzip -k report.txt
gunzip report.txt.gz
medium
A. Only report.txt exists after commands
B. Both report.txt and report.txt.gz exist after commands
C. Original report.txt deleted, only report.txt.gz remains
D. Error because gunzip cannot decompress .gz files

Solution

  1. Step 1: Analyze gzip -k report.txt

    This compresses report.txt to report.txt.gz and keeps the original report.txt file.
  2. Step 2: Analyze gunzip report.txt.gz

    This decompresses report.txt.gz back to report.txt and deletes the .gz file.
  3. Final Answer:

    Only report.txt exists after commands -> Option A
  4. Quick Check:

    gzip -k keeps original, gunzip restores and removes .gz [OK]
Hint: gunzip removes .gz file after decompression [OK]
Common Mistakes:
  • Assuming gzip deletes original with -k option
  • Thinking gunzip keeps .gz file after decompression
  • Confusing gzip and gunzip roles
4. You run gunzip file.txt but get an error saying "not in gzip format." What is the likely problem?
medium
A. gunzip command is misspelled
B. file.txt is not a compressed .gz file
C. file.txt is already decompressed
D. You need to use gzip instead of gunzip

Solution

  1. Step 1: Understand gunzip input requirement

    gunzip expects a file compressed with gzip, usually ending with .gz.
  2. Step 2: Analyze error message

    "not in gzip format" means the file is not compressed or not a .gz file.
  3. Final Answer:

    file.txt is not a compressed .gz file -> Option B
  4. Quick Check:

    gunzip needs .gz files [OK]
Hint: gunzip only works on gzip-compressed (.gz) files [OK]
Common Mistakes:
  • Trying to decompress uncompressed files
  • Confusing gzip and gunzip commands
  • Ignoring file extensions
5. You have multiple log files: log1.txt, log2.txt, and log3.txt. You want to compress all of them but keep the original files. Which command will do this correctly?
hard
A. gzip -k log*.txt
B. gzip log*.txt
C. gunzip -k log*.txt
D. gzip -d log*.txt

Solution

  1. Step 1: Identify command to compress multiple files

    gzip compresses files; log*.txt matches all log files.
  2. Step 2: Ensure original files are kept

    The -k option keeps original files after compression.
  3. Final Answer:

    gzip -k log*.txt -> Option A
  4. Quick Check:

    gzip -k compresses and keeps originals [OK]
Hint: Use gzip -k with wildcard to keep originals [OK]
Common Mistakes:
  • Using gunzip instead of gzip for compression
  • Not using -k and losing original files
  • Using -d which decompresses files
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard