CSC 271
Software I
Utilities and Internals
Instructor: Dr. Stephen Bloch
Fall, 2005
This course meets from 1:40-2:55 PM TTh in the Gallagher lab on the
second floor of Swirbul Library. We'll use the
book Unix Power Tools, by Powers, Peek, O'Reilly, and Loukides,
as well as a lot of online documentation and some handouts.
My office hours are Monday
11:00-2:00, Wednesday 10:00-1:00, Tuesday and Thursday 3:00-4:00.
I taught this course in Fall 1994,
Fall 1995, Fall
1996,
and Fall 1997 as well,
and some information and handouts are still available from those classes.
Reading assignments
The calendar lists what chapters of
the textbook are relevant to which class meetings. In most cases, the
first few "articles" in a chapter are the basic stuff you have
to know, while the later "articles" in the same chapter are
advanced or obscure stuff; thus, it doesn't really make sense to assign
whole chapters as reading. This textbook wasn't intended to be read
sequentially, from beginning to end, so follow your nose.
Anyway, by the end of the semester I'd like
you to have read and understood at least half of the textbook.
On-line documentation for Unix commands
- UNIXhelp for Users
(within which I particularly direct your attention to the section on
shell scripts)
- man mkdir, man rmdir, man pwd
- man mv, man cp, man touch, man
rm
-
man ls, man du
- man tcsh (sections on file completion, history
substitution, aliases, variables, command substitution,
wild cards, and globbing)
- man file, man find
- man tcsh (sections on jobs, fg,
bg), man ps, man kill
- man tcsh (section on umask), man chmod
- man ln
- man tcsh (sections on pushd and popd)
- info info, read that page, then hit "h" for an interactive
tutorial on the "info" program. You can then use info to learn
about other programs.
On-line documentation for programming tools
- info gdb (No, I don't expect you to read it all,
but get started on it.)
-
man flex
-
info make
On-line documentation for C library functions
C high-level I/O
- man stdio, which leads to...
- man fopen (including freopen)
- man fclose
- man fprintf (including printf, sprintf)
- man fscanf (including scanf, sscanf)
- man feof
- man putc (including putchar, fputs, etc.)
- man getc (including getchar, fgets, etc.)
- man perror
C string and environment manipulation
- man getenv
- system
- man strlen
- man strcat (including strcat, strcpy, strdup, strcasecmp)
- man strspn (including strcspn)
- man strchr (including strrchr, index, rindex)
- man strtok
Low-level Unix system calls
- man open
- man creat
- man read
- man write
- man exec
- man pipe
- man fork
- man socket, man bind, man listen, man accept, man connect
Last modified:
Sun Oct 16 08:26:31 EDT 2005
Stephen Bloch / sbloch@adelphi.edu