M1: Unix Users and Shells

This first module provides a general overview of a Unix system architecture. We will begin discussing the top-most layer of the system that entails discussing Unix users and how they interact with the operating system via the shell. Specifically, how users can use a Unix shell to perform/automate system services and requests.

Pre-recorded Lectures

Note: Professor Samuels will state on Ed when the precorded videos are ready to be viewed each week for a module.

The pre-recorded lectures are available here: M1 Videos. You can also find the videos under the “Panopto” tab on the MPCS 51082 canvas site.

The lectures are a series of approx 15-20 minute videos. Please come back here weekly as the videos will be updated if a module spans multiple weeks. This module includes the following videos:

Week 1 Videos

  • Week 1 Lecture Video (Posted on Zoom. See Ed Post “Week 1 lecture video is ready”)

  • 1.1 - Text Processing

  • 1.2 - Shell Scripting

  • 1.3 - Demo: Shell-Scripting & Street Cleaning

Week 2 Videos

  • 1.4 - Advanced Text Processing Commands

  • 1.5 - Shell Aliasing and History

The slides presented in lecture and these videos are accessible on our Canvas Page. Click on the Files link and you then can download the m1.zip file.

Resources/Readings

For this module, your focus should be to learn the basic syntax of the shell scripting.

  • The slides and code presented in this module are accessible on our Canvas Page. Click on the Files link and you then can download the m1.zip file.

  • Bash Scripting Cheatsheet
    • Great resource for learning and experimenting with the language syntax

  • The Linux Programming Interface: A Linux and UNIX System Programming Handbook readings:
    • Chapter 1.1-1.3.2,1.3.8

    • Chapter 2.1-2.4

Synchronous Sessions (In-person Lecture)

As a reminder here are the dates and times for the synchronous session for this module:

Week 1

  • Dates/Times
    • Section 1: No Class. Please watch the recorded video above

    • Section 2: Thursday September 28th 5:30pm-7:20pm

  • Session Outline
    • Course logistics

    • Unix architecture overview

    • Basics of users, environment, files, terminal, and shell

    • Basic commands

    • Globbering vs regular expressions

    • Text processing shell commands

Week 2

  • Dates/Times
    • Section 1: Monday October 2nd 10:30am-12:20pm

    • Section 2: Thursday October 5th 5:30pm-7:20pm

  • Session Outline
    • Answer any questions related to pre-recorded videos from previous week.

    • Advanced Shell Scripting Syntax

    • Regular Expressions with Grep

    • Sed command

Assignment

Assignments are always due on Friday evenings.