top of page

Tech Sense: July 2026

  • John Bell
  • Jul 11
  • 4 min read


Coreutils

In June, we discussed editors across several generations, computers, and operating systems.  This month Microsoft announced an implementation of a Windows version of the GNU Core Utilities typically called Coreutils.  

Many of these individual utilities go back to the original UNIX and its variations over the years.  Combining these packages as they are now didn’t happen until 1992 when the GNU team decided to call them the Coreutils.

This month, Microsoft decided to release a mostly compatible version of Coreutils to “mostly” work on Windows.  The idea was to make it easier to maintain and support scripts written for Linux that could also run on Windows.  Microsoft is also rewriting the code in Rust, which is a new language with big security benefits.  The Linux community has an open discussion on replacing their implementation with a new Rust version as well.  Canonical, the creators of Ubuntu Linux are in the process of rewriting the complete set of Linux Coreutils into Rust.

 

What is Coreutils?

Coreutils is a collection of typically small utilities implemented as command line tools to support useful administration and management tasks.  Command line tools are those that run on the DOS command line in Windows.  These tools frequently appear on Linux, UNIX, Mac OS, Chrome OS, and Android systems.  These tools are organized into three primary groupings, File Utilities, Text Utilities, and Shell Utilities.  Most Coreutils implementations also follow the POSIX standards for UNIX like systems allowing script execution on all POSIX supporting systems.

 

What are these utilities?

There are over 100 utilities, and I am not going to list them all, but I will list some of the more important ones. 

File Management

These utilities work with managing files on the system.

·         ls – List the files in a directory.  Similar to dir in DOS.

·         cp – Copies files from one directory to another. Similar to DOS copy.

·         mv – Moves a file from one directory to another. Similar to the DOS move command.

·         rm – Removes a file from a directory. Similar to DOS del command

·         mkdir – Creates a new directory.  Similar to mkdir on DOS.

·         ln – Creates a symbolic link to an existing file.  Similar to the DOS mklink command.

·         touch – update a files time stamp or creates a new empty file. No DOS equivalent.

Text Utilities

These utilities relate to processing text files.  Most of these do not have a DOS equivalent.

·         cat – displays and concatenates multiple files.

·         grep – processes general expressions outputting the results.

·         sort – sorts the input outputting the

·         awk – used for data extraction and report generation.

·         sed – A stream editor used to edit the input returning the edited result

·         head – returns the first lines of an input file.

·         tail .-.returns the last lines of an input file.

·         wc –word count counts the number of words in the input

Shell Utilities

These utilities provide system operations.  The shell is what we think of when using the command line.  Linux has many variants on the command line. Examples include bash (the Bourne again shell), csh (the “C” shell), zsh (The “Z shell), dash (Debian Almquist Shell), ksh (the Korn shell).  Each of these was created to address specific needs. The commands support all of these shells.

·         echo – Echo simply repeats the command line.

·         date – returns the system date and time.

·         whoami - repeats the current user identity.

·         uptime – outputs the length of time the system has been operating.

·         kill – stops the requested process

 

Dual Booting

Over my career, I have used both Windows and Linux often at the same time.  People created many tools to run both Windows and Linux on the same machine.  Initially the primary way was to dual boot the computer.  You could run one system or the other but not both.  This has changed over the years and I still use some of them.

 

Cygwin

Cygwin is a free and open source tool that allows most Cygwin programs to operate directly on Windows.  The developers created code to intercept the kernel commands from Linux and translate them to the windows functions.  Over the years, support for many Linux applications appeared for Windows via Cygwin.  I typically only use the Linux command line in my Windows PC since I have many Linux computers and my primary use is to run scripts.

 

Windows Subsystem for Linux (WSL)

Microsoft eventually created a system that allowed Linux to run under Windows 10 by providing the Linux systems calls in the Windows kernel (WSL1).  Now Microsoft has implemented a lightweight virtual machine via Hyper-V to support the entire Linux kernel.  Known as WSL2, this gives users the ability to choose from multiple Linux versions.

 

Virtual Hosting

I personally avoid the WSL systems because I experience problems when trying to run systems on a Virtual Machine when Hyper-V activates.  I tend to use Oracles Virtual Box VM on Windows. I have experimented with others but this one seems to work best for my applications.  Moreover, it’s free and open source.  I also use some VM’s running on Linux hosts. 

 

Over and Out

I hope you enjoyed the column this month.  Feel free to send suggestions for future topics.  In the meantime, enjoy a great summer.

Comments


bottom of page