PATOOL(1)               General Commands Manual              PATOOL(1)

NAME
       patool - portable archive file manager

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  advan‐
       tage  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),  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  ZSTANDARD
       (.zst) archive formats.
       It  relies  on helper applications to handle those archive for‐
       mats (for example xz for XZ (.xz) archives).

       The archive formats TAR, ZIP, BZIP2 and GZIP are supported  na‐
       tively 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  on  commands formats and version,
              which still print their output.  Conflicts  with  --ver‐
              bose.   If  given twice suppresses error output from ar‐
              chive commands.

       --non-interactive
              Try to prevent any interactive user input (i.e.  prompt‐
              ing  for  passwords or for overwriting duplicate files).
              Use this option with care since overwriting files or ig‐
              noring  password prompts could lead to unintended conse‐
              quences.
              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:

       •   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-abso‐
           lute-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  ar‐
       chive  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 ar‐
       chive 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
       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.

   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 sup‐
       plied with the GREP_OPTIONS environment variable.

   repack
       patool repack <archive> <archive_new>

       Extract and re-compress archive to  a  different  format.   The
       target  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
       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>

COPYRIGHT
       Copyright © 2010-2024 Bastian Kleineidam

patool                       October 2024                    PATOOL(1)
