Library Carpentry: The UNIX Shell: Setup

To participate in this Library Carpentry lesson, you will need a working UNIX-like shell environment. Specifically we will be using Bash (Bourne Again Shell) which is standard on Linux and macOS. macOS Catalina users will have zsh (Z shell) as their default version. Even if you are a Windows user, learning Bash will open up a powerful set of tools on your personal machine, in addition to familiarizing you with the standard remote interface used on almost all servers and super computers.

Terminal Setup

Bash is the default shell on most Linux distributions and macOS. Windows users will need to install Git Bash to provide a UNIX-like environment.

  • Linux: The default shell is usually Bash, but if your machine is set up differently you can run it by opening a terminal >and typing bash. There is no need to install anything. Look for Terminal in your applications to start the Bash shell.
  • macOS: Bash is the default shell in all versions of macOS prior to Catalina, you do not need to install anything. Open Terminal from >/Applications/Utilities or spotlight search to start the Bash shell. zsh is the default in Catalina.
  • Windows: On Windows, CMD or PowerShell are normally available as the default shell environments. These use a syntax and set of applications unique to Windows systems and are incompatible with the more widely used UNIX utilities. However, a Bash shell can be installed on Windows to provide a UNIX-like environment. For this lesson we suggest using Git Bash, part of the >Git for Windows package:
    • Download the latest Git for Windows installer.
    • Double click the .exe to run the installer (for example, Git-2.13.3-64-bit.exe) using the default settings.
    • Once installed, open the shell by selecting Git Bash from the start menu (in the Git folder).

    There are also some more advanced solutions available for running Bash commands on Windows. A Bash shell command-line tool is available for Windows 10, which you can use if you enable the Windows Subsystem for Linux. Additionally, you can run Bash commands on a remote computer or server that already has a Unix Shell, from your Windows machine. This can usually be done through a Secure Shell (SSH) client. One such client available for free for Windows computers is PuTTY.

If you encounter issues, the Carpentries maintains a Configuration Problems and Solutions wiki page that may help.

Data Files

You need to download some files to follow this lesson:

  1. Download and move the file to your Desktop.
  2. Unzip/extract the file (ask your instructor if you need help with this step). You should end up with a new folder called shell-lesson on your Desktop.
  3. Open the terminal and type ls followed by the enter key.
    $ ls

You should see a list of files and folders in your current directory.

  1. Then type:
$ pwd

This command will show you where you are in your file system, which should now be your home directory. In the lesson, you will find out more about the commands ls, pwd and how to work with the data in shell-lesson folder.