The GNU Core Utilities or coreutils is a collection of GNUsoftware that implements many standard, Unix-based shellcommands. The utilities generally provide POSIX compliant interface when the POSIXLY_CORRECT environment variable is set, but otherwise offers a superset to the standard interface. For example, the utilities support long options and options after parameters. This environment variable enables a different functionality in BSD.
Similar collections are available in the FOSS ecosystem, with a slightly different scope and focus (less functionality), or license. For example, BusyBox which is licensed under GPL-2.0-only, and Toybox which is licensed under 0BSD.
Commands
The commands implemented by coreutils are listed below. Throughout this article and customary for Unix-based systems, the term file refers to all file system items including regular files and special files such as directories.
[ – Synonym for test that enables expressions like [ expression ]
History
In 1990, David MacKenzie announced GNU fileutils.[3]
In 1991, MacKenzie announced GNU shellutils and GNU textutils.[4][5] Moreover, Jim Meyering became the maintainer of the packages (known now as coreutils) and has remained so since.[6]
In September 2002, the GNU coreutils were created by merging the earlier packages textutils, shellutils, and fileutils, along with some other miscellaneous utilities.[7]
^Meyering, Jim (23 July 2007). "copying: Update to Version 3". git.savannah.gnu.org. Archived from the original on 25 December 2019. Retrieved 15 August 2018.
"Rosetta Stone For *Nix". bhami.com. Retrieved 24 September 2025. – configurable list of equivalent programs for *nix systems.
Rösler, Wolfram (2007). "The Unix Acronym List". roesler-ac.de. Archived from the original on 6 August 2024. Retrieved 24 September 2025. – explains the names of many Unix commands.