csce215: UNIX/Linux Fundamentals

Spring 2022 - University of South Carolina - Jason O'Kane

Preface

  1. Syllabus
    Details about the course format and policies.
  2. Dropbox
    For reporting attendance, submitting labs, and tracking grades.
  3. The Linux Command Line
    The primary textbook. Also available directly from the author.
  4. Slack Community
    This is a good place to ask questions, outside of labs and office hours. Before your first visit, you'll need an invitation link distributed in class.
  5. Lab schedule
    The Linux lab, room SWGN 1D43, is available for your use any time, except when classes are scheduled to meet in that room, as shown in the schedule linked above. You'll need the door combination, which was distributed on the first day of class, posted on the class Slack workspace, and also available by signing in here.
  6. Remote access to the labs
  7. Notes: Welcome

Chapter 1: Looking around (Week of January 10)

  1. [January 10] Lecture 1
    Basic commands for navigating and inspecting files and directories.
    Notes: Lecture 1
    TLCL, Chapters 1-3
  2. [January 12-13] Lab 1
    Assignment 1
    Submission site
    Grades posted on January 26.

Intermission

  1. Week of January 17: No class nor lab.

Chapter 2: Making changes (Week of January 24)

  1. [January 24] Lecture 2
    Commands for creating, modifying, and deleting files and directories. Output redirection. The vim text editor.
    Notes: Lecture 2
    TLCL, Chapter 4
  2. [January 26-27] Lab 2
    Assignment 2
    Submission site
    Grades posted on February 10.

Chapter 3: Building with blocks (Week of January 31)

  1. [January 31] Lecture 3
    Standard input, standard output, standard error. Redirections of standard I/O streams. Pipes. Example filters.
    Notes: Lecture 3
    TLCL, Chapter 6
  2. [February 2-3] Lab 3
    Assignment 3
    Submission site
    Grades posted on February 13.

Intermission

  1. Week of February 7: No class nor lab.

Chapter 4: How to be lazy (Week of February 14)

  1. [February 14] Lecture 4
    Command line arguments. Special characters in the shell. Lists of commands. Command substitution.
    Notes: Lecture 4
    TLCL, Chapter 7
  2. [February 16-17] Lab 4
    Assignment 4
    Submission site

Intermission

  1. Week of February 21: No class nor lab.

Chapter 5: Time to make the donuts (Week of February 28)

  1. [February 28] Lecture 5
    Make. Makefiles. Rules, targets, prerequisites, recipes. Modification times. Variables. Automatic variables.
    Notes: Lecture 5
    Learn Makefiles with the tastiest examples
  2. [March 2-3] Lab 5
    Assignment 5
    Submission site

Spring Break

  1. Week of March 7: No class nor lab.

Chapter 6: Where are my keys? (Week of March 14)

  1. [March 14] Lecture 6
    Find, including basic tests and actions. More on grep. Locate. Regular expressions.
    Notes: Lecture 6
    TLCL, Chapter 17
    TLCL, Chapter 19
    A short regular expression tutorial
    A more complete regular expression reference
    An online tool to experiment with regular expressions
  2. [March 16-17] Lab 6
    Assignment 6
    Submission site

Chapter 7: Processes and jobs (Week of March 21)

  1. [March 21] Lecture 7
    Jobs (&, bg, fg, jobs), processes (ps, kill, killall), and permissions (chmod).
    Notes: Lecture 7
    TLCL, Chapter 9
    TLCL, Chapter 10
  2. [March 23-24] Lab 7
    Assignment 7
    Submission site

Intermission

  1. Week of March 28: No class nor lab.

Chapter 8: Automating stuff (Week of April 4)

  1. [April 4] Lecture 8
    Shell scripts. Creating and executing them. Shell variables and environment variables. Modifying your bashrc.
    Notes: Lecture 8
    TLCL, Chapter 11
    TLCL, Chapter 24
    TLCL, Chapter 25
  2. [April 6-7] Lab 8
    Assignment 8
    Submission site

Intermission

  1. Week of April 11: No class nor lab.

Chapter 9: Automating more stuff (Week of April 18)

  1. [April 18] Lecture 9
    Final exam preview. Shell options. Conditionals. Loops.
    Notes: Lecture 9
    TLCL, Chapter 27
    TLCL, Chapter 30
    TLCL, Chapter 33
  2. [April 20-21] Lab 9
    Assignment 9
    Submission site

Intermission

  1. No lecture on April 25.

Epilogue

  1. [April 30] Final Exam
    4pm, in SWGN 1C01