topic # Topic Reading Homework Slides
1 installation and environment

linux vs UNIX,
linux vs linux distributions

roles of OS, shell, programs

Sobell ch 1 "Welcome" - an encompassing, casual background overview of linux

Tutorial on MBR and GPT

A GPT header, part of the GUID partition scheme.

"Hard disk layout" - ibmdeveloperworks
(through section "GPT partitions")

write-ups at class website links entitled 
"Remote Unix access with ssh"
"ssh client alternatives" 
 "Variations among Unixes"

do - fundamental linux commands

listen - 1985 roundtable discussion about UNIX. (alternative copy for download here as 25MB  zipped mp4 file)


for reference only:

line termination conventions per OS

hex-dump tools:
od command usage  - to dump files (and other data) in octal (and other) formats

for reference - 3 low-level dump/edit commands
  xxd's documentation
  od's documentation
  bvi's documentation

MBR dump

Parition table under the microscope


2 bootup and initialization

article Inside the Linux Boot Process IBM

The systemd mechanism for system initialization

systemd author's blog


systemd (system initialization method) Bootup (static slides version)

Bootup (narrated lecture version)

3 processes

How programs get run fork/exec

information scattered in Sobell. Read
 "Running a Program in the Background" pp163-165
 "Processes" pp373-376. Note the interesting pstree command
 "kill" pp.465-467
 "$$: PID number" pp.1028

- Linux fork() introduction (1st 11 min)
- Linux Exec System Call (1st 9 min)
- Fork and Exec System Programming (1st 9:54)

fork system call

exec system call

Processes (static slides version)

Processes (narrated slides version)

4 user interface: the shell Sobell ch 5 (7th ed.) "The Shell" - read the whole chapter

Sobell ch 9's section entitled "Processing the Command Line," pp. 403-413

for reference -|
 bash shell's man page
 Bash Reference Manual


filename expansion

The Shell (static slides)

The Shell  (narrated slides)

(some diagrams toward the end of the static slides illustrating I/O redirection  do not appear in the narration)

5 filesystem permissions Sobell ch 6 (7th ed.) read from the section "Access Permissions" pp. 191-98
and ch9 from the section "Writing and Executing a Shell Script" pp. 336-338

overview of "File permissions"


permissions intro



Permissions (static slides version)

Permissions (narrated slides version)

6 interactive bash  "The Linux Utilities" in the textbook (ch 7 in 7th edition, ch 5 in 6th edition) - a catalog of important commands. Read it but skip discussion of the following less important commands: hostname, lpr, diff, mcopy, gzip/gunzip/bzip, apropos, finger, w, write/talk/mesg. Skip vim tutorial.

ASCII chart - control characters
 eg ctlZ=dec26=oct032=hex1A
version1    version2

generating binary characters in several products
 documentation per product
 syntax product comparison matrix
script that generates them

arrays and shell customization

functions and file traversal



interactive bash (static slides version)

interactive bash (narrated slides version 1hr 15min)


text processing tools  (static slides version)

text processing tools (narrated slides version 2hr36min)

7 shell scripting Sobell ch 9 "The Bourne Again Shell" The chapter is full of embedded short 1- and 2-liner examples. I suggest you be at a bash shell while reading, to try out some of the interesting ones as you go. The most important topics appear in the following pages: 328-340, 352-356, 359-360, 366-367, 373-376, 388-389, 396-398

Sobell ch 17 "Programming the Bourne Again Shell"
sections of primary importance:
 981-1012 control structures
1014-1015 here document
1022-1029 positional and special parameters
1031-1034 variable parameters
1041-1044 read builtin
1056-1058 arithmetic/logical evaluation

write-ups at class website links entitled "Shell script basics" and "Shell programming: if and while"

see also the Bash Programming Introduction HOWTO

for reference -
Advanced Bash-Scripting Guide

Shellscript 1

Shellscript 2

categorize states

getting started  (static slides version)

getting started (narrated slides version 1hr35min)

Shell Scripting   (static slides version)

Shell Scripting (narrated slides version 2hr28min)

8 user administration Sobell ch 15 pp. 598-601 but skip the discussion of system-config-users
pp. 508-509 /etc/passwd  file
p. 511 /etc/shadow
pp. 506-507 /etc/group
user management script User administration  (static slides version)

User administration (narrated slides version 1hr43min)

User management script example
  (static slides version)

User management script example
 (narrated slides version 1hr)






automated remote configuration management with ansible


view and survey ansible's documentation

browse the list of ansible modules

ansible ansible (static slides version)

ansible (narrated slides version 46min)

10 remote management, webmin Webmin: A web-based Linux management tool RedHat article explore webmin  none
11 task scheduling

Sobell Chapter 15 (7th ed.) section titled "Scheduling Tasks" pp. 607-611

scheduled jobs Scheduled processes (static slides version)

Scheduled processes (narrated slides version 59min))

12 Subcontractors: bc, find, xargs

bc tutorial examples -

interesting xargs stuff


Advanced Bash Scripting Guide contains coverage of 
bc, xargs, and find

GNU bc (precision calculator) manual

GNU Findutils manual

bc exercise

Example program - reporting disk hogs, employs find

bc to perform RSA encryption algorithm


subcontractors - bc (static)
subcontractors - bc (narrated 34min)

subcontractors - find (static)
subcontractors - find (narrated 30min)

subcontractors - xargs (static)
subcontractors - xargs (narrated 26min)

13 Comparative UNIX
  kernels, shells, applications, Oh My!
  Ubuntu, CentOS, FreeBSD, Oh My!! 
do - this capstone exercise on comparison among different flavors of UNIX.
instructor reference:
sort multi-line blocks with AWK