Understanding Practical Unix by Raymond Greenlaw