uutils coreutils - GNU coreutils 的 Rust 跨平台实现
文章目录
- 一、关于 uutils coreutils
- 1、项目概览
- 2、相关链接资源
- 3、功能特性
- 二、安装配置
- 基础安装
- 系统级安装
- 三、构建指南
- 1、环境要求
- 2、构建方式
- Cargo 方式
- Make 方式
- 四、文档生成
- 本地文档构建
- 五、测试与兼容性
- GNU 测试套件
- 其它
- 参考项目
- 参考文献
一、关于 uutils coreutils
1、项目概览
uutils coreutils 是用 Rust 重新实现的 GNU coreutils 跨平台版本。已实现全部程序功能,但部分选项可能存在差异。
2、相关链接资源
- Github:https://github.com/uutils/coreutils
- 用户手册:https://uutils.github.io/coreutils/docs/
- 开发者文档:https://docs.rs/crate/coreutils/
- Discord 社区:https://discord.gg/wQVJbvJ
- License:MIT
- 依赖状态:https://deps.rs/repo/github/uutils/coreutils
- 代码覆盖率:https://codecov.io/gh/uutils/coreutils
- GNU 测试兼容性追踪:https://github.com/uutils/coreutils-tracking/blob/main/gnu-results.svg?raw=true
3、功能特性
-
跨平台兼容
- 支持 Linux/macOS/Windows 等多平台
- 确保脚本可跨平台移植
-
模块化构建
- 支持全功能多合一二进制文件
- 支持按需构建单个工具
二、安装配置
基础安装
cargo install coreutils
~/.cargo/bin/coreutils
系统级安装
git clone https://github.com/uutils/coreutils
cd coreutils
make PROFILE=release install
三、构建指南
1、环境要求
- Rust (MSRV 1.85.0)
- GNU Make (可选)
2、构建方式
Cargo 方式
# 构建基础工具集
cargo build --release# 平台特定构建
cargo build --release --features macos|windows|unix# 自定义工具集
cargo build --features "base32 cat echo rm" --no-default-features
Make 方式
# 完整构建
make PROFILE=release# 选择性构建
make UTILS='ls cat' # 仅构建指定工具
make SKIP_UTILS='rm' # 排除指定工具
四、文档生成
本地文档构建
# 用户手册
make docs# 开发者文档
cargo doc --no-deps --open
五、测试与兼容性
GNU 测试套件
测试覆盖率详情显示与 GNU coreutils 的兼容性进展。
其它
参考项目
- GNU Coreutils:https://www.gnu.org/software/coreutils/
参考文献
- Rust 官方文档:https://doc.rust-lang.org/stable/book/
伊织 xAI 2025-05-18(日)