Shell - odigity/academy GitHub Wiki

As a software developer or system administrator, it is imperative that you become at least casually familiar with the command-line interface of your operating system, called a shell.

You can do some things via GUIs, but ultimately, there's no substitute for a good command line.

UNIX-Like OSes

The two UNIX-like OSes you are most likely to encounter are:

  • Linux (probably a Debian- or Red Hat-based distro, like Ubuntu or Fedora)
  • Mac OSX

Luckily, all of the above have the same shell as their default: Shell — BASH

Windows

Windows originally had MS-DOS as it's shell, which was crude and limited. This was later replaced with cmd.exe, which still sucked.

Recently, Microsoft added two new interesting shell options:

  • Windows PowerShell — The successor of cmd.exe, it is far more powerful and UNIX-like. (For example, it has pipelines.)
  • Bash/WSL — A join effort by Microsoft and Canonical (makers of Ubuntu) to build Linux binary compatibility into the kernel and provide a built-in Bash-compatible shell.

Learn more: Shell — Windows

Mobile

It is possible to access a shell on the Android and iPhone platforms, but that's a more advanced topic.