十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

uutils coreutils 跨平台安装指南:4条路线让Rust版GNU核心工具3分钟跑起来

uutils coreutils 跨平台安装指南:4条路线让Rust版GNU核心工具3分钟跑起来 uutils coreutils 跨平台安装指南4条路线让Rust版GNU核心工具3分钟跑起来【免费下载链接】coreutilsCross-platform Rust rewrite of the GNU coreutils项目地址: https://gitcode.com/GitHub_Trending/co/coreutilsuutils coreutils 是一个用 Rust 语言重写的跨平台 GNU 核心工具集它把ls、cp、mv、sort这类你在终端里天天敲的命令统一打包进一个多调用二进制multi-call binary就是一个可执行文件里装下几十个小工具同时支持 Linux、macOS 和 Windows。这篇文章会带你走一遍 4 条最常见的安装路线——系统包管理器、Cargo、Conda、源码编译最后再手把手教你验证它真的装好了。为什么值得换一套Rust 版的核心工具先花 30 秒了解这个项目是干什么的你后面做选择就不会迷茫一个二进制几十个工具装完你手里多了一个叫coreutils的命令它内部包含了基础核心集里的 80 多个工具cat、cut、dd、du、head、tail、wc……想跑哪个就在后面加上工具名比如coreutils ls -l。跨平台是它的设计目标同一套代码在 Linux、macOS、Windows 上都能构建这也是它相比传统 GNU coreutils 最吸引人的地方。免费开源MIT 协议源码就在 src/uu/ 目录下每个工具一个子目录想读哪个就读哪个。接下来我们直接进入安装环节。第一步先选路线再动手装之前先回答一个问题你想要最新还是最省事四条路线的取舍如下路线适合谁优点代价系统包管理器apt/pacman/brew/winget 等绝大多数人一条命令自动升级版本可能略旧Homebrew / Winget / ScoopmacOS、Windows 用户同上生态成熟同上Cargo 编译安装想要最新版、或发行版没打包的人版本新、可选 feature需要先装 Rust 工具链编译要几分钟源码编译想追 main 分支、想改代码完全自主最花时间 经验之谈如果你的系统仓库里有它优先用包管理器只有当仓库没有、或版本太旧时再考虑 Cargo 或源码路线。第二步在你自己的系统上一条命令装好Linux主流发行版对照表不同发行版的包名和命令略有差异直接查表照抄发行版安装命令备注Arch Linux / Manjaropacman -S uutils-coreutilsManjaro 也可以用pamac install uutils-coreutilsDebian / Ubuntuapt install rust-coreutils装完需要手动配置路径见下方说明Fedoradnf install uutils-coreutils同样需要配置路径NixOSnix-env -iA nixos.uutils-coreutils需要 nixpkgs unstable 通道Alpine (edge)apk add uutils-coreutils必须在 edge 仓库里Gentooemerge sys-apps/uutils-coreutils—Debian/Ubuntu 和 Fedora 用户注意这两个发行版把工具装在了默认 PATH 之外的目录里装完需要把路径加到环境变量。你可以把下面这行加进~/.bashrc或~/.zshrc让它永久生效# Debian / Ubuntu export PATH/usr/lib/cargo/bin/coreutils:$PATH # Fedora export PATH/usr/libexec/uutils-coreutils:$PATHmacOSHomebrew 一步到位macOS 上最顺手的还是 Homebrewbrew install uutils-coreutils如果你习惯用 MacPorts 而不是 Homebrew对应的命令是port install coreutils-uutilsWindowsWinget 或 Scoop 二选一Windows 11 自带 Winget直接打开终端输入winget install uutils.coreutilsScoop 用户则可以用scoop install uutils-coreutils两条路线装出来的东西基本一致选你已经在用的那个即可。第三步没有现成包用 Cargo 或 Conda 跨平台兜底用 Rust 的 Cargo 编译出二进制只要机器上装了 Rust 工具链Cargo一条命令就能在任意平台编译出可用版本。区别只在于末尾的 feature 开关——--features后面指定的是为哪个操作系统构建# Linux 和 macOS 都使用 unix feature cargo install coreutils --features unix --locked # Windows 使用 windows feature cargo install coreutils --features windows --locked--locked表示锁定依赖版本保证你和仓库作者编译出的依赖树一致可以避免我这儿编译不出来这类偶发问题。装完后二进制默认落在~/.cargo/bin里。Conda 环境里直接装如果你的日常开发都在 Conda 环境里conda-forge 渠道也提供了现成包conda install -c conda-forge uutils-coreutils源码编译想追最新版或改代码时才用前几条路线拿到的都是某个发布版本。如果你想要 main 分支的最新功能或者想自己魔改才需要走到这一步git clone https://gitcode.com/GitHub_Trending/co/coreutils cd coreutils克隆完成后按仓库里的构建文档操作即可入口是 docs/src/build.md它会告诉你cargo build --release各档配置普通版、最小体积版、带调试信息版分别怎么编译。编译完成后再执行安装就能得到完全属于自己的版本了。第四步首次运行确认它真的装好了装完别急着走用下面三步验证一下1 分钟搞定看版本确认命令能找到coreutils --version能看到版本号就说明安装成功了。跑一个真实工具感受一下多调用二进制的用法——第一个参数是工具名后面才是该工具自己的参数coreutils ls -l看看这个版本都装了什么coreutils --help它会列出当前构建包含的全部工具清单。如果你的发行版包或你的 feature 选择里没包含某个工具这里就会缺席——这也是判断该不该换条路线重装的直观依据。之后你在终端里直接敲ls、cp这些命令时系统按 PATH 顺序找到谁就执行谁想让 uutils 版本优先就确保它所在的目录排在 PATH 前面。卡住了三种常见情况的处理情况一coreutils命令找不到command not found最常见于包管理器路线和 Cargo 路线。包管理器路线照第二步的说明加 PATHCargo 路线则检查~/.cargo/bin是否在你的 PATH 里echo $PATH不在的话把export PATH$HOME/.cargo/bin:$PATH写进你的 shell 配置文件重新打开终端再试。情况二装好了但想用的工具不在清单里比如你装了 Linux 的包却发现缺少 Windows 上才有的stdbuf或者想要某个只在 main 分支实现的新工具。回到选路线那一步升级到 Cargo 安装或源码编译并按你的平台带上正确的--features。情况三行为和 GNU 原版有细微差异这是重写项目在新旧版本交替期的正常现象。你可以先只把它用于非关键流程观察一段时间遇到问题查一下 docs/src/ 下的文档或对照 tests/by-util/ 里的测试用例理解预期行为。想继续深挖从这两个地方入手安装与分发包完整列表docs/src/installation.md本文所有包管理器命令都出自这里还收录了 FreeBSD、AUR、Yocto 等更多渠道。多调用二进制机制docs/src/multicall.md几行就能看完coreutils [工具名] [参数]的工作原理。每个工具的源码src/uu/目录名就是工具名比如 src/uu/sort/ 就是排序工具的完整实现。装好之后不妨先拿coreutils wc、coreutils head这类低风险命令练手确认一切顺手再逐步把它放进你的日常脚本里。【免费下载链接】coreutilsCross-platform Rust rewrite of the GNU coreutils项目地址: https://gitcode.com/GitHub_Trending/co/coreutils创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表