There are two main compression utilities used in GNU/Linux. It's normal to first “tar” a bunch of files (using the tar program of course) and then compress them with either bzip2 or gzip. Of course either of these tools could be used without tar, although they are not designed to work on more than one file (they use the UNIX tools philosophy, let tar group the files, they will do the compression...this simplifies their program). It's normal to use tar and then use these tools on them, or use tar with the correct options to use these compression programs.
zipgrep pattern zip_file.zip
Used to recover files from a damaged bzip2 archive. It simply extracts out all the working blocks as there own bzip2 archives, you can than use bzip2 -t on each file to test the integrity of them and extract the working files.
Tip: Both gzip and bzip2 supply tools to work within compressed files for example listing the files within the archive, running less on them, using grep to find files within the archive et cetera.
For gzip the commands are prefixed with z, zcat, zless, zgrep.
For bzip2 the commands are prefixed with bz, bzcat, bzless, bzgrep.