A fast, user-friendly CLI tool for compressing and decompressing multiple archive formats in the terminal.
Ouch! is a command-line tool written in Rust for compressing and decompressing files in the terminal. It supports a wide range of formats like ZIP, TAR, 7Z, GZ, and ZST through a single, easy-to-remember interface. It solves the problem of needing to use different, often complex, commands for each archive type.
Developers, system administrators, and power users who frequently work with compressed files in the terminal and want a simpler, faster, and more consistent workflow.
Developers choose Ouch! for its unified command syntax, excellent error messages, and performance. Its focus on usability and lack of runtime dependencies (in static builds) makes it a reliable and efficient alternative to traditional, format-specific command-line tools.
Painless compression and decompression in the terminal
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides consistent `ouch compress` and `ouch decompress` commands for all supported formats, eliminating the need to remember different tools like `tar` or `unzip`, as shown in the usage examples.
Detects archive formats from file extensions or signatures, simplifying commands by not requiring manual specification, which reduces user error.
Includes an accessibility mode with features tailored for improved terminal usability, highlighted in the features list and linked wiki.
Speeds up compression for formats like .gz, .sz, and .zst by leveraging parallel processing, as noted in the supported formats table with ✓² notation.
For .zip and .7z formats, compression and decompression cannot be done with streaming due to format constraints, which may hinder performance with large files.
Only supports decompression and listing for RAR files, not compression, due to licensing issues, limiting full archive manipulation.
Non-static builds require external libraries like libbz2 and libz, adding setup steps compared to the dependency-free musl binaries, as mentioned in the runtime dependencies section.