Peter Vaillancourt, Rich Knepper, and Adam Brazier
Cornell Center for Advanced Computing

Revisions: 1/2023, 11/2019, 10/2017, 9/2014 (original)

A variety of different shells are available for Linux and Unix, each with pros and cons. While bash (updated version of sh) and tcsh (descended from C-shell/csh) are the most common shells, the choice of shell is entirely up to user preference and availability on the system. In most Linux distributions, bash is the default shell.

The purpose of a shell is to interpret commands for the Operating System (OS) to execute. Since bash and other shells are scripting languages, a shell can also be used for programming via scripts. The shell is an interactive and customizable environment for the user.

All examples in this tutorial use the bash shell.

Objectives

After you complete this segment, you should be able to:

  • Explain how to find more information about a Linux command or program
  • Describe Linux's hierarchial file system and how to navigate it
  • List common commands used to interact with files and directories
  • Explain different commands to locate files
  • Describe the three types of input/output streams
  • Demonstrate input redirection, output redirection, and error redirection
  • Demonstrate listing running processes
  • Demonstrate using job control commands
  • Explain the purpose of the $PATH variable
Prerequisites

There are no prerequisites for this course.

 
©   Cornell University  |  Center for Advanced Computing  |  Copyright Statement  |  Inclusivity Statement