NOTE: The scripts and programs in this directory may have had a ".txt" suffix added, to make sure that they are treated as text when your browser downloads them. You may need to remove the ".txt" suffix to compile or run them on your own computer.

Weekly Class Notes

Sep  8 11:33 2005  week01notes.txt   Week 1 Notes for CST8129
Sep 10 06:28 2005  week02notes.txt   Week 2 Notes for CST8129
Sep 28 07:27 2005  week03notes.txt   Week 3 Notes for CST8129
Sep 28 07:51 2005  week04notes.txt   Week 4 Notes for CST8129
Oct 12 13:44 2005  week06notes.txt   Week 6 Notes for CST8129
Oct 23 21:03 2005  week07notes.txt   Week 7 Notes for CST8129
Oct 24 00:23 2005  week08notes.txt   Week 8 Notes for CST8129
Nov  3 12:43 2005  week09notes.txt   Week 9 Notes for CST8129
Nov  9 15:02 2005  week10notes.txt   Week 10 Notes for CST8129
Nov 20 14:49 2005  week11notes.txt   Week 11 Notes for CST8129
Nov 24 11:57 2005  week12notes.txt   Week 12 Notes for CST8129
Dec  1 11:59 2005  week13notes.txt   Week 13 Notes for CST8129
Dec  7 11:57 2005  week14notes.txt   Week 14 Notes for CST8129
Dec  7 12:11 2005  week15notes.txt   Week 15 Notes for CST8129

Chapter Reading/Study Guides

Dec  3 14:03 2005  chapter03guide.txt   Unix Shells by Example: Chapter 3 Reading Guide
Dec  4 03:40 2005  chapter04guide.txt   Unix Shells by Example: Chapter 4 Reading Guide

Course Notes (alphabetical order)

Sep  1 00:00 2005  README.txt   README - Index to this CST8129 directory
Dec  3 16:42 2005  abbreviations.txt   Script Marking Code comment abbreviations
Jan  4 17:50 2005  arguments_and_options.txt   Options and Arguments on Unix Command Lines
Feb 14 10:26 2006  character_sets.txt   Collate Order and Character Set - GLOB patterns and accents
Oct 20 11:22 2005  command_substitution.txt   Command Substitution - $(unix command)
Dec  4 00:40 2005  data_mining.txt   Using commands and pipes to "mine" and extract data from the system
Oct 20 11:14 2005  deep_nesting.txt   Avoiding deeply nested IF statements (Structured/Un-Structured)
Oct 23 19:28 2005  exit_status.txt   Return Code, Exit Status, test, if, and while
Dec  4 00:22 2005  expansion_order.txt   Order of Shell Command Line processing
Dec 12 13:16 2005  finaldirections.txt   Directions and preparing for Test #3 (Final Exam)
Oct 20 10:52 2005  finding_files.txt   Searching for and finding files by name
Nov 21 21:38 2005  glob_patterns.txt   GLOB patterns (wildcard pathname matching)
Jan  4 17:18 2005  home_and_HOME.txt   Directories: current, HOME, and /home
Oct 20 10:57 2005  job_control.txt   Shell background/foreground job control
Oct 20 11:17 2005  less_code.txt   Less Code is Better Code - stop cutting and pasting identical code
Oct 20 10:50 2005  links_and_inodes.html   Hard links and Unix file system nodes (inodes)
Dec  4 00:08 2005  linux_lab_access.txt   How to get Access to the Linux Lab from Wherever
Sep  1 08:14 2005  man_page_RTFM.txt   Searching for items in the Unix manual pages (RTFM)
Sep 10 05:22 2005  miscellaneous.txt   Miscellaneous Unix Facts
Sep 27 05:47 2011  pathnames.txt   Unix/Linux Pathnames
Sep  1 07:50 2005  permissions.txt   Unix Permissions
Sep 24 07:07 2005  practiceCommands_1.txt   Practice Unix/Linux Questions #1
Oct 23 22:03 2005  practiceCommands_2.txt   Practice Unix/Linux Questions #2
Oct 23 22:07 2005  practiceCommands_3.txt   Practice Unix/Linux Questions #3
Oct 20 12:21 2005  quick_tests.txt   Return Code, Exit Status, ||, &&, test, and if
Sep  8 12:46 2005  quotes.txt   Unix/Linux Shell Command Line Quoting
Feb  5 16:54 2011  redirection.txt   Unix Shell I/O Redirection (including Pipes)
Dec  3 13:38 2005  regular_expression_practice1.txt   Regular Expressions - practice examples with commentary
Dec  7 02:50 2005  regular_expression_practice2.txt   Regular Expressions - more practice examples
Dec  3 13:39 2005  regular_expression_questions.txt   Regular Expressions - skill assessment questionnaire
Dec  3 13:39 2005  regular_expressions.txt   Regular Expressions - notes on Basic, Extended, and OddBall
Dec  4 00:28 2005  review_basic.txt   CST8129 Review #1 - Basic Shell Concepts
Oct 20 12:24 2005  script_checklist.txt   Shell Script Checklist - a list of things to verify in your shell scripts
Oct 20 12:45 2005  script_style.txt   Shell Script Programming Conventions and Style
Jan  4 17:41 2005  shell_prompt.txt   Setting the BASH shell prompt
Feb 15 13:19 2005  shell_read.txt   Reading stdin into shell variables - read, EOF, and exec
Oct 20 11:08 2005  shell_script_execution.txt   How a Shell Script is "Executed"
Oct  6 12:22 2005  shell_variables.txt   Shell Variables you should know (including $* and $@)
Jan  4 18:10 2005  startup_files.txt   Setting up Startup Files: .bash_profile and .bashrc
Sep  8 12:57 2005  terminal.txt   Using telnet/ssh Terminal emulators
Oct  6 12:30 2005  umask.txt   Umask and Permissions
Dec  5 00:42 2005  unix_command_list.txt   Basic Unix/Linux Command List
Sep 10 04:52 2005  unix_shell.txt   The Unix/Linux Shell
Aug 31 15:09 2005  vi_basics.txt   The VI (VIM) Editor - Basics

