VOOZH about

URL: https://en.wikipedia.org/wiki/Coreutils

⇱ GNU Core Utilities - Wikipedia


Jump to content
From Wikipedia, the free encyclopedia
(Redirected from Coreutils)
Collection of standard, Unix-based utilities from GNU
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "GNU Core Utilities" β€“ news Β· newspapers Β· books Β· scholar Β· JSTOR
(June 2011) (Learn how and when to remove this message)
GNU Core Utilities
DeveloperGNU Project
Stable release
9.10[1] πŸ‘ Edit this on Wikidata
/ 4 February 2026; 59 days ago (4 February 2026)
Written inC, shell script[2]
Operating systemUnix-like
TypeMiscellaneous utilities
License2007, GPL 3.0 or later since version 6.10
2002, GPL 2.0 or later until version 6.9
Websitewww.gnu.org/software/coreutils/
Repository

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

[edit]

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

[edit]
  • 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

[edit]
  • 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

[edit]
  • 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

[edit]

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]

In July 2007, the license of the GNU coreutils was updated from GPL-2.0-or-later to GPL-3.0-or-later.[8]

In April 2026, Canonical is planning to replace the standard, C-based coreutils package with one written in Rust in their release of Ubuntu 25.10 and 26.04 LTS.[9] A preview version of the package is currently available, though some complain about performance and security issues.[10]

See also

[edit]

References

[edit]
  1. ^ PΓ‘draig Brady (4 February 2026). "coreutils-9.10 released [stable]". Retrieved 4 February 2026.
  2. ^ "The GNU Core Utilities Open Source Project on Open Hub: Languages Page". openhub.net. Archived from the original on 28 March 2019. Retrieved 28 March 2019.
  3. ^ MacKenzie, David J. (8 February 1990). "GNU file utilities release 1.0". groups.google.com. Archived from the original on 28 April 2023. Retrieved 24 September 2025.
  4. ^ MacKenzie, David J. (16 July 1991). "GNU shell programming utilities released". groups.google.com. Archived from the original on 28 April 2023. Retrieved 28 April 2023.
  5. ^ MacKenzie, David J. (22 August 1991). "new GNU file and text utilities released". groups.google.com. Archived from the original on 3 December 2024. Retrieved 24 September 2025.
  6. ^ "GNU's Who". gnu.org. Archived from the original on 28 April 2023. Retrieved 28 April 2023.
  7. ^ Meyering, Jim (13 January 2003). "readme-package-renamed-to-coreutils". git.savannah.gnu.org. Archived from the original on 25 December 2019. Retrieved 15 August 2018.
  8. ^ 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.
  9. ^ Rendek, Lubos (4 November 2025). "Ubuntu 26.04: Release Date and New Features in Resolute Raccoon". linuxconfig.org. Retrieved 10 November 2025.
  10. ^ Larabel, Michael (15 September 2025). "Ubuntu 25.10's Rust Coreutils Transition Has Uncovered Performance Shortcomings". Phoronix. Archived from the original on 9 November 2025. Retrieved 9 November 2025.

External links

[edit]
The Wikibook Guide to UNIX has a page on the topic of: Commands