PREV UP NEXT The UNIX Computer System at ARE (Edition )

2.5: The Shell

When you log in to your UNIX account, whether on a Sun Sparcstation (see On Sun Sparcstations) or on a Windows NT machine (see On NT Workstations), you are put into a special interactive program called a shell. The shell is the link between you and the core UNIX operating system, called the kernel. When you turn on a UNIX machine, the kernel program is loaded and stays in memory until the machine is shutdown. The kernel is responsible for carrying out all fundamental low-level system operations, like scheduling processes, opening and closing files, and sending instructions to the actual hardware CPU chips that process your data. There is only one kernel and it is the heart of the machine.

Given the complex and critical nature of the kernel's responsibilities, UNIX provides a protective outer shell to protect both the kernel and the user from each other. The model works like this: you make requests to the shell; the shell passes these on to the kernel; the kernel carries out your instructions and sends the output back to the shell; the shell sends you the output. There are many different shell programs to choose from. The standard shell we use at ARE is `tcsh', pronounced the `T-C Shell'. We strongly recommend that you read the online documentation for the `tcsh'. You can access it by typing `man tcsh' at the shell prompt.

The shell has a number of important functions, to which we now turn.

  • Running Commands
  • Command Pipelines
  • Redirection
  • Environment Variables
  • Aliases
  • File Name Expansion
  • Variable Substitution
  • Quoting
  • Completion
  • Command History
  • Job Control
  • Customizing the Shell