Projects/Labs/Assignments/Exercises (for hand-in)

Sep  7 15:17 2005  exercise01.txt   Exercise #1 for CST8129 due September 7, 2005
Sep 14 15:09 2005  exercise02.txt   Exercise #2 for CST8129 due September 14, 2005
Sep 21 14:26 2005  exercise02answers.txt   Exercise #2 Answers
Sep 21 16:25 2005  exercise03.txt   Exercise #3 for CST8129 due September 21, 2005
Sep 28 00:55 2005  exercise03answers.txt   Exercise #3 Answers
Oct  5 14:53 2005  exercise04.txt   Exercise #4 for CST8129 due October 5, 2005
Oct 12 14:34 2005  exercise04answers.txt   Ian! D. Allen - idallen@idallen.ca
Oct 12 17:09 2005  exercise05.txt   Exercise #5 for CST8129 due October 12, 2005
Oct 20 10:24 2005  exercise05script.sh.txt   IAN! idallen@idallen.ca
Oct 23 06:38 2005  exercise06.txt   Exercise #6 for CST8129 due October 19, 2005
Oct 23 06:42 2005  exercise06script1.sh.txt   IAN! idallen@idallen.ca
Oct 26 14:33 2005  exercise07.txt   Exercise #7 for CST8129 due October 26, 2005
Nov  9 13:32 2005  exercise08.txt   Exercise #08 for CST8129
Nov  9 14:32 2005  exercise09.txt   Exercise #9 for CST8129 due November 9, 2005
Nov 16 02:53 2005  exercise10.txt   Exercise #10 for CST8129 due November 16, 2005
Dec  5 23:31 2005  exercise11.txt   Exercise #11 for CST8129 due December 8, 2005
Nov 23 14:52 2005  exercise12.txt   Exercise #12 for CST8129 due November 23, 2005
Nov 30 14:01 2005  exercise13.txt   Exercise #13 for CST8129 due November 30, 2005

Shell Scripts

