5 Terminal Commands That Make Your Life A Little Easier.
By: Brendan Ferris
Tags: Shell, Productivity, Terminal, Tricks, Workflow

When I was first introduced to the command line on my computer, it seemed confusing, and low-tech. It brought me back to my days as a teenager, punching codes into an old-school POS system, or checking inventory in an outdated company intranet. Though these technologies looked dated, they were functional. As I became more comfortable with the terminal I quickly realized that it was far more than functional, it exposed a host of small programs that you could use to interact with the computer, solve problems, and even chain together in complex ways. The following is a breakdown of some of the programs I find myself using most often.

Unix machines ship with the built-in command line program top which allows you to see a real-time breakdown of the processes currently running on your system. It’s a classic program, released in 1984. In 2004, Hisham Muhammad released htop (the h refers to his first initial) which is similar to top but with a nicer user interface and some additional functionality. With htop you can scroll horizontally and vertically, view processes in different formats (for example, a tree view) and the user interface has a color output, which may seem trivial but helps immensely with readability. The only downside is that htop does not come pre-installed on your machine and needs to be downloaded using the following command:

apt-get install -y htop

Or using brew on a Mac

brew install htop

htop user interface

The tree command comes pre-installed on Linux and is a handy tool I find myself using often when writing documentation for project repositories. It recursively traverses the filesystem from the folder where the command is ran. So if you typed tree in your base ~ filesystem folder, then the command would walk the entire filepath, displaying folders and filenames as it went. This command requires installation on a Mac:

brew install tree

Here is an example of the output when it is ran within a small folder:

tree command output on a mac

The amount of time I spend opening a browser window, navigating to Wikipedia, and performing a search is immense. But sometimes, I only really want to read the small summary intro paragraph. Wikit is a command line utility for linux which returns the introductory paragraph of a wikipedia article. Whenever I’m using linux, I like having that quick access to look things up.

As the name suggests, locate searches the filesystem for a searched term and returns the full path to the result(s). I find myself using this a lot because it’s much faster than clicking around folders looking for things, and if it returns multiple outputs, you can pipe it into grep in order to refine the search.

Let’s say I want to find all the files with the word ‘medicare’ and I know that they must be in a specific folder (or in my case, on a removable volume). I can use the following syntax to filter the results returned by locate :

locate medicare | grep -i volumes ------ locate [file search term]| grep -i [folder]

One of the most useful commands on the list, caffeinate keeps your computer awake. There are many GUI programs on the market that achieve this same goal, but with caffeinate you can do things like keep your computer awake while a particular process is running, then stop preventing your computer from sleeping. The following commands keeps my computer awake for 100 seconds.

This command is available on both Mac and Linux computers, and is especially useful for things like model training or web scraping, where you might have a process run overnight.

Hopefully, you learned about a few new commands that you can now deploy in your day-to-day. Feel free to comment below with your favorite command line programs!

Happy coding :)

Check out my website!