CIS 170 - Introduction to UNIX

Course Documentation

Assignments

  1. Unix/Linux basics (due 2/5/16)
  2. Filesystem basics (due 2/10/16)
  3. File details and globbing (due 2/17/16)
  4. Editors, processes, changing permissions (due 2/24/16)
  5. File manipulation (due 2/29/16)
  6. Regular expressions (due 3/24/16)
  7. Scripting: basics (due 4/4/16)
  8. Scripting: repetition (due 4/11/16)
  9. Scripting: functions (due 4/18/16)
  10. Scripting: awk, sed, and sort (due 5/7/16)

Notes

  1. Course overview (1/20/16)
  2. logging in (1/20/16)
  3. OS basics (1/20/16, 1/25/16)
  4. UNIX and Linux history (1/25/16)
  5. getting help (1/25/16)
  6. shell basics (1/27/16)
  7. command line structure (1/27/16)
  8. general system commands (1/27/16)
  9. filesystem basics (1/27/16)
  10. filesystem commands (2/1/16)
  11. file handling commands (2/3/16)
  12. hard and soft (symbolic) links (2/3/16)
  13. file details and access permissions (2/8/16)
  14. wildcard expansion (globbing) and brace expansion (2/8/16)
  15. redirection and piping (2/10/16)
  16. searching for files (2/10/16, 2/15/16)
  17. communication and networking commands (2/15/16)
  18. processes, jobs, and signals (2/15/16)
  19. text editor: vi (2/17/16)
  20. text editor: emacs (2/22/16)
  21. text editor: nano/pico (2/22/16)
  22. file manipulation commands (cut, paste, uniq, tr) (2/22/16, 2/24/16)
  23. sorting (2/24/16)
  24. modifying the prompt (2/24/16)
  25. file compression and archiving commands (2/29/16)
  26. Scripting basics (2/29/16)
  27. Midterm exam review (3/2/16)
  28. Midterm exam (3/7/16)
  29. Regular expressions (3/9/16, 3/21/16)
  30. scripting basics (3/23/16)
  31. scripting: tests and selection (3/28/16)
  32. arithmetic (3/28/16)
  33. scripting: repetition (3/30/16, 4/4/16)
  34. heredocs (4/4/16)
  35. scripting: functions (4/4/16, 4/6/16)
  36. formatted output (4/11/16)
  37. In-class demonstrations of scripting (4/11/16)
  38. scripting: sed (4/13/16)
  39. scripting: awk (4/18/16, 4/20/16)
  40. Review of select first eight week topics (in class from 4/25/16 through 5/11/16)
  41. In-class scripting demonstrations (4/25/16, 4/27/16)
  42. Linux installation, package installation, Linux GUI discussion (5/2/16)
  43. Final exam review (5/2/16)
  44. Work day: Work on scripting assignments (5/4/16)
  45. Heapsort in awk (5/9/16)
  46. Work day, questions (5/11/16)
  47. Final exam (5/16/16, 10:00 AM - 11:50 AM)

Spring 2015 scripting examples

  1. prog00.sh: shebang line, comments
  2. prog01.sh: use a variable, get input from the user
  3. prog02.sh: get input from the user (read command)
  4. prog03.sh: command substitution, environment variables, set exit status
  5. prog04.sh: special variable $0
  6. prog05.sh: special variables $0, $#, $1, $2, $?
  7. prog06.sh: tests (number of argumnets, string length, exit status), "if/else" statement
  8. prog07.sh: tests (file tests: exists, readable, etc.), "if/else" statement
  9. prog08.sh: tests: NOT (!), AND (-a)
  10. prog09.sh: repetition: "for" loop
  11. prog10.sh: repetition: running another script inside "for" loop
  12. prog11.sh: input validation (for valid integer) and repetition
  13. prog12.sh: input validation (for valid integer within range) and repetition
  14. prog13.sh: same as prog12.sh, but range is stored in variables
  15. prog14.sh: "for" loop displaying random numbers
  16. prog15.sh: "for" loop generating coin flips
  17. prog16.sh: "for" loop generating coin flips and counting them
  18. prog17.sh: "for" loop generating random numbers within a range
  19. prog18.sh: "while" loop to let user decide whether to run a nested loop again
  20. prog19.sh: "while" loop for user input validation, nested loops

Useful links

Return Links

Mr. Klick's Home Page