15+ tar command usages with examples – Unix/Linux

tar command in 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.

[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

Creates 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

Deletes 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

Tests 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

10+ useful grep command options with examples – Unix/Linux

The grep command is one of the most widely using Linux command. The name GREP is the abbreviation of Global Regular Expression Pattern. Yep! it’s pattern search tool under Unix.

By-default the grep command lists all matching lines from the input file or files. A lot of switches are available to lists or find matching information from a file using the command GREP. 

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

Filters 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

Does 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

Post navigation

Arunlal A

Senior System Developer at Zeta. Linux lover. Traveller. Let's connect! Whether you're a seasoned DevOps pro or just starting your journey, I'm always eager to engage with like-minded individuals. Follow my blog for regular updates, connect on social media, and let's embark on this DevOps adventure together! Happy coding and deploying!

4 thoughts on “15+ tar command usages with examples – Unix/Linux

Leave a Reply

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