Unlike zip, gzip functions as a compression algorithm only.
Because of various reasons some of which hearken back to the era of tape drives, Unix uses a program named tar to archive data, which can then be compressed with a compression program like gzip, bzip2, 7zip, etc.
In order to "zip" a directory, the correct command would betar -zcvf archive.tar.gz directory/
This will tell tar to c (create) an archive from the files in directory (tar is recursive by default), compress it using the z (gzip) algorithm, store the output as a f (file) named archive.tar.gz, and v(verbosely) list all the files it adds to the archive.
To decompress and unpack the archive into the current directory you would use tar -zxvf archive.tar.gz
tar has many, many, MANY other options and uses as well; I heartily recommend reading through its manpage sometime.
tar -tf mytar.tgz -> -t option is meant to list files
First list down the archive to get the file path which you want to extract. Then run following command to extract single file
root@ns# tar -zxvf mytar.tgz folder1/folder2/myfile
http://unix.stackexchange.com/questions/93139/can-i-zip-an-entire-folder-using-gzip
http://stackoverflow.com/questions/12331633/how-to-gzip-all-files-in-all-sub-directories-into-one-compressed-file-in-bash
http://unix.stackexchange.com/questions/61461/how-to-extract-specific-files-from-tar-gz