Beginners' Guide to the Terminal

This workshop is renamed and heavily lifted from the original workshop: Hacker Tools - Shell and Scripting, which itself is lifted from the MIT's Missing Semester

Introduction

There are tons of ways for us to interface with modern computers, from beautiful GUIs and web applications. But that can only really get us so far. To fully utilize your computer to it's maximum potential and efficiency, learning how to use your a textual interface like your terminal is necessary.

Many applications and use cases are terminal first, as it is extremely easy to develop for and work with. No fancy framework or dependencies needed, just good ol' text input and outputs. In this specific case, we'll be going through Bash, a unix-like shell (or a POSIX-compatible shell).

What is Unix?

Without going into too much detail about the history of Unix, we just need to understand that unix was a really great idea for how an operating system should be like, and it is what some modern operating systems today are born from. The important thing for us to know is that it gave us the rise of the Unix Philosophy, which guides a lot of how a terminal should work and function.

The Unix Philosophy

The Unix Philosophy can be summarized as such:

  • Write programs that do one thing and do it well.

  • Write programs to work together.

  • Write programs to handle text streams, because that is a universal interface.

and these principals, still guide a lot of applications today!

Last updated