首页/软件/RCompare

RCompare:Rust 打造的高性能开源文件与目录比较工具 #

RCompare 是什么? #

RCompare 是一款使用 Rust 编写的高性能、开源文件与目录比较工具,灵感来自 Beyond Compare,架构思路则参考了 Czkawka。它同时提供命令行工具 rcompare_cli 与基于 PySide6/Qt6 的桌面图形界面 teczka,帮助用户快速找出两个文件夹之间的差异文件、孤立文件与内容变更。

无论是备份校验、代码同步、部署验证还是目录去重,RCompare 都能通过并行遍历(jwalk)与 BLAKE3 哈希缓存,在数秒内完成对数万文件的扫描比对。除了常规的文本与二进制对比外,它还内置了图像像素级比对、CSV/Excel/JSON/YAML/Parquet 结构化比对、压缩包内文件比对等专业能力,并且完全免费、开源,可在 Linux、Windows、macOS 三大平台运行,是商业比较软件的高性价比替代方案。

RCompare 有哪些亮点特色? #

  • 极致性能,源自 Rust 内核:核心引擎采用 Rust 编写,通过 jwalk 实现并行目录遍历,并配合 BLAKE3 哈希与持久化缓存,仅当文件大小或修改时间变化时才重新计算哈希,大幅缩短重复比对耗时。

  • 双形态使用:CLI + 桌面 GUI:rcompare_cli 面向脚本化与自动化场景,支持彩色控制台输出与 JSON 结构化输出;teczka 则提供多标签、可展开折叠的图形界面,适合交互式可视化比对。

  • 专业级多格式比对能力:不仅能比文本与二进制,还覆盖图像(逐像素比对、EXIF 元数据、容差控制、感知哈希)、CSV(行列感知)、Excel(工作表/单元格级)、JSON/YAML(路径结构化)、Parquet(DataFrame 与 Schema 校验)等专业格式,这在同类免费工具中相当少见。

  • 原生 .gitignore 规则支持:完全兼容 gitignore 风格的忽略模式,可通过 -i "*.o"、-i "node_modules/" 等方式排除构建产物与依赖目录,对开发者尤其友好。

  • 完整的同步与文件操作:支持左/右复制、双向同步、干跑(dry-run)同步规划、冲突策略控制(最新/左侧/右侧/跳过/报错),并可仅复制指定路径,满足备份与部署同步需求。

  • 压缩包与虚拟文件系统:可直接比较 ZIP、TAR、TAR.GZ、TGZ、7Z 等归档内容,RAR 支持只读读取,并基于 VFS 抽象层统一处理本地与归档文件。

  • 内存安全与隐私优先:核心以 Rust 实现,规避了 C/C++ 常见的内存安全隐患;默认离线运行,仅在用户显式配置时才启用外部上报,隐私姿态优于多数同类工具。

  • 工程品质有据可查:仓库包含 170+ 项测试与 CI/CD 流水线,具备进度条与预计剩余时间提示(ETA),并对损坏的符号链接做了优雅处理,长期运行的批量任务更稳定。

RCompare 官网首页截图

免费下载 RCompare #

以下为官方提供的各平台安装包(teczka 桌面版 v0.4.0),点击链接即可下载:

文件名 描述 大小 下载
teczka-v0.4.0-linux-x86_64.tar.gz Linux x86_64 桌面版压缩包 78.9 MB 夸克网盘
teczka-v0.4.0-macos-arm64.tar.gz macOS Apple Silicon 桌面版压缩包 44.5 MB 夸克网盘
teczka-v0.4.0-windows-x86_64.zip Windows x86_64 桌面版压缩包 60.5 MB 夸克网盘

说明:命令行工具 rcompare_cli 可通过源码构建获得(见下文安装章节);桌面 GUI teczka 会调用 rcompare_cli 执行实际比较,因此建议两者一并准备好。

RCompare 如何使用? #

第一步:准备并启动程序

  • 图形界面用户:解压下载的 teczka 压缩包,进入 teczka 目录执行 uv sync 完成依赖同步,然后运行 uv run teczka 启动界面。
  • 命令行用户:构建完成后直接调用 ./target/release/rcompare_cli,并通过 --help 查看全部子命令(scan、sync、copy、diff-file、read、capabilities)。

第二步:选择要比对的两个目录 在 GUI 中分别指定左侧(Left)与右侧(Right)路径;在 CLI 中则以参数形式传入,例如:

rcompare_cli scan ~/Documents ~/Backup/Documents

第三步:配置比较选项 按需启用忽略规则、仅显示差异、哈希校验等,例如:

rcompare_cli scan /project /backup -i "*.o" -i "target/" -i "node_modules/"
rcompare_cli scan /source /dest --diff-only
rcompare_cli scan /left /right --verify-hashes

第四步:阅读结果 CLI 输出使用统一的状态符号:== 表示完全相同,!= 表示内容不同,<< 表示仅左侧存在,>> 表示仅右侧存在,?? 表示大小相同但尚未校验。GUI 中则以浅绿、浅红、浅黄、浅蓝、灰色分别标记相同、不同、仅左、仅右与未检查文件。

第五步:执行同步或复制 确认差异后,可在 GUI 中使用左/右复制按钮,或使用 CLI 的 sync、copy 命令完成文件同步;建议先用干跑模式预览同步计划,避免误操作。

