From ce9118a2dc8e982c641667f2c724c10139131cf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Marcos=20Bezerra?= Date: Fri, 28 May 2021 05:05:59 -0300 Subject: [PATCH] Update README.md --- README.md | 105 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 55 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index 467fa13..b3f32ae 100644 --- a/README.md +++ b/README.md @@ -2,23 +2,26 @@ -`ouch` loosely stands for Obvious Unified Compression files Helper and aims to be an easy and intuitive way of compressing and decompressing files on the command-line. +`ouch` loosely stands for Obvious Unified Compression files Helper. + +It is an easy and painless way of compressing and decompressing files in the terminal. + +Works in `Linux`, `Mac OS` and `Windows`. + + - [Usage](#Usage) - [Decompressing files](#Decompressing-files) - [Compressing files/directories](#Compressing-files-and-directories) - - [Listing files](#Listing-the-elements-of-an-archive) -- [Supported Formats](#Supported-formats) - [Installation](#Installation) +- [Supported Formats](#Supported-formats) - [Supported operating systems](#Supported-operating-systems) ## Usage -### Decompressing files +### Decompressing -To decompress any number of files, just supply them to `ouch`. - -Use the `-o, --output` flag to redirect the output of decompressions to a folder. +Run `ouch` and pass compressed files as arguments. ```sh # Decompress `a.zip` @@ -26,45 +29,76 @@ ouch a.zip # Decompress multiple files ouch a.zip b.tar.gz +``` +Use the `-o/--output` flag to redirect the output of decompressions to a folder. + +```sh # Decompress multiple files but inside new_folder ouch a.zip b.tar.gz c.tar.bz2 -o new_folder ``` -### Compressing files and directories +### Compressing -The `compress` subcommand is able to compress files and folders. The **last** argument will be the **output file**. +Use the `compress` subcommand. -You can also use the `c` alias for this subcommand. - -The compression format employed will be defined according to the output file's extension. +Accepts files and folders, and the **last** argument shall be the **output file**. ```sh # Compress four files into `archive.zip` -ouch compress a b c d archive.zip +ouch compress 1 2 3 4 archive.zip +``` + +The supplied **output file** shall have a supported compression format, [see the list](#Supported-formats). + +You can also use the `c` alias for this subcommand. + +```sh +# Compress a folder and a file into `videos.tar.xz` +ouch c Videos/ funny_meme.mp4 videos.tar.xz # Compress three files into a `.tar.bz2` archive -ouch compress a.mp4 b.jpg c.png files.tar.bz2 - -# Compress a folder and a file into `videos.tar.xz` -ouch compress Videos/ funny_meme.mp4 videos.tar.xz +ouch c a.mp4 b.jpg c.png files.tar.bz2 # Compress two folders into a lzma file ouch c src/ target/ build.tar.lz ``` -### Listing the elements of an archive + + +## Installation + +### Installing a binary + +This script downloads the latest binary and copies it to `/usr/bin`. +```sh +curl -s https://raw.githubusercontent.com/vrmiguel/ouch/master/install.sh | sh +``` + +### Compiling +Install [Rust](rust-lang.org) and [Cargo](https://doc.rust-lang.org/cargo/) via [rustup.rs](https://rustup.rs/). + +From latest official release: +```sh +cargo install ouch +``` + +From repository source code: + +```sh +git clone https://github.com/vrmiguel/ouch +cargo build ``` ## Supported formats - | | .tar | .zip | .tar.\*¹ | .zip.\*² | .bz, .bz2 | .gz | .xz, .lz, .lzma | .7z | |:-------------:|:----:|:----:|:--------:|:--------:|:---------:| --- |:---------------:| --- | | Decompression | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ | @@ -75,32 +109,7 @@ Note: .tar.*¹: .tar.gz, .tar.bz, .tar.bz2, .tar.xz, .tar.lz, .tar.lzma, .tar.zi .zip.*²: .zip.gz, .zip.bz, .zip.bz2, .zip.xz, .zip.lz, .zip.lzma, .zip.zip ``` - -## Installation - -### Getting a pre-compiled binary - -```sh -curl -s https://raw.githubusercontent.com/vrmiguel/ouch/master/install.sh | sh -``` - -### Building - -A recent [Rust](rust-lang.org) toolchain is needed to build `ouch`. You can install it following the instructions at [rustup.rs](https://rustup.rs/). - -Once [Cargo](https://doc.rust-lang.org/cargo/) is installed, run: - -```sh -cargo install ouch -# or -git clone https://github.com/vrmiguel/ouch -cargo install --path ouch -# or -git clone https://github.com/vrmiguel/ouch -cd ouch && cargo run --release -``` - -## Supported operating systems +