Why Use the Command Line?#
We will interact with the operating system via a command-line interface. We are all used to the point-and-click graphical user interfaces of modern computers. So why use the command line?
There are a few reasons (and see the excellent discussion that is part of the Software Carpentry Unix shell notes):
Scientific computing often involves automating workflows and repetitive tasks.
We want to eliminate the potential for a person to make mistakes as much as possible, to ensure reproducibility. Writing scripts for our workflows promotes this.
Supercomputing facilities are access via remote connections and almost exclusively use some type of Linux OS.
Tip
Take a look at the Top 500 list of fastest computers
Even a research group’s server is likely accessed remotely.
Much of the analysis software we use is written as a command line tool that is meant to be incorporated into a script, or chained together with other tools.
It helps us understand how the computer thinks about our files and data.
Unix/Linux is a multi-user operating system. We often will be using shared-resources in a research group. This means we will not be sitting directly in front of the computer.
The MathLab machines run Linux which is an open-source Unix-like operating system. Linux powers much of the internet and high-performance computing systems.
Note
You may already be using a Unix-like operating system.
ChromeOS / chromebooks are running Linux
Android phones are running Linux
MacOS is a Unix-like operating system (it just hides it by default)
many embedded systems run Linux (routers, TVs, car entertainment systems, …)