The GNU Core Utilities or coreutils is a package of GNU software containing implementations for many of the basic tools, such as cat, ls, and rm, which are used on Unix-like operating systems.
Every day, we use many command-line tools to manage our systems, and perform basic tasks. Many of the programs provided by coreutils are staples in our daily life. Over the years, these tools have been updated and ported to other systems, but they still retain many of their original traits.
Alternative implementation packages, with a slightly different scope and focus, or license. For example, GPLv2-licensed BusyBox and BSD-licensed Toybox are available for use in embedded devices. There also a project called uutils-coreutils which seeks to write cross-platform CLI utilities in Rust. It aims for high compatibility with coreutils. Adoption of the tools hasn’t spread to production environments. There’s also an alternative to coreutils using software from FreeBSD but compatibility is low, user adoption is very low, and like uutils-coreutils it’s missing many commands.
Some budding open source developers have tasked themselves to modernise some of the coreutils. Here’s our favourites.
The vast number of tools provided by coreutils aren’t represented here. If you know of a good open source drop-in replacement for any of the other coreutils, share in the Comments section.
|Drop-in replacement for Core Utilities|
|bat||Concatenates and prints files on the standard output||cat|
|Shows disk free space on file systems||df|
|Lists the files in a directory |
See these other alternatives
|pycp||Copies a file or directory |
Moves files or rename files
|Estimates file space usage|
See these other alternatives
|less||Output the last part of files. Use less +F ("forward forever" mode)||tail|
|dcfldd||Enhanced version of dd with features useful for forensics and security||dd|
|sleepenh||Delay for a specified amount of time||sleepenh|
There are lots of commands that are sometimes referred to as Core Utilities, but aren’t provided by coreutils. Commands like grep, find, cd are cornerstone commands but are provided by other packages (cd is actually a shell builtin).
This article only looks at commands provided by coreutils. If you’re not sure what coreutils provides, type:
$ dpkg-query -L coreutils
|New to Linux? Read our Linux for Starters series.|
|The largest compilation of the best free and open source software in the universe. Supplied with our legendary ratings charts.|
|Hundreds of in-depth reviews offering our unbiased and expert opinion on software.|
|Alternatives to Google's Products and Services examines your options to migrate from the Google ecosystem with open source Linux alternatives.|
|Alternatives to Microsoft's Products and Services recommends open source Linux software.|
|Essential Linux system tools looks at small, indispensable utilities, useful for system administrators as well as regular users.|
|Linux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine.|
|Home computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum.|
|Now and Then examines how promising open source software fared over the years.|
|Linux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged.|
|Linux Candy opens up to the lighter side of Linux. Have some fun!|
|Best Free Android Apps. There's a strict eligibility criteria for inclusion in this series|
|These best free books accelerate your learning of every programming language|
|These free tutorials offer the perfect tonic to the free programming books series|
|Stars and Stripes is an occasional series looking at the impact of Linux in the USA|