Mac Terminal for Absolute Beginners.

A Brief Introduction.

Jacob Pelletier
4 min readJan 29, 2021

I decided to write a brief introduction to the terminal after doing some reading for my Systems Programming class. Warning: lots of bad Fallout metaphors below.

TL;DR: the terminal on your mac allows you to interact with your computer’s kernel, which in turn allows you to interact with system resources and services.

But first, a brief but necessary trip down a little rabbit hole.

alice and the rabbit
https://en.wikipedia.org/wiki/White_Rabbit#/media/File:Alice_in_Wonderland_pg41_-_Alice_meets_the_White_Rabbit_-_by_Margaret_Winifred_Tarrant_1916.jpg

What is the operating system (OS)?

The role of the operating system is to manage your computer’s resources and has complete control over the system. In other words, the OS allocates and directs system resources. An OS is a program located in your system’s memory. The OS is the bureaucracy of your machine. It is like the president of the New California Republic managing, directing, and coordinating the resources of the nation against the challenges and the scarcities of the wasteland.

What is the kernel?

Essentially, the kernel is the OS. When other programs ask to use space or services, they ask the kernel to do so. The kernel coordinates software to hardware interactions as well as software to software interactions. The kernel is able to connect software to various services of a system. These services include processors, input/output devices, processes (a program in action), memory, devices, timers and clocks, interprocess communications (processes need to communicate with each other in order to run efficiently), and networking resources. The kernel is like the institutions of the New California Republic itself, you (as a user) can’t interact with them directly (usually).

picture of a kernel
https://en.wikipedia.org/wiki/Kernel_(operating_system)

What is the shell?

When you log in to your machine, you are able to interact with the kernel via the shell. The shell is a program that allows users to connect to and interact directly with the kernel. All software must speak with the kernel before utilizing hardware. The shell is just a program designed for human interaction with the hardware. Therefore, many things might be considered shells. Shells may be a graphical user interface (like a desktop screen) or a command-line interface (like the mac terminal). By any method, however, the shell is the designated way for a user to interact with the kernel; like how a wastlander usually contacts the NCR via their outposts in Fallout.

Finally, what is the terminal?

https://static.wikia.nocookie.net/fallout/images/7/74/Terminal.jpg/revision/latest?cb=20170919035537

Similar to Fallout, the terminal on your mac allows you to interface with a computer system (your own instead of Robco’s). In Fallout, terminals allow users to “talk” with a computer system, but are not the computers themselves; they are an input and output device plugged into the larger system.

Unlike Fallout terminals, the mac terminal emulates the function of this input and output device inside the computer itself.

Why use the terminal?

It makes development so much easier and more efficient. Honestly, there is probably a long and detailed article about this somewhere, but once you start using the terminal you will wonder how you ever worked any other way.

Note: be careful at first, there is real power in the terminal. You dont want to accidentally alter files necessessary for the function of your computer. Remember, the OS is located in memory as well as user programs and files.

How to find the terminal to get started.

  1. command + space
  2. search for “terminal”

or

  1. find utilities folder, then find the terminal

Bonus: If you find the “Activity Monitor” utility, open it and see all the hard work your OS is doing in the background!

Further Reading:

  1. Computers 101: terminals, kernels and shells
  2. Why you should use the terminal
  3. Terminal command cheat sheet
  4. Fallout terminals

Once you become familiar with the terminal, I highly recommend customizing it. Here is a great article on this topic:

If you want to check out the textbook for my Systems Programming course which inspired this article (it is a good read): Understanding Unix/Linux Programming by Bruce Molay.

About Me

I am a lifelong learner and student debt masochist. I graduated with a bachelor’s degree in nursing and I am currently working as a nurse for hospitals big and small. Currently, I am working on a bachelor’s in computer science. I enjoy cooking, being outside, and thinking about stuff.

--

--