1.3. Linux Introduction#

Many if not all of you are familiar with computers. You have grown up in an age of computers that are easily accessible. You can surf the web, stay connected with friends, or play endless hours of video games and watch YouTube videos. However, few of you have likely used a computer and its programming capability to answer scientific questions. This chapter will begin the process of introducing you to the computer as a scientific tool. Therefore, we will start the process by introducing you to the Linux operating system (OS).

You can access a Linux terminal through the Jupyter Lab environment through the “Launcher” page (Fig. 1.1). The Linux (Unix) operation environment has come a long way over the years. Historically the Linux OS (or its predecessors) was a text-based only environment, which means that there was no ‘Desktop’, folder icons, etc. There wasn’t even a mouse! Of course, with no “windows” there was no need.

Since the first computers were so big, and by big I mean literally room- size or larger, you had a few access terminals (consoles) to log onto the computer and do the work you needed to do. This terminology lives on today with the terminal. This chapter will introduce you to the commands to work within this text-based environment.

Launch terminal window

Fig. 1.1 An annotated image illustrating what to click to launch a terminal window through th Jupyter Lab environment.#

While the terminal is the “window” you will be working in, the language of the terminal is known as the SHELL. A shell is a command interpreter. It basically takes input from the user at the command prompt and instructs the computer to perform an operation. In other words, it is a program that allows the user to use the computer without having to deal directly with the “binary” code the computer uses. Hence in one sense, we can think of this as a “protective shell” that prevents the user and the operator from directly communicating with each other.

There are several different shells available. Our system is built on the BASH shell. Another common shell is the TCSH. While there are differences between the two shells, the commands that we will be discussing today will work in both shells.