2 Terminal Interfaces

Here, we’ll encounter a couple new terms. A shell is a program that provides a command prompt and thus allows us to operate our computer by running other programs. For Windows it’s CMD; for macOS and Linux, it’s the terminal application. Bash and zshell are scripting languages for executing commands in the shell. Thus, you’ll hear terms like the bash shell. For macOS, Bash was the default for a long time but it is now zshell.

2.1 For Windows users

You may be surprised to hear that Windows is not the favored OS of data scientists, or many developers even. The reasons mostly revolve around stability, compatibility, ease-of-use and transparency. A *nix operating system is typically preferable. This refers to Unix-based OSs, such as Linux or macOS.

Instead of trouble-shooting incompatibilities with Windows, we ask that Windows users install Windows Subsystem for Linux 2. With WSL2, Windows users will be able to run install and run a Linux operating system.

After installing WSL2, please install Ubuntu, a popular Linux operating system.

2.1.1 Windows Terminal

If you want to use command line tools in Windows directly, please install a Linux emulator. Git Bash comes with an installation of git.

You may want to consider replacements for the default terminal on your machine. For Mac OS see iterm2 and for Windows see terminator. Alternatives to such tools, with a steeper learning curve, but also ones that will be working on a remote machine without a GUI are tmux and screen - the so called terminal multiplexers.

2.1.2 For *nix system users

Use the Terminal application to access your command line. To make the interface a bit nicer, we recommend you use oh-my-zsh.

Codecademy offer a 2-hour online course on the command line.

The definitive source is O’Reily’s Data Science at the Command Line. The second edition, released at the end of 2021, is available as a free eBook.