Summary and Schedule
Command line interface (CLI) and graphic user interface (GUI) are different ways of interacting with a computer’s operating system. They have different pros and cons. Most people are familiar with the GUI as it is the default interface for most software, particularly on Windows and Mac OS. When using the GUI, you see and interact with visual representations of files, folders, applications, and most other functions of your computer. When using the CLI, you work largely with text representations of software, files, folders, input and output. The shell is a program that allows you to control your computer by typing instructions on the CLI with a keyboard.
There are several reasons to learn how to use the CLI:
- For most bioinformatics tools, there are no graphical interfaces. If you want to work in metagenomics or genomics, you’re going to need to use the CLI/ shell.
- The shell gives you power. The command line allows you to work more efficiently. Tasks that are repetitive (e.g. renaming hundreds of files) can be automated. Tasks that are tedious (e.g. testing a range of input parameters) can be simplified.
- To use remote computers or cloud computing, you often need to use the shell.
Getting Started
This lesson assumes no prior experience with the tools covered in the workshop. However, learners are expected to have some familiarity with biological concepts. Participants should bring their laptops and plan to participate actively.
For Instructors
If you are teaching this lesson in a workshop, please see the Instructor notes.
Setup Instructions | Download files required for the lesson | |
Duration: 00h 00m | 1. Introducing the Shell |
What is a command shell and why would I use one? How can I move around on my computer? How can I see what files and directories I have? How can I specify the location of a file or directory on my computer? |
Duration: 00h 20m | 2. Navigating Files and Directories |
How can I perform operations on files outside of my working
directory? What are some navigational shortcuts I can use to make my work more efficient? |
Duration: 01h 10m | 3. Working with Files and Directories |
How can I view and search file contents? How can I create, copy and delete files and directories? How can I control who has permission to modify a file? How can I repeat recently used commands? |
Duration: 01h 55m | 4. Redirection |
How can I search within files? How can I combine existing commands to do new things? |
Duration: 02h 40m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
Setup
To participate in this lesson, you will need a working Unix-like shell environment. We will be using Bash (Bourne Again Shell) which is standard on Linux and macOS. Some macOS users (Catalina or later) 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, and familiarize you with the standard remote interface used on most servers and supercomputers.
For the workshop, we will use the Broad’s login servers. To access those machines, your laptop needs to be on the Broad-Internal wireless network when you are on-site OR on the Broad VPN if you have a non-Broad-issued computer or are off-site.
Prerequisite
To reach to the Broad login servers when you are off-site, you will connect to the Broad VPN to access internal Broad resources.
VPN Installation
- Use Broad Self Service (Mac
or Windows)
to install the Cisco AnyConnect Secure Mobility Client
software
OR
- Visit https://vpn.broadinstitute.org and follow the prompts.
You will also need to set up DUO two-factor authentication or Google 2FA to use the Broad VPN. Contact BITS for troubleshooting if you have a Broad-issued machine.
If you can’t access the documentation linked above or can’t connect to the Broad VPN using your Broad credentials, please let the workshop organizers know so we can assess whether you will be able to participate in the workshop.
Prerequisite
Bash is the default shell on most Linux distributions and older versions of macOS. Windows users will need to install WSL to provide a Unix-like environment.
Testing Broad Login Server access
If you are on-site, connect to the Broad-Internal wireless network. If you are off-site, connect to the Broad VPN.
Show your successful access
- Type touch /broad/hptmp/computing_basics/<username>_was_here
- Type ls /broad/hptmp/computing_basics Did you leave your mark?
- Type exit to leave the server.
If you were unable to access the Broad login servers, please let the workshop organizers know so we can help you troubleshoot before the start of the workshop.