bcmr · 更好的 cp / mv / rm 本地与 ssh · 同一条命令 v0.6.3 · 2026.05.13
复制. 移动. 删除.
bcmr 是 cp / mv / scp 的现代替代品。每次写入流式 blake3 校验,崩溃后可续传,本地路径和 ssh 路径在同一条命令里 —— 一个命令,两端都校验过。
每个字节写入时都在两端哈希,--verify 升级为完整的两遍重读。
杀进程、拔网线,重新执行同一条命令,从上一个已校验的分块继续。
bcmr copy a.txt user@host:/b/ 和 bcmr copy a.txt /b/ 是同一个动词。相同的参数,相同的保证。
linux 上用 copy_file_range,apfs 上用 clone_file,稀疏文件检测,≥ 16 mib 的内容寻址去重。
§ 02 · 同一条命令
本地 ssh,
同一条命令。
cp 和 scp 把本地和远程当成两个世界。bcmr 只当它们是两种路径。bcmr copy 在 3 mb 的本地拷贝和 300 gb 的跨机房传输里是同一条命令。
这些是承诺,不是描述。如果你发现任何一条被违反了,那就是我们想听到的 bug。
01
blake3 无处不在
每个分块都在两端被哈希。只有校验通过的传输,bcmr 才会告诉你成功了。
02
崩溃 · 续传
杀进程、拔线、丢 ssh 会话。重新执行同一条命令,bcmr 从上一个已校验的字节继续。
03
本地 + ssh
一个动词,两个宇宙。本地路径像 cp,远程路径像 scp。你不必再想「该用哪一个」。
04
reflink · 稀疏
apfs / btrfs / xfs / zfs 上使用 clone_file / reflink / copy_file_range。100 gb 的拷贝在支持的文件系统上只要毫秒。
05
lz4 · zstd · dedup
可选的线路压缩 lz4 / zstd。内容寻址去重避免发送你已经有过的字节。
06
json + tui
脚本里用 --json,终端里用 --tui。同一个二进制、同一套命令 —— 只是外壳不同。
§ 04 · 开始
一个动词。
已校验。
可续传。
mit 授权 · 无遥测 · 自 2024 年开源