GNU Core Utilities
package of GNU software containing reimplementations for many of the basic tools, such as cat, ls, and rm, used on Unix-like operating

The GNU Core Utilities or Coreutils is a collection of GNU software that implements many standard, Unix-based shell commands. 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, Toybox which is licensed under 0BSD and Uutils under MIT License.
Commands
Currently, there are over 100 commands implemented by Coreutils, with the commands 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.
File utilities
chcon – Changes file security context (SELinux)
chgrp – Changes file group ownership
chown – Changes file user ownership
chmod – Changes file permissions
cp – Copies files
dd – Copies and converts file data
df – Reports file system free space
dir – Like ls -C -b; by default lists files in columns, sorted vertically
dircolors – Configures colors used for ls output
install – Copies files and sets file attributes
ln – Creates a link to a file
ls – Lists files
mkdir – Creates directories
mkfifo – Creates named pipes (FIFOs)
mknod – Creates block or character special files
mktemp – Creates temporary regular files or directories
mv – Moves and renames files
realpath – Reports the absolute or relative path of a file
rm – Deletes files
rmdir – Deletes empty directories
shred – Overwrites a file to hide its contents and optionally deletes it
sync – Flushes file system buffers
touch – Changes file timestamps, creating files if they do not exist
truncate – Sets the size of a file via truncation or extension
vdir – Like ls -l -b; by default lists files in long format
Text utilities
b2sum – Computes and checks BLAKE2b message digest
base32 – Encodes or decodes base32
base64 – Encodes or decodes base64
basenc – Encodes or decodes various encodings including hexadecimal, base32, base64, and Z85
cat – Concatenates files
cksum – Report or compute the checksum of files
comm – Compares two sorted files line by line
csplit – Splits a file into sections determined by context lines
cut – Removes sections from each line of files
expand – Converts tabs to spaces
fmt – Formats text
fold – Wraps each input line to fit in specified width
head – Outputs the first part of files
join – Joins lines of two files on a common field
md5sum – Computes and checks MD5 message digest
nl – Numbers lines of files
numfmt – Formats numbers
od – Dumps files in octal and other formats
paste – Merges lines of files
ptx – Produces a permuted index of file contents
pr – Paginates or columnates files
sha1sum, sha224sum, sha256sum, sha384sum, sha512sum – Computes and checks SHA-1/SHA-2 message digests
shuf – Generates random permutations
sort – Sorts lines of text files
split – Splits a file into pieces
sum – Checksums and counts the blocks in a file
tac – Concatenates files in reverse order, line by line
tail – Outputs the last part of files
tr – Translates or deletes characters
tsort – Performs a topological sort
unexpand – Converts spaces to tabs
uniq – Removes duplicate lines from a sorted file
wc – Reports the number of bytes, words, and lines in files
Shell utilities
arch – Reports machine hardware name (same as uname -m)
basename – Removes the path prefix from a given pathname
chroot – Changes the root directory
date – Reports or sets the system date and time
dirname – Strips non-directory suffix from file name
du – Shows disk usage on file systems
echo – Outputs text
env – Reports and modifies environment variables
expr – Evaluates expressions
factor – Factors numbers
false – Does nothing but exit with unsuccessful status
groups – Reports the groups of which the user is a member
hostid – Reports the numeric identifier for the current host
id – Reports the real or effective UID and GID
link – Creates a link to a file
logname – Reports the user's login name
nice – Modifies scheduling priority
nohup – Allows a command to continue running after logging out
nproc – Queries the number of (active) processors
pathchk – Checks whether file names are valid or portable
pinky – A lightweight version of finger
printenv – Reports environment variables
printf – Formats text
pwd – Reports the current working directory
readlink – Reports the value of a symbolic link
runcon – Run command with specified security context
seq – Reports a sequence of numbers
sleep – Blocks (delays, waits) for a specified amount of time
stat – Reports information about an inode
stdbuf – Runs a command with custom standard streams configuration
stty – Changes and reports terminal line settings
tee – Sends output to multiple files
test – Evaluates an expression
timeout – Runs a command with a time limit
true – Does nothing but exit with success status
tty – Reports the terminal name
uname – Reports system information
unlink – Removes files via unlink() function
uptime – Reports how long the system has been running
users – Reports the user names of users currently logged into the current host
who – Reports logged-in users
whoami – Reports the effective userid
yes – Outputs a string repeatedly
[ – Synonym for test that enables expressions like [ expression ]
History
In 1970, in the initial version of Unix, a few commands, written in assembly like cp, chmod, etc have been introduced for the first time.
In 1990, David MacKenzie announced GNU fileutils.
In 1991, MacKenzie announced GNU shellutils and GNU textutils.
Begin with the source’s own compact description: “GNU Core Utilities” is package of GNU software containing reimplementations for many of the basic tools, such as cat, ls, and rm, used on Unix-like operating. The dossier treats that line as a proposition to test through Core, Utilities and package, not as a finished interpretation.
Why this record matters
The phrase “package of GNU software containing reimplementations for many of the basic tools, such as cat, ls, and rm, used on Unix-like operating” supplies a clear boundary for inquiry. It also exposes the unanswered questions: who defined that boundary, when it became stable and which sources sit outside it.
Stable identifiers, scientific names and standards terminology offer the best bridge between this overview and specialist evidence. The source revision retrieved here is dated Sep 8, 2026. The linked authority identifier is Q1348204. 1 of 1 selected statements include explicit references; 1 carry qualifiers and 0 use preferred rank. The first chronological checks are 1970, 1990 and 1991.
A general summary may omit uncertainty, sample limits or methodological disagreement that is explicit in the technical record. The lead is largely declarative, so disagreement and counter-evidence require a deliberate search beyond the opening account. Authority statements aid reconciliation but still require their own references, qualifiers and ranks to be checked.
How to read it
Check terminology, classification and the date of the cited evidence. Scientific names and technical consensus can change while older records retain historical value.
- Current terminology
- Classification context
- Finding cited technical literature
Primary datasets, specimen catalogues, standards bodies and the most recent peer-reviewed literature.
Three-step research path
- Establish the record: confirm the title “GNU Core Utilities”, its source revision and the description used here.
- Expand the search: follow GNU Core Utilities primary sources, GNU Core Utilities archive and Core research across catalogues and specialist indexes.
- Test the account: compare the strongest cited source with the responsible institution’s current record and note any disagreement.
Questions for further research
- Which source most directly establishes the central claim about “GNU Core Utilities”?
- Which observation, specimen, dataset or publication supports the account?
- Is the terminology current, historical or disputed?
Search terms from this dossier
This entry incorporates text from “GNU Core Utilities” on English Wikipedia. Contributors are listed in the page history. Text is available under the Creative Commons Attribution-ShareAlike 4.0 License. Selected authority identifiers and statements are retrieved from Wikidata under CC0; their references and qualifiers remain part of the verification path.