GNU coreutils
The GNU implementations of basic Unix utilities.
GNU coreutils provides the file (cp, mv, rm, ls, cat, install, mkdir, ln), shell (echo, true, false, sleep, test, env), and text utilities (head, tail, sort, uniq, wc, cut, paste, tr, tee, fmt, fold) that ship on essentially every Linux distribution. These small commands are the building blocks that most shell scripts assume, and many of them have been remarkably stable for decades.
The GNU implementations are the reference on Linux. macOS and the BSDs ship their own (BSD-derived) versions, which behave slightly differently in places — the most common gotcha is "sed -i" requiring an empty string argument on BSD/macOS but not on GNU. Users who script across both often install the GNU coreutils on macOS via Homebrew (with a "g" prefix on commands).
coreutils is GPL-3.0-or-later and is maintained as a single project at the GNU Project. The codebase is mature; releases are infrequent and focus on bug fixes, new options for individual commands, and Unicode-friendliness improvements. It is one of the quietest, most universally-relied-on pieces of free software in existence.
Install
Already installed on every Linux system. To install the GNU versions on macOS: brew install coreutils
Authors
- GNU Project and contributors