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
- bzip2
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