Linux: tar Extract Files

by on February 16, 2010 · 7 comments· LAST UPDATED February 16, 2011

in

How can I extract or uncompress a file from tar ball downloaded from the Internet under Linux using bash command prompt?

You need to use the tar command to extract files from an archive or to create an archive (also known as tarball). A tarball or an archive is nothing but a single file that contains various individual files. It also includes information which allows your to restore files to their original form by one or more extraction programs such as tar command.

Extract or Unpack a TarBall File

To unpack or extract a tar file, type:

 
tar -xvf file.tar
 

To save disk space and bandwidth over the network all files are saved using compression program such as gzip or bzip2. To extract / unpack a .tar.gz (gzip) file, enter (note -z option):

 
tar -xzvf file.tar.gz
 

To extract / unpack a .tar.bz2 (bzip2) file, enter (note -j option):

 
tar -xjvf file.tar.bz2
 

Where,

  • -x : Extract a tar ball.
  • -v : Verbose output or show progress while extracting files.
  • -f : Specify an archive or a tarball filename.
  • -j : Decompress and extract the contents of the compressed archive created by bzip2 program (tar.bz2 extension).
  • -z : Decompress and extract the contents of the compressed archive created by gzip program (tar.gz extension).

How Do I Extract A Single File Called foo.txt?

To extract a single file called foo.txt, enter:

 
tar -xvf file.tar foo.txt
tar -xzvf file.tar.gz foo.txt
tar -xjvf file.tar.bz2 foo.txt
 

You can also specify path such as etc/resolv.conf, enter:

 
tar -xvf file.tar etc/resolv.conf
tar -xzvf file.tar.gz etc/resolv.conf
tar -xjvf file.tar.bz2 etc/resolv.conf
 

How Do I Extract a Single Directory Called etc?

To extract a single directory called etc, enter:

 
tar -xvf file.tar etc
tar -xzvf file.tar.gz etc
tar -xjvf file.tar.bz2 etc
 

Sample outputs:

etc/
etc/pulse/
etc/pulse/default.pa
etc/pulse/client.conf
etc/pulse/daemon.conf
etc/pulse/system.pa
etc/xml/
etc/xml/docbook-xml.xml.old
etc/xml/xml-core.xml
etc/xml/catalog
etc/xml/catalog.old
etc/xml/docbook-xml.xml
etc/xml/rarian-compat.xml
etc/xml/sgml-data.xml
etc/xml/xml-core.xml.old
etc/xml/sgml-data.xml.old
etc/mail.rc
etc/Wireless/
etc/Wireless/RT2870STA/
etc/Wireless/RT2870STA/RT2870STA.dat
etc/logrotate.conf
etc/compizconfig/
etc/compizconfig/config
.....
...
....
etc/python/
etc/python/debian_config
etc/ConsoleKit/
etc/ConsoleKit/seats.d/
etc/ConsoleKit/seats.d/00-primary.seat
etc/ConsoleKit/run-session.d/
etc/ConsoleKit/run-seat.d/
etc/opt/
TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 7 comments… read them below or add one }

1 Scooter March 26, 2013 at 5:45 am

Great guide, thanks!

Reply

2 Reedyseth April 3, 2013 at 11:25 pm

So far this is the best guide that I have found to unpack Tars files, thanks for posting it.

Reply

3 Nelson Moisés Paulo April 4, 2013 at 10:59 am

The commands worked fine. Thanks a lot for the explanation.

Muduv@
Maputo-Mozambique

Reply

4 Steve May 9, 2013 at 3:41 pm

Thanks for the info.. I dont know how many times I’ve come here to find this one simple command, but I dont seem to be able to memorize it!! This time, I THOUGHT I had it, and did:
tar -xfv file.tar
So – I had it right, except for the order of the options.. Shouldn’t this have worked? It didn’t, and I’m not clear why..

Reply

5 Vitaly May 17, 2013 at 9:44 pm

Universal version for bash https://github.com/xvoland/Extract

Reply

6 antarus May 28, 2014 at 10:06 am

Is there any issue if I extract a .tgz file using the command
tar -xvf file_name.tgz

It worked for me in my machine. Will there be any cases where it wont work?

Reply

7 MegaMauricio July 25, 2014 at 3:06 pm

Thanks you! Very useful.

Reply

Leave a Comment

Tagged as: , , , , , , , , , , , , , , , ,

Previous Faq:

Next Faq: