Utilities and Internals
This course meets from 12:15-1:30 PM TTh in Business 39. We'll use the
book A Student's Guide to Unix, by Harley Hahn, as well as a
lot of online documentation and some handouts.
Instructor: Dr. Stephen Bloch
is available in LaTeX,
A schedule of lectures tells
what I plan to talk about, and what I expect you to have read, by each
I taught this course in Fall 1994 and
Fall 1995 as well, and some information and
handouts are still available from those classes.
- Homework 1 due 4 Oct
- Half-hour demonstration in my office that you know what you're
- Homework 2 assigned 1 Oct, due 22 Oct
- Write two shell scripts to "alphabetize" and "dealphabetize" the
files in a directory; see the above link for details.
- Homework 3 assigned 29 Oct, due 14 Nov
- Scramble and unscramble text input with a multiplication cipher.
There are various command-line arguments and options to handle.
- Homework 4 assigned 14 Nov, due 3 Dec
- Write a shell.
- Homework 5 assigned 4 Dec, due 10 Dec
- Extend your previous shell (homework 4) with I/O redirection, etc.
Don't use the "system" function for this one, and I recommend (but do
not require) that you use "flex".
The Hahn textbook
By Tuesday, 5 Nov, you should have read chapters 1-27 of the Hahn textbook.
See the example shell scripts
I've also written a bunch of
example C programs for you to read.
See also the
example Lex and Yacc programs in my
directory, read the lex article I handed out in class on 14
Nov, and read man flex.
On-line documentation for library functions
man 3 printf, man scanf, man getchar, man
man getenv, man putenv
man fprintf, man fscanf, man fopen, man
fclose, man feof, man fgetc, man fputc,
man strlen, man strcpy, man strcat, man
isalpha, man tolower
man fork, man exec, man wait,
man system, man exit
man 2 intro, man open, man creat,
man close, man read, man 2 write,
man pipe, man dup, man stat
On-line documentation for Unix commands
(within which I particularly direct your attention to the section on
- man mkdir, man rmdir, man pwd, man
- man mv, man cp, man touch, man
man ls, man du
- man csh (sections on file completion, history
substitution, wild cards, and globbing)
- man file, man find
- man csh (section on umask), man chmod
- man ln
- man csh (sections on jobs, fg,
bg), man ps, man kill
- man csh (sections on pushd and popd)
On-line documentation for programming tools
- info info, read that page, then hit "h" for an interactive
tutorial on the "info" program.
On-line documentation for Usenet
On-line documentation for the World Wide Web
If you're using a graphics workstation, you can use netscape
and look at the various entries in its help menu. If you're using an
ordinary character terminal, like the IBM's in our classroom, you can
still wander the Web using lynx, you just won't get the pretty
colored pictures, sounds, mouse controls, etc. You can learn about
lynx at the address
When you've seen a few Web pages and feel like writing one of your own,
take a look at
http://www.ncsa.uiuc.edu/demoweb/html-primer.html, the Beginner's
Guide to HTML.
You are visitor number
to this and related
pages since Feb. 8,
Fri Nov 29 14:21:41 EST 1996
Stephen Bloch / firstname.lastname@example.org