Bird
Raised Fist0
Linux CLIscripting~30 mins

tar with compression (-z, -j, -J) in Linux CLI - Mini Project: Build & Apply

Choose your learning style10 modes available
Compress and Extract Files Using tar with Compression Options
📖 Scenario: You have a folder with some files that you want to compress to save space or share easily. You will learn how to use the tar command with different compression options to create compressed archives and then extract them.
🎯 Goal: Learn to create compressed archives using tar with gzip, bzip2, and xz compression options, and then extract the files back from these archives.
📋 What You'll Learn
Use the tar command with -z option for gzip compression
Use the tar command with -j option for bzip2 compression
Use the tar command with -J option for xz compression
Extract files from compressed archives using the correct tar options
💡 Why This Matters
🌍 Real World
Compressing files saves disk space and makes it easier to send multiple files as one package. Extracting archives is needed to access the original files.
💼 Career
System administrators, developers, and IT professionals often use tar with compression to manage backups, deployments, and file transfers.
Progress0 / 4 steps
1
DATA SETUP: Create a folder with files to compress
Create a folder called project_files and inside it create three empty files named file1.txt, file2.txt, and file3.txt.
Linux CLI
Hint

Use mkdir to create a folder and touch to create empty files inside it.

2
CONFIGURATION: Set archive file names for compression
Create three variables named gzip_archive, bzip2_archive, and xz_archive and assign them the values project_files.tar.gz, project_files.tar.bz2, and project_files.tar.xz respectively.
Linux CLI
Hint

Assign the archive file names to variables using = without spaces.

3
CORE LOGIC: Create compressed archives using tar with -z, -j, and -J options
Use the tar command to create three compressed archives from the project_files folder: use -z for gzip compression and save to $gzip_archive, use -j for bzip2 compression and save to $bzip2_archive, and use -J for xz compression and save to $xz_archive.
Linux CLI
Hint

Use tar -czf for gzip, tar -cjf for bzip2, and tar -cJf for xz compression.

4
OUTPUT: Extract files from the gzip compressed archive and list contents
Extract the files from the gzip compressed archive stored in $gzip_archive into a folder named extracted_files. Then list the contents of extracted_files/project_files to verify the files are extracted.
Linux CLI
Hint

Use tar -xzf to extract gzip archives and ls to list files.

Practice

(1/5)
1. Which option correctly describes the -z flag when used with the tar command?
easy
A. It compresses the archive using gzip.
B. It compresses the archive using bzip2.
C. It compresses the archive using xz.
D. It creates an uncompressed archive.

Solution

  1. Step 1: Understand the tar compression flags

    The -z flag tells tar to use gzip compression.
  2. Step 2: Match the flag to the compression type

    -z is for gzip, -j for bzip2, and -J for xz compression.
  3. Final Answer:

    It compresses the archive using gzip. -> Option A
  4. Quick Check:

    -z means gzip compression [OK]
Hint: Remember: z = gzip, j = bzip2, J = xz [OK]
Common Mistakes:
  • Confusing -z with -j or -J
  • Thinking -z creates uncompressed archive
  • Mixing compression types
2. Which of the following is the correct syntax to create a bzip2 compressed tar archive named backup.tar.bz2 from the directory data?
easy
A. tar -cJf backup.tar.bz2 data
B. tar -czf backup.tar.bz2 data
C. tar -cjf backup.tar.bz2 data
D. tar -cf backup.tar.bz2 data

Solution

  1. Step 1: Identify the compression flag for bzip2

    The -j flag is used for bzip2 compression.
  2. Step 2: Check the full command syntax

    tar -cjf backup.tar.bz2 data creates a bzip2 compressed archive named backup.tar.bz2 from data.
  3. Final Answer:

    tar -cjf backup.tar.bz2 data -> Option C
  4. Quick Check:

    -j means bzip2 compression [OK]
Hint: Use -j for bzip2 compression in tar commands [OK]
Common Mistakes:
  • Using -z instead of -j for bzip2
  • Forgetting the 'f' flag for filename
  • Mixing compression flags and extensions
3. What will be the output of the following command if the directory project contains files and subdirectories?

tar -cJf project.tar.xz project
medium
A. Creates an uncompressed tar archive named project.tar.xz
B. Creates an xz compressed tar archive named project.tar.xz
C. Creates a gzip compressed tar archive named project.tar.xz
D. Throws an error because -J is invalid

Solution

  1. Step 1: Understand the -J flag

    The -J flag tells tar to use xz compression.
  2. Step 2: Analyze the command output

    The command creates a compressed archive named project.tar.xz using xz compression from the project directory.
  3. Final Answer:

    Creates an xz compressed tar archive named project.tar.xz -> Option B
  4. Quick Check:

    -J means xz compression [OK]
Hint: Remember: -J compresses with xz, matching .tar.xz files [OK]
Common Mistakes:
  • Thinking -J is invalid
  • Confusing -J with -z or -j
  • Assuming no compression happens
4. You run the command tar -cjf archive.tar.gz folder but get an error. What is the likely cause?
medium
A. The -f flag is missing
B. The -c flag is missing
C. The -j flag cannot be combined with .tar.gz extension
D. The folder does not exist

Solution

  1. Step 1: Verify the flags and syntax

    The command has all required flags: -c for create, -j for bzip2, -f for file.
  2. Step 2: Identify the likely error source

    tar will error if the source folder does not exist, typically with "Cannot stat: No such file or directory".
  3. Final Answer:

    The folder does not exist -> Option D
  4. Quick Check:

    Check source exists before tar [OK]
Hint: Always verify source directory exists before archiving [OK]
Common Mistakes:
  • Assuming flag or extension issues
  • Overlooking if folder exists
  • Focusing on compression mismatch
5. You want to create a compressed archive of the logs directory using the best compression ratio available with tar. Which command should you use?
hard
A. tar -cJf logs.tar.xz logs
B. tar -cjf logs.tar.bz2 logs
C. tar -czf logs.tar.gz logs
D. tar -cf logs.tar logs

Solution

  1. Step 1: Identify compression types and their ratios

    Gzip (-z) is fast but less compressed, bzip2 (-j) is better, and xz (-J) offers the best compression ratio.
  2. Step 2: Choose the best compression flag

    Using -cJf creates an xz compressed archive, which has the best compression ratio.
  3. Final Answer:

    tar -cJf logs.tar.xz logs -> Option A
  4. Quick Check:

    Best compression = xz = -J flag [OK]
Hint: Use -J for best compression with tar [OK]
Common Mistakes:
  • Choosing gzip or bzip2 for best compression
  • Forgetting compression flag
  • Using uncompressed tar by mistake
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