ArticleslgStudy

computer science

GNU Core Utilities

GNU Core Utilities is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand GNU Core Utilities rather than just read about it. In short: 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.

Key takeaways

  • GNU Core Utilities belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect GNU Core Utilities to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of GNU Core Utilities from memory before moving on to harder problems.

Reference excerpt

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, and Toybox which is licensed under 0BSD.

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. Moreover, Jim Meyering became the maintainer of the packages (known now as coreutils) and has remained so since. In September 2002, the GNU coreutils were created by merging the earlier packages textutils, shellutils, and fileutils, along with some other miscellaneous utilities. In July 2007, the license of the GNU coreutils was updated from GPL-2.0-or-later to GPL-3.0-or-later. In April 2026, Canonical is planning to replace the standard, C-based coreutils package with the Rust implementation written by the Uutils Project in their release of Ubuntu 25.10 and 26.04 LTS. A preview version of the package is currently available, though some complain about performance and security issues.

See also

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with GNU Core Utilities

Start with the simplest possible case. Write down what GNU Core Utilities claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to GNU Core Utilities before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about GNU Core Utilities ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of GNU Core Utilities

In research
GNU Core Utilities appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses GNU Core Utilities in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
GNU Core Utilities is common in secondary-school and first-year university syllabi. It links to neighbouring topics Command-line software, Free software programmed in C, Free system software, so understanding it makes those chapters shorter.
In everyday life
Look for GNU Core Utilities outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “GNU Core Utilities” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study GNU Core Utilities in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what GNU Core Utilities means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain GNU Core Utilities out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is GNU Core Utilities in simple terms?

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.

Why does GNU Core Utilities matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study GNU Core Utilities?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on GNU Core Utilities.

Tags

  • Command-line software
  • Free software programmed in C
  • Free system software
  • GNU Project software
  • Lists of software
  • Software using the GNU General Public License
  • System administration
  • Unix SUS2008 utilities
  • Unix software

Keep exploring