crush-cli-0.2.1 is not a library.
crush-cli
Command-line interface for the crush-core high-performance parallel compression library.
Installation
From crates.io:
From source:
Usage
Compress
# Compress a file
# Compress multiple files
# Choose a compression level (fast, balanced, best)
# Use a specific plugin
# Compress to a specific output path
# Force overwrite existing compressed files
# Set a compression timeout (in seconds)
# Pipeline: stdin to file
|
# Pipeline: stdin to stdout
|
Decompress
# Decompress a file (outputs to <name> with .crush extension stripped)
# Decompress multiple files
# Decompress to a specific output path
# Decompress to stdout for piping
|
# Pipeline: stdin to stdout
|
# Force overwrite existing files
Inspect
# Inspect compressed file metadata
# Inspect multiple files with summary statistics
# Output as JSON
# Output as CSV
Plugins
# List all available compression plugins
# List plugins in JSON format
# Show detailed information about a plugin
# Test a plugin's functionality
Configuration
Crush stores its configuration in a TOML file at the OS config directory (~/.config/crush/config.toml on Linux).
# Set a configuration value
# Get a configuration value
# List all configuration
# Reset to defaults
Configuration keys:
| Key | Values | Default |
|---|---|---|
compression.default-plugin |
Plugin name or auto |
auto |
compression.level |
fast, balanced, best |
balanced |
compression.timeout-seconds |
Seconds (0 = no timeout) |
0 |
output.progress-bars |
true, false |
true |
output.color |
auto, always, never |
auto |
output.quiet |
true, false |
false |
logging.format |
human, json |
human |
logging.level |
error, warn, info, debug, trace |
info |
logging.file |
File path (empty = stderr) | (empty) |
Configuration can also be set via environment variables with the CRUSH_ prefix (e.g., CRUSH_COMPRESSION_LEVEL=fast).
Global Flags
# Verbose output (-v for debug, -vv for trace)
# Quiet mode (suppress all output except errors)
# JSON log format
# Log to a file
Exit Codes
| Code | Meaning |
|---|---|
0 |
Success |
1 |
Operational error (I/O, compression failure) |
2 |
Configuration or usage error |
130 |
Operation cancelled (Ctrl+C) |
Graceful Cancellation
Press Ctrl+C during any operation to cancel gracefully. Crush will clean up partial output and exit with code 130.
Development
License
MIT