Best Known Linux Archive / Compress Tools

February 8, 2015 | By
| 2 Replies More

Sending and receiving large files and pictures over the internet is a headache many times. Compression and decompression tools are meant to address this problem. Lets take a quick overview of a few open source tools that are available to make our jobs simpler.

Tar
gzip, gunzip
bzip2, bunzip2
7-Zip

Tar

Tar is derived from 'Tape archiver' as this was initially used for archiving and storing files on magnetic tapes. It is a GNU software. It can compress a set of files (archives), extract them and manipulate those which already exist. It is useful for storing, backing up and transporting files.  Tar can preserve file and directory structure while creating the archives. Files archived using tar have '.tar' extensions.

Basic Usage

a) Creating an archive (c / --create)

tar --create --verbose --file=archive.tar file1 file2 file3

OR

tar cvf archive.tar file1 file2 file3

tar cvf

creating an archive

b) Listing an archive ( t / --list)

tar --list archive.tar

tar tvf

Listing the contents

c) Extracting an archive (x / --extract)

tar xvf archive.tar

tar xvf archive.tar --wildcards '*.c'  -  extracts files with only *.c extension from the archive.

tar xvf

Extracting files

tar xvf --wildcards

Extract only the required files

d) Updating an archive ( u / --update)

   tar uvf archive.tar newfile.c   -    updates the archive by adding newfile.c  if its version is newer than the existing one.

tar uvf

Updating an archive

e) Delete from an archive (--delete)

tar--delete -f archive.tar file1.c   -     deletes 'file1.c' from the tar ball 'archive.tar'

tar --delete

Deleting files

Refer to tar home page for its detailed usage

Gzip / Gunzip

Gzip stands for GNU zip. It is a compression utility that is commonly available in Linux operating system. Compressed files have an extension of '*.gz'

Basic Usage

a) Compressing files

gzip file(s)

Each file gets compressed individually

gzip

Compress files

This generally deletes the original files after compression. We can keep the original file by using the -c option.

gzip -c file > file.gz

gzip-c

Keep original files after compressing

We can also compress a group of files into a single file

cat file1 file2 file3 | gzip > archieve.gz

gz group

Compressing a group of files

b) Checking compression ratio

Compression ratio of the compressed file(s) can be verified using the '-l' option.

gzip -l archieve.gz

gzip -l

Checking compression ratio

c) Unzipping files

Gunzip is used for unzipping files. Here also, original files are deleted after decompression. Use the -c option to retain original files.

gunzip -c archieve.gz

gunzip -c

Unzipping files

Using '-d' option with gzip command has the same effect of gunzip on compressed files.

More details can be obtained from gzip home page

Bzip2 / Bunzip2

Bzip2 is also a compression tool like gzip but can compress files to smaller sizes than that is possible with other traditional tools. But the drawback is that it is slower than gzip.

Basic Usage

a) File Compression

Generally, no options are used for compression and the files to be compressed are passed as arguments. Each file gets compressed individually and compressed files will have the extension 'bz2'.

bzip2 file1 file2 file3

bzip2

File Compression

Use '-k' option to keep the original files after compression / decompression.

bzip2 -k

Retaining original files after compression

'-d' option is used for forced decompression.

bzip2 -d

Delete files using -d option

b) Decompression

bunzip2 filename

bunzip2

Decompressing files

bunzip2 can decompress files with extensions bz2, bz, tbz2 and tbz. Files with tbz2 and tbz will end up with '.tar' extension after decompression.

bzip2 -dc performs the function of decompressing files to the stdout

7-zip

7-zip is another open source file archiver. It uses 7z format which is a new compression format and provides high-compression ratio. Hence, it is considered to be better than the previously mentioned compression tools. It is available under Linux as p7zip package. The package includes three binaries – 7z, 7za and 7zr. Refer to the p7zip wiki for differences between these binaries. In this article, we will be using 7zr to explain the usage. Archived files will have '.7z' extension.

Basic usage

a) Creating an archive

7zr a archive-name.7z file-name(s) / directory-name(s)

7zr a

Creating an archive

b) Listing an archive

7zr l archive-name.7z

7zr l

Listing an archive

c) Extracting an archive

7zr e archive-name.7z

7zr e

Extracting an archive

d) Updating an archive

7zr u archive-name.7z new-file

7zr u

Updating an archive

e) Deleting files from an archive

7zr d archive-name.7z file-to-be-deleted

7zr d

Deleting files

7zr l

Verifying file deletion

Filed Under : LINUX HOWTO, OPEN SOURCE TOOLS

Free Linux Ebook to Download

Comments (2)

Trackback URL | Comments RSS Feed

  1. Yus Uf says:

    In the beginning, tar was an archiver, NOT a compressor. This behaviour is still exists in AIX. You can compress an archive using tar with additional option "-j" for bzip2 or "-z" for gzip.

Leave a Reply

Commenting Policy:
Promotion of your products ? Comment gets deleted.
All comments are subject to moderation.