Understanding Terminal and Shell

8 min readJul 31, 2021

Getting back to basics to hack the terminal and shell.

Photo by Markus Spiske on Unsplash


In the previous article, I walked through with you command-line tools to use for faster file system navigation. Unix-like (UN*X or *nix) systems, with history date back to the 70s, have various functionalities that even daily users may not be fully aware of.

This article explores the basics of Unix-like systems (specifically Linux) and tips and tricks that could help improve our productivity and development workflow.

The Basics

Let’s briefly talk about the basics. You can check out the References section or the Wikipedia links for more details. The definitions below mainly come from Wikipedia.

  • terminal: A computer terminal is an electronic or electromechanical hardware device that can be used to enter data into and transcribe data from a computer or a computing system. The teletype was an example of an early day hardcopy terminal and predated the use of a computer screen by decades. Basically, the terminal takes input and shows text while the real work happens at the other end in a mainframe or large computer. Nowadays, when we say terminal, normally we mean terminal emulator in short.
  • terminal emulator: A terminal emulator is a computer program that emulates a video terminal within some other display architecture. A terminal emulator inside a graphical user interface is often called a terminal window that allows the user access to a text terminal and all its applications such as command-line interfaces (CLI) and text user interface (TUI) applications. Konsole, Alacritty, kitty, Windows Terminal, Terminator are examples of modern terminal emulators.
  • console: A console is a piece of hardware, or a physical device (normally consisting of a keyboard and screen). It is the main point to…




Software engineer, Data Science and ML practitioner.