A shell provides the user interface to the kernel. A number of shells are available on the Unix operating system including the Bourne shell and the C shell. The shell is basically an extensive program that runs all the time that you are logged on to the computer, and provides an interactive interface between the user and the computer functions. The C shell is the default shell for interactive work on many Unix systems. It will be covered in this document.
See chapter 13 below for more details.
GUIs provide a replacement to the command line interface based on the use of icons, menus and a mouse. Using GUIs, applications software from different suppliers can have a consistent interface, which reduces the time needed to master new applications.
If you have access to a workstation or a powerful PC with the necessary software, you may wish to attempt to master a GUI, especially if you are already used to using a PC windows environment. You can create shells within a GUI environment and continue to work through this course, as well as having more utilities available to you. Using a GUI will not be covered in this course however, since the lack of a standard means it is not clear which should be taught. Furthermore, the commands and utilities taught here deal with Unix at a more fundamental level than GUI interfaces provide, and what you will learn here will give you an insight into how Unix actually works, give you access to the full power and flexibility of Unix. The skills learned here should be of use in many different applications and environments.
On-line tutorials should be available with GUI implementations and provide an introduction to their use.
On the other hand, the advantage of using vi is that it is always available in basically the same form on any Unix system, so if you learn vi, you know that you will always be able to use a screen editor on any Unix system. What is more, once you have learned about ex, you will be to exploit some of the power of vi without much extra effort. It is therefore certainly worth having at least a basic familiarity with vi, and many users use it as their preferred editor. The decision about which editors to use and when depends on your own needs and preferences. If you want to use a screen editor straight away, use emacs, or whatever is available on your system. At a later date, a little effort to learn vi could be well rewarded.Further reading: Documentation on vi is available on-line (type man vi) and in the SunOS manuals. There is a prose introduction in chapter 24 of Nishinuma (1987).
If you are using some type of windows program then there will be a simple interactive screen editor (such as textedit with OpenWindows) available with the program, and this will be more suitable than emacs for simple tasks.