Extract tar.gz File

last updated in Categories , ,

I have downloaded a file called foo.tar.gz from the Internets. How do I extract tar.gz file under Linux / UNIX like operating systems using command line options?

A tarball (tar.gz file) is nothing but compressed tar archive.

The tar program provides the ability to create tar archives, as well as various other kinds of manipulation. For example, you can use Tar on previously created archives to extract files, to store additional files, or to update or list files which were already stored.

Initially, tar archives were used to store files conveniently on magnetic tape. The name “Tar” comes from this use; it stands for tape archiver. Despite the utility’s name, Tar can direct its output to available devices, files, or other programs (using pipes), it can even access remote devices or files (as archives). The tar command is available on Linux (CentOS/RHEL/Fedora/Debian/Ubuntu and all other distros), BSD (OpenBSD/NetBSD/FreeBSD), Apple OS X, HP-UX, AIX, and other Unix like operating systems.


The syntax is as follows:

tar options file.tar.gz
tar options file.tar.gz pattern
tar -xf file.tar.gz
tar -xvf file.tar.gz
tar -zxvf file.tar.gz
tar -zxvf file.tar.gz file1 file2 dir1 dir2

Extract tr.gz. file

To extract one or more members from an archive, enter:
$ tar -zxvf {file.tar.gz}
If your tarball name is backup.tar.gz, enter the following at a shell prompt to extract files:
$ tar -zxvf backup.tar.gz
To extract resume.doc file from backup.tar.gz tarball, enter:
$ tar -zxvf backup.tar.gz resume.doc

  1. -z : Work on gzip compression automatically when reading archives.
  2. -x : Extract archives.
  3. -v : Produce verbose output i.e. display progress and extracted file list on screen.
  4. -f : Read the archive from the archive to the specified file. In this example, read backups.tar.gz archive.
  5. -t : List the files in the archive.

Extracting an entire archive

To extract an entire archive, specify the archive file name only, with no individual file names as arguments.
tar -zxvf backup.tar.gz

List files in archive

To view a detailed table of contents (list of file), enter::
$ tar -tvf backup.tar.gz

See also
  • Man pages: tar(1)

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

19 comment

  1. when I am trying to tar a .tar.gz file using the all kind of command as ststed above it is showing that 1) tar: child returned status 1
    2) tar: errors exit delayed from previous error
    using centos 64 bit OS

  2. I want to extract sysbench- that i wget from SourceForge but got this error. Please help.

    [root@cdn temp]# tar -zxvf sysbench-
    tar: This does not look like a tar archive
    tar: Skipping to next header
    tar: Exiting with failure status due to previous errors

    1. I have the same problem when trying to extract flashplayer 11 plugin, help please.. :'(

      tar: install_flash_player_11_linux.x86_64.tar.gz: Cannot open: No such file or directory
      tar: Error is not recoverable: exiting now
      tar: Child returned status 2
      tar: Exiting with failure status due to previous errors

  3. its normal error.
    its due to your file is another location and you try to extract from other location.
    please first check file is exist in same directory or not?

    ajay gadhavana

  4. Also a great tip i learned for extracting.
    Sometimes you just need to extract the contents into the same directory.
    Most tared up files have a container folder.
    To simply overide that just type “–strip 1” at the end of the command.

    $ tar -zxvf backup.tar.gz --strip 1

    You Welcome!

  5. This is something I feel is missed on every explanation of using tar with compression.

    The options must be done in order. for example to create a compressed tarball using xz, you would do -Jcvf or gz would be -jcvf. j or J is the compression. c means create, v is verbose, which you don’t need to do, and f is, name it the following name.

    HOWEVER, if you did, -xvfj, it would create an error, because the options must be in order. The first letter has to be the type of compression. The next letter is what to do, as in compress or extract. Followed by misc options which can consist of verbose etc. and the last letter should be f if you are naming the file something.

    Many programs do not care what order you put options in, but tar does.

    So, compression type : what to do : misc options : how are you handling it, like name it this file.

    Still, have a question? Get help on our forum!