Summary and Schedule
ATTENTION This is an experimental test of The Carpentries Workbench lesson infrastructure. It was automatically converted from the source lesson via the lesson transition script.
If anything seems off, please contact Zhian Kamvar zkamvar@carpentries.org
This Library Carpentry lesson introduces librarians to the Unix Shell. At the conclusion of the lesson you will: describe the basics of the Unix shell; explain why and how to use the command line; use shell commands to work with directories and files; use shell commands to find and manipulate data.
Prerequisites
To complete this lesson, you will need a Unix-like shell environment -see Setup. You will also need to download the file shell-lesson.zip from GitHub to your desktop and extract it there (once you have unzipped/extracted the file, you should end up with a folder called “shell-lesson”).
Setup Instructions | Download files required for the lesson | |
Duration: 00h 00m | 1. What is the shell? |
What is the shell? What is the command line? Why should I use it? |
Duration: 00h 05m | 2. Navigating the filesystem | How do you move around the filesystem in the shell? |
Duration: 00h 35m | 3. Working with files and directories |
How can I copy, move, and delete files and directories? How can I read files? |
Duration: 01h 05m | 4. Automating the tedious with loops |
What is a loop? How can a loop be used to repeat a task? |
Duration: 01h 35m | 5. Counting and mining with the shell |
How can I count data? How can I find data within files? How can I combine existing commands to do new things? |
Duration: 03h 05m | 6. Working with free text | How do we work with complex files? |
Duration: 04h 05m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
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:
- Download shell-lesson.zip and move the file to your Desktop.
- 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. - Open the terminal and type
ls
followed by the enter key.
You should see a list of files and folders in your current directory. 4. Then type:
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.