TL;DR — Quick Summary
xcp is an extended cp command with progress bars, reflink support, and .gitignore awareness. Copy files faster with better feedback.
xcp is cp with progress bars, reflinks, and smarter defaults. Written in Rust.
Installation
# Cargo
cargo install xcp
# Arch AUR
yay -S xcp
Usage
# Copy a file (shows progress bar)
xcp large-file.tar.gz /backup/
# Copy directory recursively (no -r needed)
xcp project/ /backup/project/
# Skip .gitignore files
xcp --gitignore src/ /deploy/
# Verbose output
xcp -v data/ /mnt/external/
Comparison
| Feature | xcp | cp | rsync |
|---|---|---|---|
| Progress bar | ✅ Built-in | ❌ | ✅ |
| Reflinks | ✅ Auto | ❌ | ❌ |
| .gitignore | ✅ | ❌ | ❌ |
| Recursive default | ✅ | Needs -r | Needs -r |
Summary
- xcp: extended cp with progress bars
- Reflink/copy-on-write support for instant copies
- .gitignore awareness for clean deployments
- Recursive by default — no -r flag needed
- Written in Rust — fast and safe