Feb 13 04:34 2012  argv.sh.txt   Display on standard error the individual arguments on the command line.
Nov 15 13:56 2004  backup_nonstructured.sh.txt   Specifications:
Nov 15 13:59 2004  backup_structured.sh.txt   Specifications:
Oct 20 10:27 2005  commandline_arguments.sh.txt   demonstrate the use of command line arguments in a script
Oct 20 10:27 2005  elif.sh.txt   Syntax:
Oct 20 10:27 2005  file_size_classer.sh.txt   Classify a file as small, medium, large.
Nov 20 04:30 2005  g1.sh.txt   a counting loop containing a small "sleep"
Nov 20 04:30 2005  g2.sh.txt   a counting loop adjusted to range from -20 to +20, parabola output
Nov 20 04:51 2005  g3.sh.txt   parabola loop with display X,Y made positive to fit on terminal screen
Nov 20 04:51 2005  g4.sh.txt   parabola loop with display X,Y graphed in terminal using tput
Nov 20 07:16 2005  g5.sh.txt   parabola loop that works on any size terminal screen
Nov 20 07:17 2005  g6.sh.txt   parabola loop using Y = X * X adjusted for terminal display
Nov 20 06:22 2005  g7.sh.txt   falling object demo showing use of acceleration and deltay variables
Nov 20 10:07 2005  g8.sh.txt   falling object demo showing use of integer arithmetic scaling factor
Feb 25 03:25 2004  iftest1.sh.txt   We don't want the usual output of DIFF on the screen, so we throw it away.
Feb 25 03:26 2004  iftest2.sh.txt   For a list of numeric comparison operators, see the "test" man page.
Feb 25 03:26 2004  iftest3.sh.txt   String comparison uses "=" not "-eq".
Feb 25 03:26 2004  iftest4.sh.txt   See the "test" man page for a larger list of file-testing operators.
Feb 25 03:27 2004  iftest6.sh.txt   Issue an error message unless exactly one command line argument is given.
Feb 25 03:27 2004  iftest7.sh.txt   Print an error if the argument is missing, or is not a file.
Nov 20 07:21 2005  input_trap.sh.txt   using SIGINT interrupt traps to change variables in running scripts
Oct 20 10:25 2005  integer_sort.sh.txt   read three integers and sort them
Nov 20 07:23 2005  interrupts.sh.txt   demo script to try two different SIGINT trap lines
Oct 20 10:25 2005  optional_args1.sh.txt   Demonstrate method 1 for prompting for missing command line arguments.
Oct 20 10:25 2005  optional_args2.sh.txt   Demonstrate method 2 for prompting for missing command line arguments.
Oct 20 10:25 2005  optional_args3.sh.txt   Display PWD MAIL HOME replaced by optional command line arguments.
Dec  8 04:55 2005  parabolas.sh.txt   interruptible parabolas, fast or slow, on any size terminal window
Oct 20 10:25 2005  passwd_string_finder.sh.txt   look for an optional string in the Unix password file
Oct 20 10:25 2005  path_tester.sh.txt   Perform several tests on the first argument to this script.
Oct 20 10:25 2005  path_validator.sh.txt   Validate a single command line argument (file or directory).
Oct 20 10:26 2005  shellread.sh.txt   demonstrate the use of the shell "read" built-in command
Oct 14 17:06 2003  showtest.sh.txt   This script runs in "debug" mode (see the -x above).
Oct 20 10:26 2005  sort_top_five.sh.txt   This scripts sorts a file and displays the top 5 lines.
Oct 20 10:26 2005  string_compare.sh.txt   This script compares two strings: an argument and stdin.
Dec  4 04:20 2005  sumcol_v1.awk.txt   simple shell script using an AWK script to sum a given column of numbers
Dec  4 04:16 2005  sumcol_v2.awk.txt   full shell script using an AWK script to sum a given column of numbers
Oct 20 10:26 2005  wait_login.sh.txt   Syntax: $0 userid
Oct 20 10:27 2005  weather1.sh.txt   A weather script to show the current temperature in Ottawa
Oct 20 10:27 2005  weather2.sh.txt   A weather script to show the current temperature in Ottawa.
Oct 23 06:11 2005  while1.sh.txt   Syntax: $0 number increment
Oct 23 03:50 2005  while2.sh.txt   Syntax: $0 (no arguments)
Oct 23 04:27 2005  while_user1.sh.txt   Syntax: $0 number
Oct 23 04:28 2005  while_user2.sh.txt   Syntax: $0 number

