This article needs additional citations for verification .(June 2011) |
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]