The University of Western Australia
School of Computer Science and Software Engineering
 
 

School of Computer Science and Software Engineering

CITS4407 Open Source Tools and Scripting

Resources

Lecture Slides and Notes

These will be published progressively here during the unit.

  1. Introduction
  2. Editors; the unix philosophy; file systems
  3. Variables, control flow, expansion and quoting
  4. Regular expressions

Workshop exercises

Practical work for this unit will be done during the workshops.

  1. Week 1 exercises
  2. Week 4 exercises
  3. Week 5 exercises
  4. Week 6 exercises
  5. Week 7 exercises
  6. Week 8 exercises
  7. Week 9 exercises
  8. Week 10 exercises
  9. Week 11 exercises

Project

The project (worth 30%) has been released, and is due on 19th May: see here.

Exam

Information about the exam is available here.

Linux setup

Textbooks

There is no one textbook that covers all the content of this unit. However, there are some that cover quite a bit of it.

  • William E. Shotts Jr, The Linux Command Line: A Complete Introduction, either 1st or 2nd edition.
    Open sourced, and available for download from http://linuxcommand.org/tlcl.php.
    Also available via: Quite comprehensive, besides being free :-)
  • Arnold Robbins and Nelson H.F. Beebe, Classic Shell Scripting.
    Available on Amazon: https://www.amazon.com/Classic-Shell-Scripting-Arnold-Robbins/dp/0596005954  Less comprehensive than Shotts’s book, but has excellent worked examples, covering just the kind of tasks we’ll be looking at.
  • Brian Ward, How Linux Works: What Every Superuser Should Know. 2nd ed.
    Available via:
    • the UWA library, for online reading (log into OneSearch, and search on the title)
    • Amazon: https://www.amazon.
    A more in-depth, “under the hood” look at Linux than the previous two books. Contains some useful coverage of network services and tools, in chapters 10 (“Network Applications and Services”) and 12 (“Moving Files Across the Network”).

Introductory reading

Simple text editing with vi/vim

Introductions to Bash

Regular expressions, grep and sed

sed and awk

Make

Other