I would like to spend most of my time in these notes to teach how to C program in a POSIX environment on such platforms as SunOS, Linux, SCO, etc. But, one should have some basic requirements to navigate through a generic UNIX operating system before learning to write programs on them. There seems to be literally dozens of sites on the Internet that have basic backgrounds for using a UNIX system. The following are some links to start you off.
|Good Basic introduction to using a UNIX System|
|Get a free UNIX Account at these sites|
|UNIX Man pages online|
|http://www.geek-girl.com/unix.html||A great site for many UNIX related links.|
|http://www.demolinux.org/||Live Linux System on a CD|
The following are text books that I think are very useful for learning to program on an UNIX operating system.
|B W Kernighan, and R Pike. "The UNIX Programming Environment". Prentice Hall, 1984.|
|W R Stevens. "UNIX Networking Programming". Prentice-Hall, 1990.|
|W R Stevens. "Advanced Programming in the Unix Environment". Addison-Wesley, 1992.|
|M J Rochkind. "Advanced UNIX Programming". Prentice-Hall, 1985.|
We will rely on the man(manual) pages heavily when learning to program. The man pages are broken into eight sections. The following is a list of the eight sections. For programming, we will need to use sections 2 (System Calls) and sections 3( C Library Functions)
|3||C Library Functions|
|4||Devices and Network Interfaces|
|6||Games and Demos|
|7||Environments, Tables, and TROFF Macros|