PATOOL(1)               General Commands Manual               PATOOL(1)

NAME
       patool - portable archive file manager for the command line

SYNOPSIS
        patool         [global-options]         (list|test|extract|cre‐
       ate|diff|search|repack|formats|version) [command-options]  [com‐
       mand-arguments]...

DESCRIPTION
       Various  archive  formats  can  be  created,  extracted, tested,
       listed, searched, repacked 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), BZIP3 (.bz3), CAB (.cab),  CHM  (.chm),  COMPRESS  (.Z),
       CPIO  (.cpio),  DEB  (.deb),  DMS  (.dms), FLAC (.flac), FREEARC
       (.arc), 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), UDF (.udf),  XZ
       (.xz),  ZIP (.zip, .jar, .cbz), ZOO (.zoo), ZPAQ (.zpaq) and ZS‐
       TANDARD (.zst) archive formats.
       It relies on helper applications to handle those archive formats
       (for example xz for XZ (.xz) archives).

       The archive formats BZIP2, GZIP, TAR, XZ and ZIP  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

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.

       -q, --quiet
              Work quietly, exept  the  commands  formats  and  version
              still  print  their output. Conflicts with --verbose.  If
              given twice suppresses error  output  from  archive  com‐
              mands.

       --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 archive programs that allow  prevent‐
              ing user prompts. Currently those are arj, 7z and rar.

COMMANDS
       The following rules apply to all commands:

       •   Existing files are never overwritten.

       •   The original archive will never be removed.

       •   Files  outside  the  output directory will never be created.
           This relies on archive program options to prevent  unpacking
           of   files   with  an  absolute  path  name  (e.g.  --no-ab‐
           solute-filenames for cpio(1)).

       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 ex‐
              tract 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.

       If  extracting  an  archive has an error in the middle of opera‐
       tion, patool does not remove the temporary extraction  directory
       This directory whose name starts with Unpack_ has all files that
       have been extracted before the error.

   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 sup‐
       port 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.

   search
       patool search <pattern> <archive>

       Unpack the given archive in a temporary directory and search  in
       archive  contents  for  given pattern using the grep(1) program.
       The grep options used are -r; additional options can be supplied
       with the GREP_OPTIONS environment variable.

   repack
       patool repack <archive> <archive_new>

       Extract and re-compress archive to a different format.  The tar‐
       get archive format  is  determined  by  the  file  extension  of
       archive_new.

   formats
       patool formats

       Show  all  supported archive formats (i.e. which helper applica‐
       tions are available).

   version
       patool version

       Print version information.

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 de‐
       fined 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>

COPYRIGHT
       Copyright © 2010-2025 Bastian Kleineidam

patool                         June 2025                      PATOOL(1)
