New options for traditional Unix commands

Command Line – Alternative Unix Commands

© Photo by Louis-Philippe Poitras on Unsplash

© Photo by Louis-Philippe Poitras on Unsplash

Article from Issue 264/2022

If you are looking for modern display options or more speed at the command line, these alternatives to traditional Unix commands may be just what you need.

The development of Unix began over 50 years ago. In contrast to commercial software, most of Unix's basic commands are still in use today. However, in the past couple decades, alternatives have been developed for a variety of reasons. For instance, restrictions such as lack of memory or color monitors or limits on file name lengths have long since disappeared, opening the way for more to be done with a command. Also, now that desktop environments are the norm, users demand more even at the command line. Sometimes, too, commands or some of their options have become obsolete or too numerous and too complex for their most common uses, resulting in the desire for simplification. At other times, developers want to try their hand at developing an improved version. Here are some of the new options for some common traditional commands.

tree or exa for ls

As one of the most commonly used commands for command-line navigation, ls is a popular choice for updating. If nothing else, the fact that many distributions routinely alias ls for ls --color highlights how much room there is for improvement. It's not surprising, then, that at least half a dozen replacements for ls exist, all of them routinely using color as well as other enhancements.

One popular replacement is tree. As the name suggests, tree displays results in a tree structure, making the results easier to read (Figure 1). With tree, you can specify the tree's depth, as well as the full path to each file. Conveniently, tree also includes five sorting orders. Also useful, tree allows for the customization of colors through environmental variables and shows the path to the original file for symlinks.

Figure 1: Similar to a file manager, tree lists directories and files in a color-coded directory tree.

Another popular ls replacement, exa (Figure 2), starts with color and human-readable file sizes enabled, as well a variety of display options, ranging from one entry per line and a table for long forms. Like tree, exa has options for a tree view and different sorting orders according to different file attributes.

Figure 2: exa is a modern replacement for ls.

bat for cat

Although many users prefer the less command, cat remains a popular choice for viewing text files. As a complete replacement for cat, bat also adds syntax highlighting. If a file is longer than the screen, bat will display the file using less to make scrolling back and forth easier (Figure 3). For coders, bat integrates with git.

Figure 3: When a file is long, bat automatically displays the file with less, making scrolling back and forth easier.

tldr for man

Man pages are the most common form of Linux documentation for commands. Unfortunately, their quality varies with the writers. Some man pages lack context and examples, and some are too technical for average users. Moreover, even the best-written can be long and complex. While tldr (which stands for "too long; didn't read," a common synonym for summaries) [1] does not replace man pages, it does give clear, concise explanations and covers the most common use cases (Figure 4). To install the tldr database, you need to install the Node.js client and run:

npm install -g tldr
Figure 4: A quick crib for man pages, tldr features useful examples.

or you can install the Python client with:

pip3 install tldr

The first time you use tldr, there will be a short delay while the database is created. Once that is done, tldr has a similar or faster response time than that of man.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Cheat Sheet

    A simplified alternative to man pages, tldr provides the most common command options at a glance.

  • Location, location, location

    As the latest successor to locate, plocate produces some of the quickest search results possible on any system.

  • Command Line: tree

    The tree command can provide a clear view of all your files and directories and offers a few advantages over the usual ls command.

  • New Commands for Old Purposes

    As the standard core Linux commands have become more complex due to revisions, new commands have risen to take their place. Bruce looks at seven of these modern commands, plus a terminal emulator.

  • Show Me!

    There is nothing that admins hate more than unnecessary typing at the console. That's why Charly's clever alternative exa replaces the classic, but ancient, ls.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More