CACrown ArchivesThe cinema collection
Menu
Research dossier · Science & Nature

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

Specimen drawers, botanical folios and brass scientific instruments under study light
Science and natureInterpretive dossier study · Crown Archives visual atlas
Record originEnglish Wikipedia
Text licenseCC BY-SA 4.0
Source revisionSep 8, 2026
Entity authorityQ1348204
Source-derived summary

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.

Editorial summary

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.

Editorial reviewA sound reference starting point where classification, measurement and the date of the underlying evidence remain visible. The current lead gives the account dated anchors—1970, 1990, 1991—that can be checked directly. The selected authority fields contribute no independent date. For this dossier, Core, Utilities and package is the immediate research focus.
Editorial analysis

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.

Evidence profile

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.

Critical limits

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.

Best used for
  • Current terminology
  • Classification context
  • Finding cited technical literature
Verify next

Primary datasets, specimen catalogues, standards bodies and the most recent peer-reviewed literature.

Three-step research path

  1. Establish the record: confirm the title “GNU Core Utilities”, its source revision and the description used here.
  2. Expand the search: follow GNU Core Utilities primary sources, GNU Core Utilities archive and Core research across catalogues and specialist indexes.
  3. Test the account: compare the strongest cited source with the responsible institution’s current record and note any disagreement.

Questions for further research

  1. Which source most directly establishes the central claim about “GNU Core Utilities”?
  2. Which observation, specimen, dataset or publication supports the account?
  3. Is the terminology current, historical or disputed?
Subject index

Search terms from this dossier

Source & attribution

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.