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.
11 comments on “7-zip File Archiving Utility”
As my rusty memory recalls, Phil Katz (the “PK” in PKZip) originally crafted a clone of the SEA ARC compression utility called PKARC. SEA sued Phil, so he created his own compression standard – ZIP – in 1989. At the time the computer bulletin board systems were awash with different compression types – ZIP was fast, efficient, and free. BBS operators began to use it in droves. I’ll have to give 7-Zip a try!
ARC is still around. Howard Chu released it on a GPL in 2003. It can be found in a lonely area of sourceforge.net.
I was always amazed about how quick pkzip replaced SEA ARC as the standard.
Other nice things about 7-zip: The GUI is very simple and easy. No wizards, everything is in a single window. It can create self-extracting archives. Better yet, it can create encrypted, compressed, password protected, self-extracting archives.
I’m tring 7-zip in command line mode, do you know if it is possible to make 7-zip file with password?
I have try the option -p butte this will ask me a psw, and after compression if i try to use winrar to open 7zip file, i can and don’t ask me for any password.
I need to use commandline argument to extract a password protected zip file during unattended scheduled operation.
I see how to create an archive with password from commandline. But I have not found how to extract from commandline a password protected file except for attended use, when a human is there to provide a password in response to a prompt. Can anyone help?
I found it … same as setting, just use -pPassword
7za e archive.zip -pPasswordHere
Dave: Your memory isn’t that rusty. SEA sued Phil Katz for infringing on the ARC format. Katz then created the ZIP format and placed it in the public domain. The BB community was so incensed at SEA that they boycotted them and moved to PKZIP or another one of the ZIP tools.
Just wanted to thank you for the recommendation to use 7 Zip to encrypt when sending files. Works great! Thank you! Btw, I encrypted with .zip as oppose to .7z format because I figured the recipient wouldn’t need special software … should I have stuck with .7z?
Compressing to .zip instead of.7z is a good idea for the reasons you expressed. In fact, now Windows can decompress .zip files without any additional software.
As a note, when you encrypt in 7z format, you can also encrypt the list of files.
Problem with 7 Zip is that there do not appear to be any user instructions! Fine for those who have a better understanding of these things, but some of us need a little more help.