Ouch!
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.
Usage
Decompressing files
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.
# Decompress `a.zip`
# Decompress multiple files
# Decompress multiple files but inside new_folder
Compressing files and directories
The compress
subcommand is able to compress files and folders. The last argument will be the output file.
You can also use the c
alias for this subcommand.
The compression format employed will be defined according to the output file's extension.
# Compress four files into `archive.zip`
# Compress three files into a `.tar.bz2` archive
# Compress a folder and a file into `videos.tar.xz`
# Compress two folders into a lzma file
Listing the elements of an archive
- Upcoming feature
# Shows the files and folders contained in videos.tar.xz
ouch list videos.tar.xz
Supported formats
.tar | .zip | .tar.*¹ | .zip.*² | .bz, .bz2 | .gz | .xz, .lz, .lzma | .7z | |
---|---|---|---|---|---|---|---|---|
Decompression | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
Compression | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
Note: .tar.*¹: .tar.gz, .tar.bz, .tar.bz2, .tar.xz, .tar.lz, .tar.lzma, .tar.zip
.zip.*²: .zip.gz, .zip.bz, .zip.bz2, .zip.xz, .zip.lz, .zip.lzma, .zip.zip
Installation
Getting a pre-compiled binary
|
Building
A recent Rust toolchain is needed to build ouch
. You can install it following the instructions at rustup.rs.
Once Cargo is installed, run:
# or
# or
&&
Supported operating systems
ouch
runs on Linux, macOS and Windows 10. Binaries are available on our Releases page.
Binaries are also available at the end of each (successful) GitHub Actions run for these targets:
- Linux x86-64 statically linked (musl libc)
- macOS x86-64 dynamically linked
- Windows 10
- Linux ARMv7 dynamically linked (glibc)
One must be logged into GitHub to access build artifacts.
Limitations
ouch
does encoding and decoding in-memory, so decompressing very large files with it is not advisable.