3 [![crates.io](https://img.shields.io/crates/v/ouch.svg?style=for-the-badge&logo=rust)](https://crates.io/crates/ouch) [![license](https://img.shields.io/badge/license-MIT-blue.svg?style=for-the-badge&logo=Open-Source-Initiative&logoColor=ffffff)](https://github.com/ouch-org/ouch/blob/main/LICENSE)
5 <!-- ![ouch_image](https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcR5ilNDTFZZ-Vy_ctm2YyAe8Yk0UT7lB2hIhg&usqp=CAU) -->
7 `ouch` stands for **Obvious Unified Compression Helper**, and works on _Linux_, _Mac OS_ and _Windows_.
9 It is a CLI tool to compress and decompress files that aims on ease of usage.
12 <!-- - [Listing files](#Listing-the-elements-of-an-archive) -->
15 - [Decompressing](#decompressing)
16 - [Compressing](#compressing)
17 - [Installation](#installation)
18 - [Latest binary](#downloading-the-latest-binary)
19 - [Compiling from source](#installing-from-source-code)
20 - [Supported Formats](#supported-formats)
21 - [Contributing](#contributing)
27 Run `ouch` and pass compressed files as arguments.
33 # Decompress multiple files
37 You can redirect the decompression results to a folder with the `-o/--output` flag.
40 # Create 'pictures' folder and decompress inside of it
41 ouch a.zip -o pictures
46 Use the `compress` subcommand.
48 Accepts multiple files and folders, the **last** argument shall be the **output file**.
51 # Compress four files into 'archive.zip'
52 ouch compress 1 2 3 4 archive.zip
54 # Compress folder and video into 'videos.tar.gz'
55 ouch compress videos/ meme.mp4 videos.tar.gz
57 # Compress one file using 4 compression formats
58 ouch compress file.txt compressed.gz.xz.bz.zst
60 # Compress all the files in current folder
61 ouch compress * files.zip
64 `ouch` checks for the extensions of the **output file** to decide which formats should be used.
66 <!-- ### Listing the elements of an archive
68 * **Upcoming feature**
71 # Shows the files and folders contained in videos.tar.xz
72 ouch list videos.tar.xz
77 ### Downloading the latest binary
79 WARNING: SCRIPT TEMPORARILY DISABLED.
81 This script downloads the latest binary and copies it to `/usr/bin`.
84 curl -s https://raw.githubusercontent.com/vrmiguel/ouch/master/install.sh | sh
87 ### Installing from source code
89 For compiling, check [the wiki guide](https://github.com/ouch-org/ouch/wiki/Compiling-and-installing-from-source-code).
94 | | .tar | .zip | .bz, .bz2 | .gz | .xz, .lz, .lzma | .7z |
95 |:-------------:|:----:|:----:|:---------:| --- |:---------------:| --- |
96 | Decompression | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
97 | Compression | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
99 Note that formats can be chained:
103 - `.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`
109 `ouch` is 100% made out of voluntary work, any small contribution is welcome!
113 - Share it to a friend.