patool - Man Page

portable archive file manager

Examples (TL;DR)

Synopsis

patool [global-options] (list|test|extract|create|diff|search|repack|recompressfP|formats) [command-options] <command-arguments>...

Description

Various archive formats can be created, extracted, tested, listed, searched, repacked, recompressed and compared by patool. The advantage of patool is its simplicity in handling archive files without having to remember a myriad of programs and options.

The archive format is determined by the file(1) program and as a fallback by the archive file extension.

patool supports 7z (.7z, .cb7), ACE (.ace, .cba), ADF (.adf), ALZIP (.alz), APE (.ape), AR (.a), ARC (.arc), ARJ (.arj), BZIP2 (.bz2), CAB (.cab), COMPRESS (.Z), CPIO (.cpio), DEB (.deb), DMS (.dms), FLAC (.flac), GZIP (.gz), ISO (.iso), LRZIP (.lrz), LZH (.lha, .lzh), LZIP (.lz), LZMA (.lzma), LZOP (.lzo), RPM (.rpm), RAR (.rar, .cbr), RZIP (.rz), SHN (.shn), TAR (.tar, .cbt), XZ (.xz), ZIP (.zip, .jar, .cbz), ZOO (.zoo), ZPAQ (.zpaq) and ZSTANDARD (.zst) archive formats.
It relies on helper applications to handle those archive formats (for example bzip2 for BZIP2 archives).

The archive formats TAR, ZIP, BZIP2 and GZIP are supported natively and do not require helper applications to be installed.

Examples

 patool extract archive.zip otherarchive.rar
 patool --verbose test dist.tar.gz
 patool list package.deb
 patool --verbose create myfiles.zip file1.txt dir/
 patool diff release1.0.tar.xz release2.0.zip
 patool search "def urlopen" python-3.3.tar.gz
 patool repack linux-2.6.33.tar.gz linux-2.6.33.tar.bz2
 patool recompress images.zip

Global Options

-v,  --verbose

Display more info about what patool does, and display the output of helper applications. Can be given multiple times to increase the output even more.

--non-interactive

Try to prevent any interactive user input (i.e. prompting for passwords or for overwriting duplicate files). Use this option with care since overwriting files or ignoring password prompts could lead to unintended consequences.
This only works for programs that allow preventing user prompts. Currently those are arj, 7z and rar.

Commands

The following rules apply to all commands:

The following commands are available.

extract

patool extract [--outdir directory] <archive>...

Extract files from given archives. The original archives will never be removed and are left as is.

--outdir directory

Extract to the given output directory. Default is to extract to the current working directory.

If the archive contains exactly one file or directory, the archive contents are extracted directly to the output directory. Else the files are extracted in a newly created subdirectory of the output directory. The new directory is named after the archive filename without the extension.
This prevents cluttering the output directory with a lot of files from the extracted archive.

All extracted files are ensured that they are readable by the current user.

list

patool list <archive>...

List files in archives.

create

patool create <archive> <file-or-directory>...

Create an archive from given files. All of the given files to add to the archive must be readable by the current user. The format of the archive to create is determined by the archive file extension. If the archive program has options to maximize file compression, patool uses those options.

test

patool test <archive>...

Test the given archives. If the helper application does not support testing, the archive contents are listed instead.

diff

patool diff <archive1> <archive2>

Show differences between two archives with the diff(1) program. The diff options used are -urN.

repack

patool repack <archive> <archive_new>

Repackage archive to a different format. The target archive format is determined by the file extension of archive_new.

recompress

patool recompress <archive>

Recompress archive to a smaller file size. If the resulting file is not smaller, the archive is left unchanged.

formats

patool formats

Show all supported archive formats (i.e. which helper applications are available).

Help Option

Specifying the help option displays help for patool itself, or a command.
For example:
 patool --help - display help for patool
 patool extract --help - display help for the extract command

Shell Aliases

When running under a Unix shell the following aliases can be defined to save some typing:
 alias pl='patool list'
 alias px='patool extract'
 alias pc='patool create'
 alias pd='patool diff'

Author

Bastian Kleineidam <bastian.kleineidam@web.de>

Info

July 2013