Post

GNU Core Utilities Introduction

GNU Core Utilities Introduction

Introduction

GNU Core Utilities or coreutils is a collection of core utility commands.

It began as multiple separate projects, namely (all from David Mackenzie):

  • fileutils (1990)
  • shellutils and textutils (1991)

In September 2002, these were merged together to form GNU Coreutils, while Jim Meyering served as the maintainer.

Commands

Coreutils consists of over 100 individual commands, mainly falling into 3 buckets—the same from which it originated:

  • file utilities: ls, cp, mv, rm, mkdir, rmdir, ln, chmod/chown
  • shell utilities: pwd, echo, whoami/id, date, uname
  • text utilities: cat, wc, cut/paste, tr

cd—as opposed to common sense—is not a part of coreutils. It’s because cd has to be a shell-builtin to work.

Current working directory (CWD) is a process trait (controlled via chdir() system call). If cd were an external utility, the process running it would not be able to change its parent process’s (the invoking shell’s) CWD.

These are fundamental commands, essential to operate in the CLI world. Unlike other operating systems where these commands are “baked into” the shell, these are standalone binaries placed in /bin and /sbin.

This post is licensed under CC BY 4.0 by the author.

Trending Tags