uutils coreutils 安装与上手:3 条路线装好跨平台 Rust 版 GNU 核心工具
【免费下载链接】coreutilsCross-platform Rust rewrite of the GNU coreutils项目地址: https://gitcode.com/GitHub_Trending/co/coreutils
uutils coreutils 是用 Rust 跨平台重写的 GNU coreutils,目标是成为ls、cp、sort等命令的 drop-in 替换:输出与退出码严格对齐 GNU,并附带更好的错误提示。装好它,你的脚本在 Linux、macOS、Windows 之间就能直接搬。
快速开始:30 秒装好并验证
这一节只给你一条最省事的一键安装命令和一条验证命令,先看到结果再谈细节。
# 按你的系统三选一 brew install uutils-coreutils # macOS winget install uutils.coreutils # Windows 11+ cargo install coreutils --features unix --locked # 其他情况通用coreutils --version能看到类似coreutils 0.11.0 (x86_64-unknown-linux-gnu)的版本行,就说明装好了。下面展开讲怎么选路线、有哪些坑。
安装路线选型表:先看这张表定位自己
这张表汇总全部安装方式(适用系统 / 前置工具 / 一条命令 / 适合谁),你扫一眼就能确定路线。
| 路线 | 适用系统 | 前置工具 | 一条命令 | 适合谁 |
|---|---|---|---|---|
| Homebrew | macOS | brew | brew install uutils-coreutils | macOS 日常用户 |
| MacPorts | macOS | macports | port install coreutils-uutils | 用 MacPorts 管理环境的用户 |
| Winget | Windows 11+ | 系统自带 | winget install uutils.coreutils | Windows 默认用户 |
| Scoop | Windows | scoop | scoop install uutils-coreutils | 偏好用 Scoop 的 Windows 用户 |
| apt | Debian / Ubuntu | apt | apt install rust-coreutils | Debian 系用户 |
| pacman | Arch / Manjaro | pacman | pacman -S uutils-coreutils | Arch 系用户 |
| dnf | Fedora / RHEL 系 / OpenMandriva | dnf | dnf install uutils-coreutils | RHEL 系用户 |
| apk | Alpine(edge 仓库) | apk | apk add uutils-coreutils | 容器与 Alpine 用户 |
| nix-env | NixOS / Nix | nix | nix-env -iA nixos.uutils-coreutils | Nix 用户 |
| emerge | Gentoo | portage | emerge -pv sys-apps/uutils-coreutils | Gentoo 用户 |
| Conda | 全平台 | conda | conda install -c conda-forge uutils-coreutils | 数据科学 / Python 环境用户 |
| Cargo | 全平台 | Rust 工具链(≥1.88) | cargo install coreutils --features unix --locked | 想要最新版 / 自定义编译的用户 |
场景 A:包管理器一键安装
如果你只是要在机器上"能用",走这条路线,无需任何编译环境。
macOS 与 Windows 各自有对应管理器,Linux 则按发行版选其一:
brew install uutils-coreutils # macOS port install coreutils-uutils # macOS(MacPorts) winget install uutils.coreutils # Windows scoop install uutils-coreutils # Windows apt install rust-coreutils # Debian / Ubuntu pacman -S uutils-coreutils # Arch / Manjaro dnf install uutils-coreutils # Fedora / RHEL 系 apk add uutils-coreutils # Alpine(需 edge 仓库)差异统一说明:这套包装的是 multicall(BusyBox 式多合一)二进制,但各发行版把它放在不同位置,PATH 需要单独配。Debian/Ubuntu 是export PATH=/usr/lib/cargo/bin/coreutils:$PATH,Fedora/RHEL 系是export PATH=/usr/libexec/uutils-coreutils:$PATH;Arch 与 macOS 的包通常已在 PATH 内,装完直接用。
⚠️ 易踩的坑:装完直接敲ls报command not found或行为没变化,九成是 PATH 未加到~/.bashrc(或~/.zshrc)里,写一行 export 并source一下再试。
场景 B:源码 / Cargo 编译安装
如果你想用最新发布版,或者需要自定义 feature,走这条路线;前提是装好 Rust 工具链(cargo版本 ≥ 1.88)。
先克隆仓库并安装:
git clone https://gitcode.com/GitHub_Trending/co/coreutils cd coreutils cargo build --release # 编译(可选,先看效果) cargo install --path . --locked # 安装到 ~/.cargo/binfeature 参数决定编译出哪些工具:unix与windows是平台快捷方式(选该平台可用的完整工具集),默认只编跨平台核心集(feat_common_core);openssl让 md5sum/sha*sum 等校验工具走 OpenSSL 加速。只想要个别工具也可以直接按名字选,例如cargo build --features "base32 cat echo rm" --no-default-features。
⚠️ 易踩的坑:cargo build只把二进制放进target/release,不会"安装";想用coreutils --version验证,必须再跑cargo install --path . --locked或make install。另外注意 crates.io 的包名是coreutils,与各系统包里的uutils-coreutils不是同一个字符串,别混。
场景 C:Conda 等特殊环境
如果你习惯在 conda 环境里工作,或不方便碰系统包管理器,conda-forge 渠道有现成包。
conda install -c conda-forge uutils-coreutils命令装完后二进制落在当前 conda 环境的bin目录下,随环境一起管理;该包是第三方打包,更新节奏略慢于上游,也不像 Cargo 路线能开 feature。
⚠️ 易踩的坑:安装后忘了conda activate对应环境,就会误以为没装上——先激活环境再验证。
验证与高频问题
验证就一条命令,输出应包含版本号(当前为 0.11.0)与目标平台:
coreutils --version- Q:
coreutils: command not found?A:装的位置不在 PATH。which -a coreutils或到上文对应发行版的安装目录找一下,把目录加进 PATH。 - Q:和 GNU coreutils 版本冲突怎么办?A:uutils 默认按同名覆盖系统命令;不想影响系统时,用
make install加PROG_PREFIX=uu-,命令变成uu-ls这类带前缀形式。 - Q:改了 PATH 没生效?A:
export只对当前终端有效,需要写进 shell 配置文件并source,或重开一个终端。
下一步
装好后建议先用uu-ls和 GNU 的ls对比输出,再决定是否全局替换。更多细节看 安装文档 与 构建指南。
【免费下载链接】coreutilsCross-platform Rust rewrite of the GNU coreutils项目地址: https://gitcode.com/GitHub_Trending/co/coreutils
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考