Bird
Raised Fist0
Linux CLIscripting~5 mins

tar with compression (-z, -j, -J) in Linux CLI - Commands & Configuration

Choose your learning style10 modes available
Introduction
Sometimes you want to save space when storing or sending files. The tar command can bundle files together and compress them to make the size smaller. This helps when you want to move many files as one package or save disk space.
When you want to create a backup of a folder and reduce its size to save disk space.
When you need to send multiple files over the internet as a single compressed file.
When you want to archive logs daily and keep them compressed to save storage.
When you want to extract a compressed archive you received from someone else.
When you want to compress files using different compression methods like gzip, bzip2, or xz.
Commands
This command creates a compressed archive named archive.tar.gz from the folder 'myfolder' using gzip compression (-z). The -c flag means create, -f specifies the filename.
Terminal
tar -czf archive.tar.gz myfolder
Expected OutputExpected
No output (command runs silently)
→
-c - Create a new archive
→
-z - Compress archive with gzip
→
-f - Specify archive filename
This command extracts the contents of the gzip compressed archive archive.tar.gz. The -x flag means extract, -z decompresses gzip, and -f specifies the file.
Terminal
tar -xzf archive.tar.gz
Expected OutputExpected
No output (command runs silently)
→
-x - Extract files from archive
→
-z - Decompress gzip archive
→
-f - Specify archive filename
This command creates a compressed archive named archive.tar.bz2 from 'myfolder' using bzip2 compression (-j). It saves more space but is slower than gzip.
Terminal
tar -cjf archive.tar.bz2 myfolder
Expected OutputExpected
No output (command runs silently)
→
-c - Create a new archive
→
-j - Compress archive with bzip2
→
-f - Specify archive filename
This extracts the bzip2 compressed archive archive.tar.bz2. The -x flag extracts, -j decompresses bzip2, and -f specifies the file.
Terminal
tar -xjf archive.tar.bz2
Expected OutputExpected
No output (command runs silently)
→
-x - Extract files from archive
→
-j - Decompress bzip2 archive
→
-f - Specify archive filename
This creates a compressed archive named archive.tar.xz from 'myfolder' using xz compression (-J). It usually compresses better but takes more time.
Terminal
tar -cJf archive.tar.xz myfolder
Expected OutputExpected
No output (command runs silently)
→
-c - Create a new archive
→
-J - Compress archive with xz
→
-f - Specify archive filename
This extracts the xz compressed archive archive.tar.xz. The -x flag extracts, -J decompresses xz, and -f specifies the file.
Terminal
tar -xJf archive.tar.xz
Expected OutputExpected
No output (command runs silently)
→
-x - Extract files from archive
→
-J - Decompress xz archive
→
-f - Specify archive filename
Key Concept

If you remember nothing else from this pattern, remember: use -z for gzip, -j for bzip2, and -J for xz compression with tar to create or extract compressed archives.

Common Mistakes
Forgetting to use the -f flag with tar when specifying the archive filename.
Tar will not know which file to create or extract, causing an error or unexpected behavior.
Always include -f followed by the archive filename when creating or extracting.
Using the wrong decompression flag when extracting (e.g., using -z for a bzip2 archive).
Tar will fail to decompress the archive because the compression method does not match.
Match the compression flag used during creation: -z for gzip, -j for bzip2, -J for xz.
Trying to compress a file without the -c flag or extract without the -x flag.
Tar won't know whether to create or extract, leading to errors or no action.
Use -c to create archives and -x to extract archives.
Summary
Use tar with -c and -f flags to create archives and specify the archive filename.
Add -z, -j, or -J to compress archives with gzip, bzip2, or xz respectively.
Use tar with -x and matching compression flags to extract compressed archives.

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