15+ tar command usages with examples – Unix/Linux

By -

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.

[root@localhost 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:

[root@localhost TAR]# tar -cf file.tar file1.txt file2.txt
[root@localhost 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:

[root@localhost TAR]# tar -tf file.tar 
file1.txt
file2.txt

How to extract all files from archive.tar ?

tar -xf archive.tar

Example:

[root@localhost TAR]# tar -xf file.tar 
[root@localhost 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:

[root@localhost 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:

[root@localhost TAR]# tar -tf file.tar 
file2.txt
file3.txt
file1.txt
[root@localhost 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----
[root@localhost TAR]# tar -dvf file.tar file1.txt file2.txt 
file2.txt
file1.txt
[root@localhost 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

[root@localhost TAR]# tar --delete -f  file.tar  file1.txt 
[root@localhost 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

[root@localhost TAR]# tar -rf file.tar file3.txt
[root@localhost 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

[root@localhost TAR]# tar -cf archive.tar file1.txt file3.txt 

Append tar file to an archive.

[root@localhost TAR]# tar -Af file.tar archive.tar
[root@localhost 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:

[root@localhost TAR]# tar -tf file.tar 
file1.txt
file2.txt
[root@localhost TAR]# tar -uf file.tar file1.txt file3.txt file2.txt
[root@localhost 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:

[root@localhost TAR]# tar -xvf file.tar -C /root/TAR2
file1.txt
file2.txt
[root@localhost TAR]# cd -
/root/TAR2
[root@localhost 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:

[root@localhost TAR]# tar -jcf file.tar.bz file2.txt file1.txt
[root@localhost 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:

[root@localhost TAR]# tar -zcf file.tar.gz file2.txt file1.txt
[root@localhost 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

Myself Arunlal, working as an administrator for both Linux and Windows servers. I am interested in Blogging, learning new things and technologies etc. I'm posting some interesting technical stuffs from my working experience. Let me know your suggestions as comment.

1 Comment to 15+ tar command usages with examples – Unix/Linux

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current ye@r *