A Gentle Introduction to the Terminal

Who Should Read This Book?

This ebook is intended for new and aspiring software developers who want an introduction to the terminal, and the command line. It is possible experienced developers could learn something from this book, and I certainly won't tell you not to read this book. But you may not find it as useful if you understand the command line, navigating file systems with the command line, and other concepts like shells and command line applications and interfaces.

My goal with this book is to make working with the terminal and command line easy to understand. I use examples, analogies, and a lot of plain English to introduce the concepts of the terminal. I include some tangents that may not be necessary for the topic at hand, but that I consider "good to know" or worth noting in the greater domain of software development.

By the end of this book, you should be able to:

  • run commands in the terminal and complete basic, common file system and data manipulation tasks
  • write shell scripts so you can simplify and automate the above point
  • pretty up your terminal to look pleasing and functional so you enjoy opening the terminal
  • open up a programming book and focus on the fun part - the programming!

The book focuses on using a Linux-like terminal. What that means is:

  • Linux users can just read the book and follow along without concern
  • Mac users shouldn't have any issues following along with the built in terminal, but some commands may work differently on Mac than Linux
  • Windows users can install WSL and Windows Terminal to follow along much the same as a Linux user would - in fact, this is how my home computers are set up :)

Before we move on to the meat of the book, I have a request. If you have any questions or comments about the contents or structure of the book as you're reading, please let me know either on Twitter or through email at [stephen.hara@stephenhara.com]. I want to make this book the best it can be, and I can only do that with feedback from real readers!

With that out of the way, let's continue!