Patool – A Portable Command Line Archive File Manager

Patool command line archive file manager

As you may know, there are literally multitude of archiving tools to manage dozens of archiving file formats. Each tool has its own commands and parameters. If your system has GUI installed, there won’t be a problem to manage archive files. Just right click the zip files and click extract or extract files. Likewise, right click on any folder or file and choose Compress to compress them. On the contrary, if you have a system with only CLI,  you will have to memorize all commands and parameters for managing different archive format files. This can be little difficult and unnecessary too. Meet Patool, a portable command line archive file manager that supports almost all archive formats.

The list of supported archive file formats are given below.

  • 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)
  • and many.

In a nutshell, we don’t need to install numerous archive managers. Patool is simply enough to do all sort of archiving stuffs.

Install Patool Command line Archive file manager

Patool can be installed easily using python-pip, a package manager for installing softwares written using Python.

Let us install python-pip first.

On Arch Linux and derivatives:

sudo pacman -S python-pip

On Debian, Ubuntu, Linux Mint:

sudo apt-get install python-pip

On RHEL, CentOS, Fedora:

sudo yum install python-pip

Or,

sudo dnf install python-pip

On SUSE/openSUSE:

sudo zypper in python-pip

Once pip installed, run the following command to install Patool archive manager.

sudo pip install patool

Sample output:

Collecting patool
 Downloading patool-1.12-py2.py3-none-any.whl (77kB)
 100% |████████████████████████████████| 81kB 41kB/s 
Installing collected packages: patool
Successfully installed patool-1.12

Usage

Patool usage is fairly simple and straight forward. Let me show you how to use it with some examples.

To extract a compressed file, run:

patool extract test1.zip

Sample output:

patool: Extracting test1.zip ...
patool: ... test1.zip extracted to `Inter.txt'.

Also, you can extract multiple and different archive format files in one go.

patool extract test1.zip test2.rar

Or,

patool --verbose test3 test4.tar.gz

Here, –verbose parameter will display more info about what patool actually does, and display the output of helper applications.

You can view the contents of an archive file without having to extract it.

patool list linux-4.9.tar.xz

This command lists all files of linux-4.9.tar.xz tarball.

To create an archive, just run:

patool create myfiles.zip *.txt

The above command will create a zip file of all txt files in the current directory.

Sample output:

patool: Creating myfiles.zip ...
patool: ... myfiles.zip created.

To create archive of a file and folder in the current directory, run:

patool --verbose create myarchive.zip file1.txt directory1/

Sample output:

patool: Creating myarchive.zip ...
patool: ... myarchive.zip created.

We can also view the differences between two archives like below.

 

patool diff test1-0.6.1.gz test2-0.6.1.bz2

Sample output:

patool: Comparing test1-0.6.1.gz with test2-0.6.1.bz2 ...
patool: running /usr/bin/diff -urN /tmp/Unpack_WdttOc /tmp/Unpack_8ZDyPK
patool: ... no differences found.

Also, we can repackage an archive to a different format as below:

patool repack test1.tar.gz test1.tar.bz2

Sample output:

patool: running '/usr/bin/gzip' -c -d -- 'test1.tar.gz' > '/tmp/Unpack_syZlDc/test1'
patool: with shell='True'
patool: ... test1.tar.gz extracted to `/tmp/Unpack_syZlDc'.
patool: ... repacking successful.

Not happy about the compression size? Well, you can recompress an archive to a smaller size.

patool recompress images.zip

Sample output:

patool: Recompressing test1.zip ...
patool: ... test1.zip extracted to `/tmp/Unpack_tiX7Om'.
patool: ... recompressed file is now 35B smaller.

To list all supported archive formats, run:

patool formats

To view all available commands along with their brief explanations, run:

patool -h

For more details, check the official website given at the end of this article or refer the man pages.

man patool

Also read: dtrx – An universal archive extraction tool for Linux


That’s all for now. Give it a try. You’ll like it. Hope this helps. Have you already used this? Great! Let us know your experience about it. I will be back soon with another interesting article. Until then, stay tuned with OSTechNix, and don’t forget to share this article on your social networks.

Cheers!

Resource:

Thanks for stopping by!

How can I benefit from this blog:

Have a Good day!!

You may also like...