No description
  • C 56.2%
  • Shell 27.9%
  • Perl 11.6%
  • Makefile 2.2%
  • M4 0.9%
  • Other 1.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Collin Funk 6ff3889887 tests: cp: avoid a false failure on GNU/Hurd
* tests/cp/sparse-to-pipe.sh: Use 'cp -T' to avoid opening the fifo as a
target directory, which causes GNU/Hurd to wait for a writer.
2026-09-11 23:39:57 -07:00
.github doc: relax github issue/pull-request instructions 2026-02-12 17:42:52 +00:00
build-aux build: reduce size of multi-call binary by reusing true logic 2026-07-19 10:53:39 -07:00
doc printenv: don't quote output when given arguments and redirected 2026-08-31 18:15:39 -07:00
gl maint: change inappropriate uses of unreachable() 2026-08-18 12:25:21 +01:00
gnulib@106e9b2384 build: update gnulib submodule to latest 2026-09-07 17:11:50 +01:00
gnulib-tests build: Update after gnulib changed 2025-09-03 18:08:53 -07:00
lib maint: run 'make update-copyright' 2026-01-01 10:56:16 -08:00
m4 build: fix build failure on AIX 2026-04-16 22:05:13 +01:00
man doc: wc: clarify that wc supports character counts 2026-07-14 17:30:29 +01:00
po maint: translate messages from Gnulib 2026-08-25 10:24:59 -07:00
scripts maint: run 'make update-copyright' 2026-01-01 10:56:16 -08:00
src stat,tail: recognize failfs file system type 2026-09-07 18:15:24 +01:00
tests tests: cp: avoid a false failure on GNU/Hurd 2026-09-11 23:39:57 -07:00
.gitattributes build: allow whitespace violations in gl/lib/*.diff files 2009-10-29 08:14:42 +01:00
.gitignore env: use argz for NUL delimited parsing 2026-08-14 18:00:15 +01:00
.gitmodules maint: prefer https: to git: 2023-02-04 14:13:27 -08:00
.mailmap maint: remove duplicate names from THANKS 2026-03-08 10:37:45 -07:00
.prev-version maint: post-release administrivia 2026-04-20 14:17:01 +01:00
.vg-suppressions maint: run 'make update-copyright' 2026-01-01 10:56:16 -08:00
.x-update-copyright maint: sync longlong.h from gmp 2025-05-12 01:28:48 -07:00
AUTHORS logname: list David MacKenzie as the author 2025-08-18 20:42:48 -07:00
bootstrap build: update gnulib submodule to latest 2026-08-25 10:24:59 -07:00
bootstrap.conf build: sort: explicitly tag libcrypto dependency 2026-09-06 23:16:55 +01:00
cfg.mk maint: add syntax check to prefer memeq() over memcmp()==0 2026-08-14 18:00:15 +01:00
configure.ac maint: translate messages from Gnulib 2026-08-25 10:24:59 -07:00
COPYING maint: sync extra files from gnulib 2019-03-11 11:39:29 +01:00
DEPENDENCIES doc: document change from --enable-systemd to --with-systemd 2026-08-10 21:05:17 +01:00
dist-check.mk maint: avoid "make distcheck" failure without excess .deps directories 2016-11-30 14:48:01 +00:00
HACKING maint: avoid a recent syntax check failure 2026-07-16 12:28:07 +01:00
init.cfg tests: avoid hangs with strace on cygwin 2026-09-10 16:40:06 +01:00
Makefile.am doc: remove older ChangeLog items 2026-09-07 17:46:24 +01:00
NEWS stat,tail: recognize failfs file system type 2026-09-07 18:15:24 +01:00
PACKAGING doc: mention the option of a multi-call binary package 2026-07-25 12:43:21 +01:00
README doc: reference the github mirror in docs 2026-07-15 15:43:20 +01:00
README-hacking maint: run 'make update-copyright' 2026-01-01 10:56:16 -08:00
README-install doc: detail dependencies for users and distributions 2026-07-25 12:24:51 +01:00
README-package-renamed-to-coreutils maint: modernize URLs 2017-01-14 23:59:01 -08:00
README-prereq doc: detail dependencies for users and distributions 2026-07-25 12:24:51 +01:00
README-release all: prefer HTTPS in URLs 2017-09-19 01:22:54 -07:00
README-valgrind maint: run 'make update-copyright' 2026-01-01 10:56:16 -08:00
thanks-gen maint: generate much of the THANKS file 2011-01-01 10:56:49 +01:00
THANKS.in env: support --env0-from to read NUL separated vars from file 2026-08-14 18:00:15 +01:00
THANKStt.in *** empty log message *** 2002-08-26 13:04:49 +00:00
TODO maint: run 'make update-copyright' 2026-01-01 10:56:16 -08:00

These are the GNU core utilities.  This package is the union of
the GNU fileutils, sh-utils, and textutils packages.

Most of these programs have significant advantages over their Unix
counterparts, such as greater speed, additional options, and fewer
arbitrary limits.

The programs that can be built with this package are:

  [ arch b2sum base32 base64 basename basenc cat chcon chgrp chmod chown
  chroot cksum comm coreutils cp csplit cut date dd df dir dircolors dirname
  du echo env expand expr factor false fmt fold groups head hostid hostname
  id install join kill link ln logname ls md5sum mkdir mkfifo mknod mktemp
  mv nice nl nohup nproc numfmt od paste pathchk pinky pr printenv printf ptx
  pwd readlink realpath rm rmdir runcon seq sha1sum sha224sum sha256sum
  sha384sum sha512sum shred shuf sleep sort split stat stdbuf stty sum sync
  tac tail tee test timeout touch tr true truncate tsort tty uname unexpand
  uniq unlink uptime users vdir wc who whoami yes

See the file NEWS for a list of major changes in the current release.

If you obtained this file as part of a "git clone", then see the
README-hacking file.  If this file came to you as part of a tar archive,
then see the file INSTALL for general compilation and installation
instructions, or README-install for system and coreutils specific instructions.

Like the rest of the GNU system, these programs mostly conform to
POSIX, with BSD and other extensions.  For closer conformance, or
conformance to a particular POSIX version, set the POSIXLY_CORRECT
and the _POSIX2_VERSION environment variables, as described in
the documentation under "Standards conformance".

The ls, dir, and vdir commands are all separate executables instead of
one program that checks argv[0] because people often rename these
programs to things like gls, gnuls, l, etc.  Renaming a program
file shouldn't affect how it operates, so that people can get the
behavior they want with whatever name they want.

Special thanks to Paul Eggert, Brian Matthews, Bruce Evans, Karl Berry,
Kaveh Ghazi, and François Pinard for help with debugging and porting
these programs.  Many thanks to all of the people who have taken the
time to submit problem reports and fixes.  All contributed changes are
attributed in the commit logs.

And thanks to the following people who have provided accounts for
portability testing on many different types of systems: Bob Proulx,
Christian Robert, François Pinard, Greg McGary, Harlan Stenn,
Joel N. Weber, Mark D. Roth, Matt Schalit, Nelson H. F. Beebe,
Réjean Payette, Sam Tardieu.

Thanks to Michael Stone for inflicting test releases of this package
on Debian's unstable distribution, and to all the kind folks who used
that distribution and found and reported bugs.

Note that each man page is now automatically generated from a template
and from the corresponding --help usage message.  Patches to the template
files (man/*.x) are welcome.  However, the authoritative documentation
is in texinfo form in the doc directory.


***************
Feature requests:
---------------

If you would like to add a new feature, please try to get some sort of
consensus that it is a worthwhile change.  One way to do that is to send
mail to coreutils@gnu.org including as much description and justification
as you can.  Based on the feedback that generates, you may be able to
convince us that it's worth adding.  Please also consult the list of
previously discussed but ultimately rejected feature requests at:
https://www.gnu.org/software/coreutils/rejected_requests.html


***************
Reporting bugs:
---------------

Send bug reports, questions, comments, etc. to bug-coreutils@gnu.org.
To suggest a patch, see the files README-hacking and HACKING for tips.

All of these programs except 'test' recognize the '--version' option.
When reporting bugs, please include in the subject line both the package
name/version and the name of the program for which you found a problem.

If you have a problem with 'sort', try running 'sort --debug', as it
can often help find and fix problems without having to wait for an
answer to a bug report.  If the debug output does not suffice to fix
the problem on your own, please compress and attach it to the rest of
your bug report.

IMPORTANT: if you take the time to report a test failure,
please be sure to include the output of running 'make check'
in verbose mode for each failing test.  For example,
if the test that fails is tests/df/df-P.sh, then you would
run this command:

  make check TESTS=tests/df/df-P.sh VERBOSE=yes SUBDIRS=. >> log 2>&1

For some tests, particularly perl tests, you can get even more detail by adding
DEBUG=yes. Then include the contents of the file 'log' in your bug report.


***************************************

There are many tests, but nowhere near as many as we need.
Additions and corrections are very welcome.

If you see a problem that you've already reported, feel free to re-report
it -- it won't bother us to get a reminder.  Besides, the more messages we
get regarding a particular problem the sooner it'll be fixed -- usually.
If you sent a complete patch and, after a couple weeks you haven't
received any acknowledgement, please ping us.  A complete patch includes
a well-written ChangeLog entry, unified (diff -u format) diffs relative
to the most recent test release (or, better, relative to the latest
sources in the public repository), an explanation for why the patch is
necessary or useful, and if at all possible, enough information to
reproduce whatever problem prompted it.  Plus, you'll earn lots of
karma if you include a test case to exercise any bug(s) you fix.
Here are instructions for checking out the latest development sources:

  https://savannah.gnu.org/git/?group=coreutils

For general documentation on the coding and usage standards
this distribution follows, see the GNU Coding Standards at:
https://www.gnu.org/prep/standards/

For any copyright year range specified as YYYY-ZZZZ in this package
note that the range specifies every single year in that closed interval.

Please see the file COPYING for copying conditions.

You can also interact with the project through the github mirror at:
https://github.com/coreutils/coreutils

========================================================================

Copyright (C) 1998-2026 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts.  A copy of the license is included in the "GNU Free
Documentation License" file as part of this distribution.