Saturday , 25 June 2016
It's new!!!

15+ tar command usages with examples – Unix/Linux

This is one of the most commonly using Linux command. This is very similar to the ZIP concept in Windows platform, what we are using commonly to save multiple file together.

The ‘tar’ saves many files together into a single tape or disk archive, and can restore individual files from the archive. It is very useful in such conditions like when we want to send a lot of files via email, transfer files from one machine to another etc. Here I am explaining some common and useful switches and it usages with examples. Also, by using TAR we can compress and decompress files and make a single file archive to transfer file. In Linux almost all packages are available in internet in TAR file format. You need to download the file from internet using WGET command and then need to extract it for installation. You can use the switch “xf” to extract a tar file.

In this post I am listing some commonly using TAR command switches with examples.

Syntax:

# tar [options] file.tar file1 file2 .. .. ..

Where file.tar is the tar file and file1 and file2 .. .. are the files to make a tar.

I have created two files file1.txt and file2.txt for making examples.

[[email protected] TAR]# ll
total 8
-rw-r--r--. 1 root root 2770 Feb  7 22:37 file1.txt
-rw-r--r--. 1 root root  887 Feb  7 22:38 file2.txt

Common usages of tar command:

How to create a tar file ?

Syntax:

# tar -cf archive.tar files .. ..

Example:

[[email protected] TAR]# tar -cf file.tar file1.txt file2.txt
[[email protected] TAR]# ll file.tar 
-rw-r--r--. 1 root root 10240 Feb  7 22:42 file.tar

How to list all files in an archive.tar ?

# tar -tf archive.tar

Example:

[[email protected] TAR]# tar -tf file.tar 
file1.txt
file2.txt

How to extract all files from archive.tar ?

tar -xf archive.tar

Example:

[[email protected] TAR]# tar -xf file.tar 
[[email protected] TAR]# ll
total 20
-rw-r--r--. 1 root root  2770 Feb  7 22:37 file1.txt
-rw-r--r--. 1 root root   887 Feb  7 22:38 file2.txt
-rw-r--r--. 1 root root 10240 Feb  7 22:42 file.tar

Switches with example:

1, -v, –verbose
verbosely list files processed:
Syntax:
List all files in an archive.tar verbosely:

tar -tvf archive.tar

Example:

[[email protected] TAR]# tar -tvf file.tar 
-rw-r--r-- root/root      2770 2014-02-07 22:37 file1.txt
-rw-r--r-- root/root       887 2014-02-07 22:38 file2.txt

2, -c, –create
create a new archive.

3, -t, –list
list the contents of an archive.

4, -x, –extract, –get
extract files from an archive.

5, -d, –diff, –compare
find differences between archive and file system.
Example:

[[email protected] TAR]# tar -tf file.tar 
file2.txt
file3.txt
file1.txt
[[email protected] TAR]# tar -df file.tar file1.txt file2.txt file4.txt
tar: file4.txt: Not found in archive
tar: Exiting with failure status due to previous errors
----Verbosely----
[[email protected] TAR]# tar -dvf file.tar file1.txt file2.txt 
file2.txt
file1.txt
[[email protected] TAR]# tar -dvf file.tar file1.txt file2.txt file6.txt
file2.txt
file1.txt
tar: file6.txt: Not found in archive
tar: Exiting with failure status due to previous errors

6, –delete
delete from the archive (not on mag tapes!)
Example:
Delete file1.txt from the archive file.tar

[[email protected] TAR]# tar --delete -f  file.tar  file1.txt 
[[email protected] TAR]# tar -tf file.tar
file2.txt

7, -r, –append
Append files to the end of an archive.
Example:
Append file3.txt to file.tar

[[email protected] TAR]# tar -rf file.tar file3.txt
[[email protected] TAR]# tar -tf file.tar
file1.txt
file2.txt
file3.txt

8, -A, –catenate, –concatenate
Append tar files to an archive.
Create another tar file

[[email protected] TAR]# tar -cf archive.tar file1.txt file3.txt 

Append tar file to an archive.

[[email protected] TAR]# tar -Af file.tar archive.tar
[[email protected] TAR]# tar -tf file.tar 
file2.txt
file3.txt
file1.txt
file1.txt
file3.txt

9, –test-label
test the archive volume label and exit.

10, -u, –update
Only append files newer than copy in archive.
Example:

[[email protected] TAR]# tar -tf file.tar 
file1.txt
file2.txt
[[email protected] TAR]# tar -uf file.tar file1.txt file3.txt file2.txt
[[email protected] TAR]# tar -tf file.tar 
file1.txt
file2.txt
file3.txt

11, -C, –directory=DIR
Change to directory DIR.

Example:
Extract files to another directory:

[[email protected] TAR]# tar -xvf file.tar -C /root/TAR2
file1.txt
file2.txt
[[email protected] TAR]# cd -
/root/TAR2
[[email protected] TAR2]# ll
total 28
-rw-r--r--. 1 root root 23250 Feb  7 23:11 file1.txt
-rw-r--r--. 1 root root   887 Feb  7 22:38 file2.txt

12, -p, –preserve-permissions
Extract information about file permissions (default for superuser)

Create archive with compression:

It is very helpful to make an archive of files which has comparatively large size. Commonly using compression methods are “BZIP” and “GZIP”.

Switches with examples, compression related.

13, -j, –bzip2
filter the archive through bzip2

Example:

[[email protected] TAR]# tar -jcf file.tar.bz file2.txt file1.txt
[[email protected] TAR]# ll
total 128
-rw-r--r--. 1 root root 23250 Feb  7 23:11 file1.txt
-rw-r--r--. 1 root root   887 Feb  7 22:38 file2.txt
-rw-r--r--. 1 root root 30720 Feb  7 23:30 file.tar
-rw-r--r--. 1 root root  1797 Feb  7 23:42 file.tar.bz

See, the tar file size is decreased to 1797 with BZIP

14, -z, –gzip
filter the archive through gzip

Example:

[[email protected] TAR]# tar -zcf file.tar.gz file2.txt file1.txt
[[email protected] TAR]# ll
total 132
-rw-r--r--. 1 root root 23250 Feb  7 23:11 file1.txt
-rw-r--r--. 1 root root   887 Feb  7 22:38 file2.txt
-rw-r--r--. 1 root root 30720 Feb  7 23:30 file.tar
-rw-r--r--. 1 root root  1797 Feb  7 23:42 file.tar.bz
-rw-r--r--. 1 root root  1673 Feb  7 23:45 file.tar.gz

That’s it!! 🙂

Other useful commands:
groupdel, groupmems, groupmod, useradd , usermod , chgrp, chown, ls, head, tail, top, ps, find, crontab, ftp commands

One comment

Leave a Reply

Your email address will not be published. Required fields are marked *

*