Most of you are probably familiar with “ZIP” files, which are compressed archives that pack one or more files into a single file. ZIP files are often a convenient way to distribute large numbers of files and folder structures in a single container.
You’re probably also familiar with Windows somewhat cumbersome built-in support for ZIP files, as well as WinZIP, the shareware file compression utility that lets you create and extract files from ZIP formatted archives.
7-zip is a free, open-source utility roughly equivalent to WinZIP, that includes support for multiple file formats as well as a command-line interface.
I highly recommend 7-zip.
Become a Patron of Ask Leo! and go ad-free!
Some of you who’ve been around a little longer may remember the grandfather of the zip file format: PKZip. PKZip was a command-line utility for MS-DOS that, for all intents and purposes, defined the zip file format and its use. It’s because of PKZip that zip files became as ubiquitous as they are today.
However, after all this time, there are problems. Both PKZip and WinZIP have gone to shareware models – meaning that they’re not free. And neither have particularly good command line support.
7-zip is roughly equivalent to both WinZip’s graphical interface and PKZip’s command line. Open up the program within Windows and you can examine, create, and modify archive files, as you might expect.
Here’s 7-Zip examining the contents of “FileZilla.zip”, another popular free tool:
7-Zip supports a full-featured command line, which, in all honesty, is how I use it the most.
While “zip” files may be the most common among Windows users, there are actually many compressed archive formats. Another of 7-Zip’s selling points is that it can create many of them and can read and unpack many more. From 7-Zip’s home page:
- Packing / unpacking: 7z, ZIP, GZIP, BZIP2 and TAR
- Unpacking only: RAR, CAB, ISO, ARJ, LZH, CHM, Z, CPIO, RPM, DEB and NSIS
You may not recognize most of those, but when you encounter one knowing that 7-Zip handles it, it can be a very good thing. Here’s a partial list of an archive of a MovableType distribution in “.tar” format, a common Unix/Linux archive:
Note that full paths within the archive are listed. Redirect the output of the 7z command to a file, and you’ll have the archive listing in a text file:
[c:\]7z l [archive file name] >listing.txt
I do want to call out one particular archive format: 7z. As its name implies, 7z format is 7-Zip’s own compression format. You can see comparative numbers on 7-Zip’s home page, but 7z format is perhaps the most effective compression format supported. The claim is that files compressed with 7z format are significantly smaller than when using other formats.
I tend to shy away from 7z format, only because it’s unique to 7-Zip; I prefer a format on which I can use other tools should I need to. (Although, as we’ll see in a moment, I don’t foresee that need.)
7-Zip can also be better at some of the other compression formats than the original tools. That means you may often end up with smaller files even if you choose a more common compression or archival format.
The icing on the cake, for me, is the availability of “p7zip”, a compatible command line version of 7zip available for several Linux distributions as well as Mac OSX.
So before plunking down money on any of the other archive tools, I recommend giving 7-Zip a try. It’s certainly meeting all my needs, and then some.