Pin Me

Linux Command Line: bzip2/bunzip2

written by: jlwallen•edited by: Christian Cawley•updated: 12/22/2008

As with every aspect of Linux, there are countless ways of handling tasks. And the task of compression is no exception. One of the best compression tools in Linux is bzip2/bunzip2. If you need to squeeze out the most possible compression bunzip2 should suit your needs.

  • slide 1 of 3

    History

    The bzip2/bunzip2 compression utility is part of the bzip family created by Julian Seward in 1996. Version 1 of bzip did not arrive to the public until some four years later. Because bzip2/bunzip2 manages to compress more than standard compression tools (such as gzip and zip), it does work a bit slower. The speed difference is negligible when working on smaller files, but when having to compress larger files, such as a kernel, there will be a noticeable difference. The trade off is having a much smaller compressed file in the end.

  • slide 2 of 3

    Basic usage

    The bzip2 and bunzip2 tackle two different tasks. The bzip2 tool handles compression and the bunzip2 tool handles decompression. Because of this, the basic usage is very simple:

    To compress a file the command would look like: bzip2 filename

    Where filename is the actual file name to be compressed. The resulting compressed file will look like filename.bz2.

    To decompress a file the command would look like: bunzip2 filename.bz2

    Where filename.bz2 is the actual file name to decompress. The resulting decompressed file will be filename.

    The bzip2 tools are not archiving tools. In order to compress a directory, the directory must be archived first. If you have a large directory, say TEMP, and you want more compression than gzip gives you, you will have to use the tar archiving tool to first archive the directory. Once the directory is archived it can be compressed with gzip2. So both commands for this would look like:

    tar cf TEMP.tar TEMP

    bzip2 TEMP.tar

    The resulting file would be TEMP.tar.bz2

  • slide 3 of 3

    Final Thoughts

    Both bzip2 and bunzip2 have arguments that can be passed at the command line. One argument specifies block size to help ease memory usage during compression/decompression. This idea is outdated because computers have evolved well beyond anything used when bzip2 was created. So unless memory usage is a real problem, these arguments aren't really necessary.

    When you need serious compression and ease of use, you need to look beyond the standard gzip and zip to bzip2.

Simplify Linux application installation and archiving

If you are new to Linux than you might be baffled as to how to handle two important tasks: Application installation and directory archiving. Never fear, Bright Hub is hear. In this series of articles you will learn how to master the tools to help you tackle these tasks.
  1. Simplifying Linux Installation and Archiving
  2. Linux Command Line: apt-get
  3. Linux Command Line: urpmi
  4. Linux Command Line: rpm
  5. Linux Command Line: tar
  6. Linux Command Line: bzip2/bunzip2