第六步:按需使用专用比较模式 针对特殊格式可直接调用对应开关,例如 --csv-diff、--excel-diff、--json-diff、--yaml-diff、--parquet-diff、--image-diff,获得行列表格、结构路径或像素级的差异视图。

RCompare 的常见问题? #

RCompare 与 Beyond Compare 有什么区别? RCompare 是开源免费工具(MIT/Apache-2.0 许可),而 Beyond Compare 为商业收费软件。RCompare 在目录比较、哈希校验、gitignore 支持、JSON 结构化比对、Parquet 比对与图像感知哈希等方面具备优势,但 Beyond Compare 在 MP3 标签比较、Windows 注册表比较等细分场景上仍有独到之处。

命令行工具 rcompare_cli 需要自己编译吗? 目前官方提供的下载包主要是桌面 GUI teczka,命令行工具需要从源码构建(cargo build --release)。由于 teczka 内部通过调用 rcompare_cli 完成比较,因此使用 GUI 前也需要确保 CLI 已构建或安装完成。

RCompare 用的是什么哈希算法?会比对比更快吗? RCompare 默认使用 BLAKE3 哈希,并维护持久化缓存:缓存中记录了文件路径、修改时间、文件大小与哈希值,只有当文件大小或修改时间发生变化时才会重新计算,因此重复比对的第二次及以后会明显更快。

哈希缓存文件保存在哪里? Linux 下为 ~/.cache/rcompare/,Windows 下为 %LOCALAPPDATA%\rcompare\cache\,macOS 下为 ~/Library/Caches/rcompare/。如需彻底清理或排查问题,可以手动删除该目录。

RCompare 会上传我的文件信息吗? 默认采用隐私优先的离线设计,不会主动联网上传数据。仓库中保留了可选的云存储后端(S3、SFTP、WebDAV)与可选的 Logfire 上报能力,但这些均需用户显式配置才会启用(以下为参考社区常见反馈整理的项目现状说明)。

支持哪些压缩包格式?RAR 能写吗? 支持读取 ZIP、TAR、7Z、RAR,并对 ZIP、TAR、7Z 提供核心层面的写入能力,但压缩包写入目前尚未接入 CLI 与 GUI;RAR 仅支持只读。需要解压修改的用户建议配合专业压缩工具使用。

RCompare 如何安装? #

Windows #

  1. 下载 teczka-v0.4.0-windows-x86_64.zip 并解压到任意目录;
  2. 进入解压后的 teczka 目录,安装 Python 3.10 及以上版本,并确保已安装 uv;
  3. 执行 uv sync 同步依赖;
  4. 执行 uv run teczka 启动图形界面(如需命令行功能,请另行通过 Rust 工具链构建 rcompare_cli)。

macOS #

  1. 下载 teczka-v0.4.0-macos-arm64.tar.gz(适用于 Apple Silicon 芯片)并解压;
  2. 确保系统已安装 Python 3.10+ 与 uv;
  3. 在 teczka 目录执行 uv sync,随后执行 uv run teczka 启动;
  4. 若首次运行被系统拦截,请在“系统设置 → 隐私与安全性”中允许运行。

Linux #

  1. 下载 teczka-v0.4.0-linux-x86_64.tar.gz 并解压;
  2. 安装 Python 3.10+ 与 uv,在 teczka 目录执行 uv sync;
  3. 执行 uv run teczka 启动图形界面;
  4. 若需要 CLI,请先安装 Rust 工具链,然后执行:
git clone https://github.com/aecs4u/rcompare
cd rcompare
cargo build --release
# 或按需精简构建
cargo build --release --no-default-features --features "archives,csv-diff"

构建产物位于 target/release/ 目录,可直接使用 ./target/release/rcompare_cli scan /path/to/left /path/to/right 运行。也可执行 cargo install --path rcompare_cli 将 CLI 安装到本地。

提示:RCompare 支持 Cargo 特性开关,最小构建(--no-default-features)体积约为 50 MB,完整构建(含全部特性)约为 200 MB,可按实际需要裁剪。

RCompare 如何卸载? #

Windows #

  1. 由于 teczka 为绿色压缩包形式分发,通常只需删除解压出的整个程序目录;
  2. 若通过其他方式注册过卸载项,可在“设置 → 应用 → 已安装的应用”中找到并卸载;
  3. 清理缓存目录 %LOCALAPPDATA%\rcompare\cache\,以及 uv 虚拟环境所在的 .venv 目录。

macOS #

  1. 直接删除解压出的 teczka 程序目录;
  2. 删除缓存目录 ~/Library/Caches/rcompare/;
  3. 如曾通过 Homebrew 或 pip 等包管理器安装相关依赖,可使用对应命令(如 brew uninstall)移除。

Linux #

  1. 删除解压出的 teczka 程序目录;
  2. 删除缓存目录 ~/.cache/rcompare/;
  3. 若曾执行 cargo install --path rcompare_cli,可用 cargo uninstall rcompare_cli 卸载命令行工具;
  4. 如需一并清理构建产物,可删除克隆的 rcompare 源码仓库目录。

注意:卸载后残留的多为哈希缓存与用户配置文件,体积通常不大;若不再使用该工具,建议一并删除以避免占用磁盘空间。

相关标签
RCompare文件比较工具目录比较Beyond Compare 替代品开源文件对比软件Rust 文件比较文件夹同步文本差异对比哈希校验工具跨平台比较工具