Universal command line unarchiving tool on a Mac
The Unarchiver has two command line utilities since version 2.5 according to the website:
Supported file formats include Zip, Tar-GZip, Tar-BZip2, RAR, 7-zip, LhA, StuffIt and many other more and less obscure formats. [..] If you have a compressed file that The Unarchiver does not open, please post a bug on the bug tracker, and include the file in question, and I will look into whether it is possible to add support for it!
[..]
There are now two command-line utilities available,
unar
andlsar
, which can be used to unpack and list archives, respectively. They are still in development and not really feature-complete, but they should work. These are available as precompiled binaries for both OS X and Windows on the download page, and can also be built on Linux.
To download the command line tools (not included in the regular The Unarchiver download!), go to the project's google code downloads page and select unar0.2.zip
(works as of September 20, 2010).
You can use brew install unar
or brew install atool
and then:
unar archive.gz
# or
atool -x archive.gz
If you happen to use Homebrew, you can install atool
and extract many archive types like so:
brew install atool
atool -x archive.anything
Assuming the corresponding external programs are available on your system, it can handle:
.tar.gz
, .tgz
, .tar.bz
, .tbz
, .tar.bz2
, .tbz2
, .tar.Z
, .tZ
, .tar.lzo
, .tzo
, .tar.lz
, .tlz
, .tar.xz
, .txz
, .tar.7z
, .t7z
, .tar
, .zip
, .jar
, .war
, .rar
, .lha
, .lzh
, .7z
, .alz
, .ace
, .a
, .arj
, .arc
, .rpm
, .deb
, .cab
, .gz
, .bz
, .bz2
, .gz
, .bz
, .bz2
, .Z
, .lzma
, .lzo
, .lz
, .xz
, .rz
, .lrz
, .7z
, .cpio
atool
is a script for managing file archives of various types (tar, tar+gzip, zip etc).The main command is
aunpack
which extracts files from an archive. Did you ever extract files from an archive, not checking whether the files were located in a subdirectory or in the top directory of the archive, resulting in files scattered all over the place?aunpack
overcomes this problem by first extracting to a new directory. If there was only a single file in the archive, that file is moved to the original directory.aunpack
also prevents local files from being overwritten by mistake.The other commands provided are
apack
(to create archives),als
(to list files in archives), andacat
(to extract files to standard out). Asatool
invokes external programs to handle the archives, not all commands may be supported for a certain type of archives.
atool
identifies archives by their file extension. Sometimes this is not possible - for instance rar archives usually have varying numeric file extensions. In those cases whenatool
can't identify the format,file
is used instead. (atool
can be configured not to use file.)
Try 7-Zip. In addition to its own native format (.7z) it can handle the following extensions: ZIP, gzip, bzip2, tar and, in betas for version 9, xz. It can also decompress (only) in the following formats: ARJ, CAB, CHM, cpio, DEB, DMG, HFS, ISO, LZH, LZMA, MSI, NSIS, RAR, RPM, UDF, WIM, XAR and Z.
A Windows command line version 7za.exe
is included. For other platforms, a POSIX version named p7zip
is available from the P7ZIP SourceForge project, and some of those ports are also linked from 7-Zip's download page. Unfortunately, the Mac link seems broken, so for OS X, either build it yourself or use MacPorts.
EDIT: For non-Windows versions go to the Downloads page. There you can find the source as well as pre-compiled binaries.