bcmr-0.3.16 is not a library.
BCMR (Better Copy Move Remove)
Making file operations simpler and more modern! BCMR is a command-line tool written in Rust that lets you elegantly copy, move, and remove files.

Installation
Using Homebrew
Using Install Script
|
Using Cargo
Building from Source
The compiled binary will be available at target/release/bcmr.
Detailed Usage Guide
Shell Integration
BCMR provides flexible shell integration similar to zoxide. You can customize command names with prefixes or replace native commands.
Basic syntax:
Available options:
--cmd <prefix>: Set command prefix (e.g., 'b' creates bcp, bmv, brm)--no-cmd: Don't create command aliases--path <path>: Add directory to PATH
Examples:
# Add to your ~/.bashrc or ~/.zshrc:
# Use custom prefix (creates testcp, testmv, testrm)
# Replace native commands (creates cp, mv, rm)
# Use 'b' prefix (creates bcp, bmv, brm)
Supported shells:
- Bash
- Zsh
- Fish
Copy Command (Copy)
Basic syntax:
Arguments:
<SOURCES>...
<DESTINATION> Target
Options:
-r, --recursive: Recursively copy directories-p, --preserve: Preserve file attributes-f, --force: Overwrite existing files-y, --yes: Skip overwrite confirmation-e, --exclude <PATTERN>: Exclude files/directories matching regex-t, --tui: Use plain text mode-V, --verify: Verify file integrity after copy-C, --resume: Resume interrupted copy (Size + Mtime check)-s, --strict: Use strict hash verification for resume-a, --append: Append to existing file (ignores mtime/hash)-n, --dry-run: Dry run (no changes)-h, --help: Print help information
Examples:
# Copy a single file
# Copy multiple files (Shell Globbing supported!)
# Recursively copy a directory
# Dry run (Preview what will be copied)
# Copy with attribute preservation
# Force overwrite without prompting
# Copy with Regex exclusions (exclude .git folder and .tmp files)
# Copy with verification
Move Command (Move)
Basic syntax:
Available options:
-r, --recursive: Recursively move directories-p, --preserve: Preserve file attributes-f, --force: Force overwrite existing files-y, --yes: Skip overwrite confirmation-n, --dry-run: Preview operation without making changes-e, --exclude=<pattern>: Exclude matching files (Regex)-t, --tui: Use plain text mode-V, --verify: Verify file integrity after move-C, --resume: Resume interrupted move (cross-device fallback only)-s, --strict: Use strict hash verification for resume-a, --append: Append to existing file (ignores mtime/hash)
Examples:
# Move a single file
# Move multiple files
# Recursively move a directory
# Dry run
# Move with exclusions (Regex)
Remove Command (Remove)
Basic syntax:
Available options:
-r, --recursive: Recursively remove directories-f, --force: Force removal without confirmation-i, --interactive: Prompt before each removal-v, --verbose: Show detailed removal process-d, --dir: Remove empty directories-n, --dry-run: Preview operation without making changes-e, --exclude=<pattern>: Exclude matching files (Regex)-t, --tui: Use plain text mode
Examples:
# Remove a single file
# Remove multiple files (Globbing)
# Recursively remove a directory
# Dry run (safe check)
# Interactive removal of multiple files
# Remove with exclusions (Regex)
Progress Display Modes
BCMR provides two progress display modes:
fancy mode (Default) and plain text mode (enable with --tui or -t).
Configuration
You can fully customize the progress bar by creating a configuration file at ~/.config/bcmr/config.toml:
[]
= "fancy" # "fancy" (default), "plain" (same as --tui)
[]
# Define progress bar gradient (Hex colors) - Default is a Morandi purple gradient
= ["#CABBE9", "#7E6EAC"]
= "█"
= "░"
= "reset" # "reset" (default), "black", "red", "green", "yellow", "blue", "magenta", "cyan", "white", or Hex "#RRGGBB"
= "#9E8BCA"
= "#9E8BCA"
[]
= "rounded" # "rounded" (default), "double", "heavy", "single"
License
GPL-3.0 © Zane Leong