Skip to content

Painless compression and decompression in the terminal

License

Notifications You must be signed in to change notification settings

GabrielSimonetto/ouch

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 a.zip

# Decompress multiple files
ouch 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 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

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

About

Painless compression and decompression in the terminal

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 96.1%
  • Shell 3.9%