This article needs additional citations for verification .(June 2011) |
| GNU Core Utilities | |
|---|---|
| Developer(s) | GNU Project |
| Stable release | |
| Repository | |
| Written in | C, shell script [2] |
| Operating system | Unix-like |
| Type | Miscellaneous utilities |
| License | 2007, GPL 3.0 or later since version 6.10 2002, GPL 2.0 or later until version 6.9 |
| Website | www |
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.
The commands implemented by coreutils are 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.
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 verticallydircolors– 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 filesrealpath– 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 existtruncate– Sets the size of a file via truncation or extension vdir – Like ls -l -b; by default lists files in long formatb2sum– Computes and checks BLAKE2b message digestbase32– 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 filesnumfmt– 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 filetac– 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 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 memberhostid– 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 outnproc– Queries the number of (active) processorspathchk– Checks whether file names are valid or portablepinky– 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 expressiontimeout– Runs a command with a time limit true – Does nothing but exit with success statustty– 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 ]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]