How to Compress and Extract Files and Directories in Linux Using gzip and bzip2

How to Compress and Extract Files and Directories in Linux Using gzip and bzip2

The post explains provides basic commands to compress files and folders in Linux OS. To compress a file or folder, gzip and bzip2 are two very popular tools.

 

Gzip Compression

To compress a file:

# gzip file1

A file by name file1.gz will be created in current directory replacing file1. You can compress multiple files in one go by just specifying their names, separated by spaces. For example:

# gzip file1 file2 file3

To expand a gzip compressed file in current directory:

# gunzip file1.gz

To compress a directory, you can create a tar and compress it.

# tar -czvf name-of-archive.tar.gz /path/to/directory

To compress multiple directories in one file:

# tar -czvf name-of-archive.tar.gz /path/directory1 /path/directory2

To extract the a “tar and compressed” directory in your current directory,

# tar -xzvf name-of-archive.tar.gz

To extract the a “tar and compressed” directory in a particular directory,

# tar -xzvf name-of-archive.tar.gz -C /path/to/directory

 

Bzip2 compression

To compress a file:

# bzip2 file1

A file by name file1.bz2 will be created in current directory replacing file1. Similar to gzip you can compress multiple files in one go. For example

# bzip2 file1 file2 file3

To expand a file in current directory:

# bunzip2 file1.bz2

To compress a directory, you can create a tar and compress it.

# tar -cjvf name-of-archive.tar.bz2 /path/to/directory

To compress multiple directories in one file:

# tar -cjvf name-of-archive.tar.bz2 /path/directory1 /path/directory2

To extract the a “tar and compressed” directory in your current directory,

# tar -xjvf name-of-archive.tar.bz2

To extract the a “tar and compressed” directory in a particular directory,

# tar -xjvf name-of-archive.tar.bz2 -C /path/to/directory