We all use gzip-ped tar achrives (.tar.gz) like mad. Sometimes, though, we need to check if the file is in the archive without extracting the whole damn thing on to the poor hard disk :)
Consider for example, the presence of the .spec file in the .tar.gz, so that you can build an RPM:
[leonid@home tmp]$ tar tzvf somefile.tar.gz | grep somefile.spec
Another need arises sometimes – to check if the archive will extract into a newly created directory or if it will mess up with the content of the current directory (some people still do it). Here is how the proper archive will look:
[leonid@home tmp]$ tar tzvf somefile.tar.gz
somefile/COPYING
somefile/README
somefile/Makefile
somefile/somefile.c
In the above example you can see, that you will extract the archive (tar xzvf somefile.tar.gz), then it will create a directory somefile and place all it’s content there. Below is the example of the bad archive which will mess up your current directory.
[leonid@home tmp]$ tar tzvf somefile.tar.gz
COPYING
README
Makefile
somefile.c
To extract this archive and be able to clean it up lately do the following:
[leonid@home tmp]$ mkdir somefile
[leonid@home tmp]$ mv somefile.tar.gz somefile/
[leonid@home tmp]$ cd somefile
[leonid@home somefile]$ tar xzvf somefile.tar.gz
That’s it.