≡ Menu

List the contents of a tar or tar.gz file

How do I list the contents of a tar or tar.gz file on a Linux, OS X, and Unix-like system?

GNU/tar or BSD/tar is an archiving program designed to store and extract files from an archive file known as a tarfile. You can create a tar file or compressed tar file tar. However, sometimes you need to list the contents of tar or tar.gz file on screen before extracting all files.


To view a detailed table of contents for archive called my-data.tar.gz, use the following syntax:
tar -ztvf my-data.tar.gz
tar -tvf my-data.tar.gz
tar -tvf my-data.tar.gz 'search-patter'


Let us see some examples:

Task: List the contents of a tar file

Use the following command:
$ tar -tvf file.tar
Sample outputs:

Fig.01: List archive contents to screen

Fig.01: List archive contents to screen

Task: List the contents of a tar.gz file

Use the following command:
$ tar -ztvf file.tar.gz

Task: List the contents of a tar.bz2 file

Use the following command:
$ tar -jtvf file.tar.bz2

Task: Search for specific files

In this example, look for *.pl (all perl files) inside a detailed table of contents for archive called projects.tar.gz:
$ tar -tvf projects.tar.bz2 '*.pl'

  • t: List the contents of an archive.
  • v: Verbosely list files processed (display detailed information).
  • z: Filter the archive through gzip so that we can open compressed (decompress) .gz tar file.
  • j: Filter archive through bzip2, use to decompress .bz2 files.
  • f filename: Use archive file called filename.
Share this tutorial on:

Your support makes a big difference:
I have a small favor to ask. More people are reading the nixCraft. Many of you block advertising which is your right, and advertising revenues are not sufficient to cover my operating costs. So you can see why I need to ask for your help. The nixCraft, takes a lot of my time and hard work to produce. If you use nixCraft, who likes it, helps me with donations:
Become a Supporter →    Make a contribution via Paypal/Bitcoin →   

Don't Miss Any Linux and Unix Tips

Get nixCraft in your inbox. It's free:

{ 23 comments… add one }
  • Shashi September 2, 2008, 6:19 am

    Thanks a lot Vivek…This article is very useful for me….

  • Bolser September 15, 2008, 3:25 pm


    I don’t know why I always forget this!

    Also the ‘j’ trick is killer! I always just try to use ‘z’, and then give up when bzip won’t play. Now I just need to remember … use j in stead of z when bzip.

  • jitedar December 24, 2008, 10:37 pm

    great and thx..

  • asd January 25, 2009, 4:28 am


  • Amit Verma June 3, 2009, 10:41 am

    Rule of Thumb –
    Use ‘z’ while compressing/decompressing/listing the file with GZIP.
    Use ‘j’ while compressing/decompressing/listing the file with BZIP2.
    – with tar command.

    Amit Verma

  • Jeremy July 16, 2009, 11:16 pm

    The exact thing I was looking for, worked like a charm! :)

  • Ankur Sinha August 27, 2009, 9:57 am

    Good Work!!!
    keep it up!!!

  • Nomaun Khan September 22, 2009, 2:20 pm

    Thanks for the helpful contests

  • kiran October 23, 2009, 1:59 pm

    Thanks a lot for this post guys …:)

    Keep it up …

  • Chris Henley February 16, 2010, 9:22 pm

    thanks. I’m too lazy to read the man page.

  • ode September 8, 2010, 10:11 am

    $ tar -tvf file.tar works for all three file formats.

    $ unzip -l works for zip files

  • Stefan July 17, 2011, 3:54 pm

    Thanks it works fine however do you know if there is a faster way maybe? I have a 6GB gzip file and it takes ages to list the contents. For smaller files it is ok but for big files it is a pain.

  • Fixticks July 21, 2011, 9:25 pm

    man pages are too long, thanks vivek.
    @Stefan, u cud try

    tar -ztvf file.tar.gz > files.txt

    now i assume u may be looking for a certain file in that big gzip, so

    cat files.txt | grep certain_file_name_or_part_of_it

    and u can now check for multiple names without the initial wait of listing the big gz’s files.
    I know this coz i have just done it thanks to reading this blog.thx again Vivek.

  • Liban November 25, 2011, 12:16 am

    I’m trying to find and display, but this isn’t working for me..

    find -name “.gz” | tar -tvf {};

    • brisohn May 1, 2012, 8:09 am

      try this:
      find -name “*.gz” -exec tar -tvf {} \;

  • Moron March 12, 2012, 9:31 pm

    I am getting following error while looking for content of the tar file

    $ tar -ztvf
    tar: illegal option — z

    Usage: tar -{c|r|t|u|x} [ -BdDEFhilmopRsUvw ] [ -Number ] [ -f TarFile ]
    [ -b Blocks ] [ -S [ Feet ] | [ Feet@Density ] | [ Blocksb ] ]
    [ -L InputList ] [-X ExcludeFile] [ -N Blocks ] [ -C Directory ] File …
    Usage: tar {c|r|t|u|x} [ bBdDEfFhilLXmNopRsSUvw[0-9] ]
    [ Blocks ] [ TarFile ] [ InputList ] [ ExcludeFile ]
    [ [ Feet ] | [ Feet@Density ] | [ Blocksb ] ] [-C Directory ] File …

    • Piyush January 16, 2013, 1:40 pm

      -z option option is not working on AIX

      • Vivek Gite March 7, 2016, 1:28 pm

        Try following on AIX unix:
        gzip -d < file.tar.gz | tar xvf -
        OR use following two commands:
        gunzip file.tar.gz
        tar -xvf file.tar

        Read tar and gunzip man pages for more info on your AIX system.

  • Suresh July 17, 2012, 7:06 am

    Sequence is important ! tar -ztfv will fail with error ‘v’ not found where as tar -ztvf works – since you need to specify the filename after the f option. Cheers!

  • Sunny Arora September 11, 2014, 7:03 am

    I want to list the files out of file.tar.bz2 and grep a pattern (say all .c files).
    But executing the command ” tar -tjvf fiel.tar.bz2 | grep .c ” doesn’t give the desired output.
    Please suggest

    • mateen March 7, 2016, 11:09 am

      tar -tjvf fiel.tar.bz2 | grep *.c would do

  • Ryan Claffey February 24, 2016, 4:14 pm

    You dont need to put the ‘-‘ symbol it accepts tar tvf /root/myarchive.tar.gz.

    Less is always more!

Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">

   Tagged with: , , , , , , , , , , , , ,