gnu coreutils
2013-05-24 11:34:39 阿炯

在一台新的Linux系统装好后,即使是最小安装,也会发现有许多工具指令可用,当然也可以通过安装软件包来添加更多的命令;具体的指令(可能是多个)属于该软件包,所以系统PATH里的可执行命令是属于某一软件包中的,而那些常见的一系列命令则属于这个包。包含文件(chown,cp,dh,mv,rm)、shell(id,nice,nohup,date,tee,ture,tty,who)和文本处理(cat,od,head,tail,wc,uniq)的工具包。

The GNU Core Utilities are the basic file, shell and text manipulation utilities of the GNU operating system.These are the core utilities which are expected to exist on every operating system.


当然也有windows的迁移版本,详情请参考此处

文档参考

用Rust编写的GNU Coreutils替代品Rust Coreutils。

2022年1月30日消息,GNU Coreutils 在 Linux 系统和其他平台上提供了一些常见且重要的命令行工具,GNU Core Utilities 包括常用的命令,如 cat、ls、rm、chmod、mkdir、wc、whoami 和许多其他命令。随着行业内广泛将安全敏感代码转换为像 Rust 这样的内存安全语言,Sylvestre Ledru 和其他开发人员一直在开发基于 Rust 的 Coreutils 替代品 —— Rust Coreutils:完全清除 C 语言代码,转而使用 Rust 这种主打内存安全性和安全性的现代编程语言。

近一年来 Rust Coreutils 取得一些进展,已经能够在基本的 Debian 系统上运行,而最近一直在提高 GNU Coreutils 的兼容性。据外媒 phoronix 介绍,Rust Coreutils 不仅更安全,对于一些二进制文件,现在看到的性能比 GNU 包中的命令(如 head、cut 和其他常见命令)“显着地”要好。不过现在 Rust  Coreutils 仍然面临着缩小与上游 GNU 命令兼容性的挑战。目前唯一尚待实现的二进制文件之一是 stty,除了优化和兼容性工作之外,开发人员还在努力让 Debian 和 Ubuntu 在默认情况下能轻松切换到 Rust Coreutils。

通过其博客可以了解有关 Rust Coreutils 当前状态的更多详细信息,该项目的源代码可在 GitHub 中查看。


最新版本:9.1
GNU Coreutils 9.1 现已于2022年4月中旬发布。GNU Core Utilities 是 GNU 操作系统的基本文件、shell 和文本操作实用程序,这些是预期存在于每个操作系统上的核心实用程序。本次更新包含了广泛的修复、改进和其他改动。一个令人兴奋的方面是各种效率改进,如 cat 现在使用 copy_file_range 系统调用,对其他命令则使用更优化的 syscalls 以提高效率。一些亮点更新内容如下:
cat 命令现在使用 copy_file_range 系统调用,在常规文件之间进行简单的拷贝。反过来,在可能的复制卸载/重新链接中,这应该是更有效的。copy_file_range 系统调用用于从一个文件拷贝到另一个文件--在两个文件描述符之间拷贝一定范围的数据,而不需要通过用户空间。
cp、mv 和 install 命令在复制到一个目录时,现在使用类似 openat 的系统调用,这将避免一些 race conditions,并且更有效率。
ls 命令默认情况下不再给文件着色,因为它们很少被使用,而且每个文件的处理时间会增加约 30%。
ls 和 stat 命令默认不再尝试自动挂载文件,而是恢复到早期的行为。
如果遇到符号链接,使用 chmod -R 的递归 chmod'ing 将不再以错误状态退出。
修复了 macOS 上的 copy 行为,如果从苹果 APFS 文件系统复制到其他文件系统,可能导致误复制问题。还有其他的 macOS 修复,当源文件和目标文件是 APFS 上的普通文件时,copy 现在会创建一个 copy-on-write clone。

更多详情可查看此处


项目主页:http://www.gnu.org/software/coreutils/