Program Source

Sep 24 07:03 2005  argv.c++.txt   The output appears on "standard error", not "standard output".
Sep 24 07:04 2005  argv.c.txt   The output appears on "standard error", not "standard output".
Jan 24 02:43 2004  stdxxx.c++.txt   Produces output on stdout and stderr, prompts and reads from stdin.

Miscellaneous

Sep 16 16:59 2005  Bursaries.doc   
Sep 16 17:00 2005  Bursaries.pdf   
Sep 12 15:35 2005  ClassRepFormWoodroffe.doc   
Sep 12 15:26 2005  ClassRepresentativeJobDescription2005-2006.doc   
Sep 12 15:33 2005  E02.doc   
Aug 31 10:52 2005  cst8129.05f.pdf   
Dec  1 16:07 2004  late_bid.pdf   
Dec  4 03:11 2005  text_errata.txt   Errors in Unix Shells by Example by Ellie Quigley
Dec  7 10:02 2004  vi_refcard_back.pdf   
Sep 15 10:13 2014  vi_refcard_front.pdf   

Quizzes, Tests, and Exams

Sep 24 02:39 2005  practiceTest1.pdf   
Sep 24 02:39 2005  practiceTest1.ps   
Sep 24 02:39 2005  practiceTest1.txt   Practice Test #1 Questions
Oct 26 03:49 2005  practiceTest2.pdf   
Oct 26 03:49 2005  practiceTest2.ps   
Oct 26 03:49 2005  practiceTest2.txt   Practice Test #2 Questions - answers at end
Oct 20 03:32 2005  practiceTest2script.txt   Practice Test #2 Script Specifications
Oct 20 10:27 2005  practiceTest2script_answer.sh.txt   Practice Test #2 sample script answer - practiceTest2script.txt
Dec  4 02:39 2005  practiceTest3.pdf   
Dec  4 02:39 2005  practiceTest3.ps   
Dec  4 02:39 2005  practiceTest3.txt   Practice Test #3 Questions - answers at end
Dec  6 19:37 2005  practiceTest3script.pdf   
Dec  6 19:37 2005  practiceTest3script.ps   
Dec  6 19:37 2005  practiceTest3script.txt   CST8129 Final Exam Script - Fall 2002
Dec  6 19:37 2005  practiceTest3script_answer.sh.txt   CST8129 Final Exam Script (answer) - Fall 2002
Sep 28 06:18 2005  termtest1directions.txt   Directions and preparing for Test #1
Oct  4 14:52 2005  termtest1multiplechoice.pdf   
Oct  4 14:52 2005  termtest1multiplechoice.ps   
Oct  4 14:52 2005  termtest1multiplechoice.txt   Test #1 Multiple Choice
Oct  4 14:59 2005  termtest1script.sh.txt   Test #1 sample answer - Script Part II - 27 marks - 5 of 15%
Sep 28 05:47 2005  termtest1shell.pdf   
Sep 28 05:47 2005  termtest1shell.ps   
Sep 28 05:47 2005  termtest1shell.txt   Test #1 Shell Programming
Oct 26 05:09 2005  termtest2directions.txt   Directions and preparing for Test #2
Nov  3 11:08 2005  termtest2multiplechoice.pdf   
Nov  3 11:08 2005  termtest2multiplechoice.ps   
Nov  3 11:08 2005  termtest2multiplechoice.txt   Test #2 Multiple Choice
Nov  3 11:20 2005  termtest2script.sh.txt   Test #2 sample answer - Script Part II - 61 marks - 13 of 25%
Nov  2 10:51 2005  termtest2shell.pdf   
Nov  2 10:51 2005  termtest2shell.ps   
Nov  2 10:51 2005  termtest2shell.txt   Test #2 Shell Programming

Optional Material

Jan  4 16:25 2005  opt_why_shell.txt   Why Learn the Unix Shells?
Jan  4 16:24 2005  opt_opensource.txt   The Open Source Movement
Aug 30 04:01 2004  opt_mainframe_linux.txt   IBM System/390: The Linux Dream Machine