CNET 147: Unix Shell Programming

Spring 2012


Marge Home

CNET 147-01 (051528) and CS 147-01 (051590)
(They're cross-referenced, so you may enroll in either one to be in the class.)
The class meets in room HH-117 Thursday evenings from 7:00 - 10:10, but I make class materials available through Blackboard.

CNET 147-02 (051529) and CS 147-02 (051591)
(They're cross-referenced, so you may enroll in either one to be in the class.)
This section is online, and is delivered through Blackboard, but you're welcome to come to the in-person classes.

The in-person lecture will be delivered via CCC-Confer so that online students may "attend". It will also be recorded and archived, allowing students to listen to it later, at their convenience. Instructions for gaining access to it are available in Blackboard.

To log in to Blackboard,

  1. go to
  2. Enter your user name
    The first two letters of your first name; the first two letters of your last name; then the last four digits of your Student ID.
    For example, the Blackboard ID for John Smith, 1234567 would be josm4567.
  3. Enter your password
    If your account is newly created, your password is student (all lower case) and you will be required to change your password on your first login
For more help, go here.

This course introduces UNIX shells, describing the differences between the major ones. Students will learn to write shell scripts using vi, sed, and awk, then use those tools to write scripts for the Bourne, C, Korn, and bash shells. This course will be taught using a combination of lectures, demonstrations, discussions, and hands-on labs.

At the completion of this course, with appropriate study, you will be able to:

  1. use regular expressions and metacharacters in writing shell scripts
  2. use grep to search for regular expressions in files
  3. use sed to perform editing tasks useful in shell scripts
  4. use awk for manipulating data and generating reports
  5. write shell scripts using C shell, Bourne shell, Korn shell, and bash

advisory: proficiency with Unix or Linux, some programming experience.

text pic Unix Shells by Example, Fourth edition
author is Ellie Quigley;
publisher is Prentice-Hall;
ISBN 0-13-147572-X

Here are a few dates you might want to know. For a more complete list, go to

Jan 26     First day of class
Feb 1     Last day to add - without instructor's signature
Feb 5     Last day to add - with instructor's signature
  Last day to drop and receive no grade
Feb 16     Last day to apply for CR/NC
March 19 - 25     Spring Break
April 20     Last day to drop and receive a "W"
May 17     Final Exam


Midterm Exam
Midterm Lab
Final Exam
Final Lab
  90 -
80 -
65 -
55 -
0 -
 = A
 = B
 = C
 = D
 = F


The Midterm and Final will each consist of two parts. The first part (Exam) will be closed-book/closed-notes and will contain multiple choice, true/false, and short answer questions. The second part (Lab) will be script(s) for you to write using the commands you have used (or should have used) in your homework. This part allows access to both notes and book.

An assignment will be made each week. Students will be expected to use an SSH client to connect to my Linux computer, where they will write, test, and submit script(s). The grade for each script will be based on whether or not it runs, how well the code meets the specifications of the assignment, and how well it performs the specified task(s) on my Linux computer.

As a student at Ohlone College, you are expected to pursue your course work with honesty and integrity. This means that you must submit your own (original) work for the labs, assignments, quizzes, and tests for this course. An instance of academic misconduct (e.g., plagiarism, cheating, taking credit for others' work, etc.) will, at the minimum, result in a grade of F for that assignment, and could cause a failing course grade. If work appears to have been copied from another student in this class, both the person who copied and the person who allowed work to be copied will be considered responsible. The Standards of Student Conduct and Discipline and Due Process Procedures are detailed here (PDF; new window).

Here's the plan. I may make changes as we go along.

 Date  Lecture Topic
 Jan 26  Introduction to the class,
 Ch. 1: Introduction to Unix Shells
 Review of vi
 Feb 2  Ch. 3: Regular Expressions and Pattern Matching
 Feb 9  Ch. 4: The grep Family
 Feb 16  Ch. 5: sed, the Streamlined Editor
 Feb 23  Ch. 6: The awk Utility
 Mar 1     (Ch. 6, continued)
 Mar 8  Ch. 7 The Interactive Bourne Shell
 Ch. 8 Programming in the Bourne Shell
 Mar 15     Midterm (Chapters 1, 3, 4, 5, 6, 7)
 Mar 22     Spring Break!!
 Mar 29  Ch. 9 The Interactive C Shell
 Ch. 10 Programming in the C Shell
 Apr 5     (Ch. 10, continued)
 Apr 12  Ch. 11 The Interactive Korn Shell
 Ch. 12 Programming in the Korn Shell
 Apr 19     (Ch. 12, continued)
 Apr 26  Ch. 13 The Interactive Bourne-again shell (bash)
 Ch. 14 Programming in the Bourne-again shell (bash)
 May 3     (Ch. 14, continued)
 May 10     Review
 May 17     Final Exam

- - - - - - - - - -

Please contact
with your questions, comments, and suggestions.
Terms and Conditions of Use & Disclaimer.
Copyright © 2012 Ohlone College.