用 Rust 重写的 coreutils 和 findutils 变体的新版本

uutils coreutils 0.0.18 工具包的发布可用,其中正在开发用 Rust 语言重写的 GNU Coreutils 包的模拟。 Coreutils 附带了一百多个实用程序,包括 sort、cat、chmod、chown、chroot、cp、date、dd、echo、hostname、id、ln 和 ls。 该项目的目标是创建 Coreutils 的跨平台替代实现,可以在 Windows、Redox 和 Fuchsia 平台等平台上运行。 与 GNU Coreutils 不同,Rust 实现是在 MIT 许可下分发的,而不是 GPL copyleft 许可。

主要变化:

  • 改进了与 GNU Coreutils 参考测试套件的兼容性,其中 340 个测试通过,210 个测试失败,50 个测试被跳过。 参考版本是 GNU Coreutils 9.2。
    用 Rust 重写的 coreutils 和 findutils 变体的新版本
  • 增强功能、改进兼容性并为实用程序添加缺少的选项 cksum、chmod、chroot、comm、cp、cut、date、dd、du、expand、env、factor、hashsum、install、ln、ls、mktemp、mv、nice、nproc , od, ptx, pwd, rm, shred, sleep, stdbuf, stty, tail, touch, timeout, tr, uname, uniq, utmpx, uptime, wc.
  • ln、cp 和 mv 实用程序中的交互模式 (-i) 已得到改进。
  • 改进了 yes、tee 和 timeout 实用程序中的信号处理。
  • 更改为 is_terminal 包而不是 atty 来定义终端。

同时,uutils findutils 0.4.0 包发布了 GNU Findutils 套件(find、locate、updatedb 和 xargs)实用程序的 Rust 实现。 在新版本中:

  • 添加了对 GNU 兼容的 printf 函数的支持。
  • xargs 实用程序已实现。
  • 添加了对正则表达式、POSIX 通配符和“{}”替换的支持。
  • 添加了对“-print0”、“-lname”、“-ilname”、“-empty”、“-xdev”、“-and”、“-P”、“-”、“-quit”选项的支持以查找实用程序“-mount”、“-inum”和“-links”。

来源: opennet.ru

添加评论