This page provides access to course notes for a series of talks on the UNIX-Gnu/Linux computing environment given by David M. Harrison, Department of Physics, University of Toronto.
UNIX-Gnu/Linux is an extremely powerful computing environment. The notes concentrate on using the tools provided by the environment as a user. They do not discuss using the environment as a desktop substitute for Windoze or Macintosh. They also do not discuss issues of installation or system administration, except for some brief materials in the fifth module.
The data are fairly overwhelming that reading the sorts of material contained in the Modules is much more effective in hardcopy than on a screen for almost all people. Thus, below we provide access to both html and pdf versions of each document.
The modules, and their approximate sizes, are:
Each Module in the series corresponds to a two-hour discussion. The first 4 modules are fairly generic treatments of UNIX/Linux for a typical user with some computing background in Windoze, Mac, or other non UNIX/Linux environment. Module 1 begins with some material aimed at relative computing novices, and further Modules become increasingly sophisticated. In Module 5 we "lift the hood" to discuss some internals and system administration . The modules were written in April/May 2002.
You will see references to the computer Faraday in the notes. This is the server used by many of the people to whom these talks were originally directed. Except for Module 5, we have attempted to make the use of the name fairly generic; Module 5, Internals and System Administration, contains some generic information but also some matters that are likely to be different for different computers.
This very rich UNIX/Linux computing environment has been worked on by many many smart people for over 30 years. Thus any set of notes such as these only "scratches the surface." These notes contain the material that the author believes is most important to learn first. Other authors will necessarily choose differently.
As you will learn, your interactions with UNIX/Linux are via a program called a shell. There are different "flavors" of shells, of which the two most popular are named bash and tcsh. In the Modules we concentrate on bash, and discussion of tcsh is fairly minimal. This is due to the preferences and biases of the author.
The modules end with some Exercises:
In the notes, you will see up to three arrows at the top and bottom of the document:
|Takes you to the html version of the previous Module in the series.|
|Returns you to this page.|
|Takes you to the html version of the next Module in the series.|
At the end of each Section of a Module there is another arrow:
Takes you to the top of the page.
An index of user commands discussed in the Modules is available here. This is probably most useful for reference after all the materials in all the Modules have been read and/or discussed.
These notes have also been used in courses for people with considerable background in Perl but little or no background in UNIX-GNU/Linux. A small companion document cross-references some UNIX-GNU/Linux commands to the corresponding Perl version. Links to appropriate part of the Perl document appear in the Modules via the button that is shown to the right. When accessed from the html version of the Module, the Perl document will appear in a separate window. The document makes no attempt to offer instruction in Perl, since it is intended for Perl programmers. See the Other Resources section below for information on learning Perl.
Note that if you click on the camel to see a Perl reference from the html version of a Module, and then return to the Module window while leaving the Perl document's window in place, clicking on another camel will scroll to the appropriate part of the Perl document, but that window will not receive focus. This is a browser issue which I can not control without ungainly html programming.
Although perhaps not of great use, the Perl cross-reference document provides "back-links" to the Section in the Modules that link to that section of the cross-reference document. These are accessed by the button shown to the right. The back-link will open in the current window: use the Back button of the browser to return to the Perl document.
Incidentally, the camel has become the unofficial logo of Perl. The Canonical Camel is named "Amelia." The use of the camel image in association with the Perl language is a trademark of O'Reilly & Associates, Inc. We use that image by permission.
The penguin, whose name is "Tux", is the mascot of GNU/Linux. A biography of Tux may be found at http://www.sjbaker.org/tux/.
Most educators believe that at the beginning of a session a review of the previous one is a good idea. The reviews used by the author, containing what I believe are the "high points," are available below in pdf. The fonts are chosen to be large enough to project to a group.
Besides the Linux Training Materials Project discussed in the next section, here we list a few other resources.
Many of the materials in Module 1 and some from Module 2 were written by the Linux Training Materials Project, which is owned by GBDirect (http://www.gbdirect.co.uk/). The source of those materials may be found at http://www.linuxtraining.co.uk/download/new_linux_course_modules.pdf, whose content is Copyright © by the authors and subject to the license found at http://www.linuxtraining.co.uk/download/licence.html. We use those materials by permission.
The content not from the above site is Copyright © 2002 David M. Harrison.
The material Copyrighted by David M. Harrison may be distributed only subject to the terms and conditions set forth in the Open Content License, v1.0 or later (the latest version is presently available at http://opencontent.org/opl.shtml).
David Harrison is a Senior Lecturer in the Department of Physics, the University of Toronto. I have over 20 years of experience with various flavors of UNIX and GNU/Linux, both as a user and an administrator. I welcome your comments, corrections and suggestions. You may email me at firstname.lastname@example.org.