#decompression #compression #zip #tar #gzip

bin+lib ouch

A command-line utility for easily compressing and decompressing files and directories

8 releases

0.2.0 Oct 6, 2021
0.1.6 Sep 17, 2021
0.1.5 May 27, 2021
0.1.4 Mar 29, 2021

#26 in Compression

44 downloads per month

MIT license

73KB
1.5K SLoC

Ouch!

crates.io license

ouch stands for Obvious Unified Compression Helper, and works on Linux, Mac OS and Windows.

It is a CLI tool to compress and decompress files that aims on ease of usage.

Usage

Decompressing

Run ouch and pass compressed files as arguments.

# Decompress 'a.zip'
ouch decompress a.zip

# Also works with the short version
ouch d a.zip

# Decompress multiple files
ouch decompress a.zip b.tar.gz

You can redirect the decompression results to a folder with the -o/--output flag.

# Create 'pictures' folder and decompress inside of it
ouch decompress a.zip -o pictures

Compressing

Use the compress subcommand.

Accepts multiple files and folders, the last argument shall be the output file.

# Compress four files into 'archive.zip'
ouch compress 1 2 3 4 archive.zip

# Also works with the short version
ouch c 1 2 3 4 archive.zip

# Compress folder and video into 'videos.tar.gz'
ouch compress videos/ meme.mp4 videos.tar.gz

# Compress one file using 4 compression formats
ouch compress file.txt compressed.gz.xz.bz.zst

# Compress all the files in current folder
ouch compress * files.zip

ouch checks for the extensions of the output file to decide which formats should be used.

Installation

Downloading the latest binary

Download the script with curl and run it.

curl -s https://raw.githubusercontent.com/ouch-org/ouch/master/install.sh | sh

Or with wget.

wget https://raw.githubusercontent.com/ouch-org/ouch/master/install.sh -O - | sh

The script will download the latest binary and copy it to /usr/bin.

Installing from source code

For compiling, check the wiki guide.

Supported formats

.tar .zip .bz, .bz2 .gz .xz, .lz, .lzma .zst
Decompression
Compression

Note that formats can be chained:

  • .tar.gz
  • .tar.xz
  • .tar.gz.xz
  • .tar.gz.gz.gz.gz.gz.gz.gz.gz.gz.gz.gz.gz.gz.gz.gz.gz.gz.gz.lz.lz.lz.lz.lz.lz.lz.lz.lz.lz.bz.bz.bz.bz.bz.bz.bz
  • .gz.xz
  • etc...

Contributing

ouch is 100% made out of voluntary work, any small contribution is welcome!

  • Open an issue.
  • Open a pr.
  • Share it to a friend.

Dependencies

~9MB
~174K SLoC