Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I received a huge .tar.gz file from a client that contains about 800 mb of image files (when uncompressed.) Our hosting company's ftp is seriously slow, so extracting all the files locally and sending them up via ftp isn't practical. I was able to ftp the .tar.gz file to our hosting site, but when I ssh into my directory and try using unzip, it gives me this error:

[esthers@clients locations]$ unzip community_images.tar.gz
Archive:  community_images.tar.gz
  End-of-central-directory signature not found.  Either this file is not a zipfile, or it constitutes one disk of a multi-part archive.  In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive.
note:  community_images.tar.gz may be a plain executable, not an archive
unzip:  cannot find zipfile directory in one of community_images.tar.gz or, and cannot find community_images.tar.gz.ZIP, period.

What command do I need to use to extract all the files in a .tar.gz file?

share|improve this question
up vote 336 down vote accepted

Type man tar for more information, but this command should do the trick:

tar -xvzf community_images.tar.gz

To explain a little further, tar collected all the files into one package, community_images.tar. The gzip program applied compression, hence the gz extension. So the command does a couple things.

  • f: this must be the last flag of the command, and the tar file must be immediately after. It tells tar the name and path of the compressed file.
  • z: tells tar to decompress the archive using gzip
  • x: tar can collect files or extract them. x does the latter.
  • v: makes tar talk a lot. Verbose output shows you all the files being extracted.
share|improve this answer
Thanks! That's what I needed. – EmmyS Feb 8 '11 at 23:00
@Shiki I saw your proposed edit. I don't think it's an appropriate change, I prefer the way I explained this tool. I do think your tar -xf suggestion would make a great additional answer. – djeikyb Dec 2 '13 at 18:05
This is one of the better explanations out of the millions of similarly phrased questions – JohnMerlino Oct 5 '14 at 14:48
On Android Marshmallow this does not work and gives u0_a83@flounder:/ $ tar -xvzf /sdcard/Download/ubuntu* tar: exec gunzip: No such file or directory tar: read error – Suici Doga Mar 6 at 6:38
My file is a tar.gz file.So do I have to root and install GNU ZIP – Suici Doga Mar 6 at 11:26

At some point tar was upgraded to auto-decompress. All you need now is:

tar xf community_images.tar.gz

The same explanation applies:

  • f: this must be the last flag of the command, and the tar file must be immediately after. It tells tar the name and path of the compressed file.
  • x: extract the files.

Note the lack of hyphen for the command flags. This is because most versions of tar allow both gnu and bsd style options (simplistically, gnu requires a hyphen, bsd doesn't).

share|improve this answer
Is there any documentation on this? I've been searching all over for a reference to this, I never use the -z flag and everything gets gzipped so I've been worried if I haven't been compressing my tarballs at all, haha. Thanks. – neurosnap Jul 10 '15 at 4:14
@neurosnap see the gnu manual and of the bsd's manual – djeikyb Jul 12 '15 at 20:49
Probably would have been better to edit your original answer. – Seth Jun 9 at 18:04
@Seth it feels/felt distinct enough to be a separate answer, especially in context of the destructive edit that provoked it. I'll rethink it after work though, might be a simpler way to merge than I originally thought. – djeikyb Jun 9 at 18:23

If you want the files to be extracted to a particular destination you can add -C /destination/path/


tar xf community_images.tar.gz -C /home/emmys/Pictures/Community/

You can easily memorize it if you consider telling tar to e X tract a F ile

enter image description here

Note: Make sure you make the directory first (mkdir ~/Pictures/Community).

share|improve this answer
Thanks, it helped me solve this problem – Brady Zhu Oct 9 '14 at 10:05
don't forget C for "change directory"! also, i feel it's better not to mix hyphen and non-hyphen options (especially confusing when using ps). – djeikyb Nov 5 '14 at 23:45
+1 for the console animation – Martin Meeser Nov 23 '15 at 14:48

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.