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) [command-options]  <command-ar‐
       guments>...

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), 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.

       --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>

       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>

       Repackage 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-2023 Bastian Kleineidam

patool                         July 2013                     PATOOL(1)
