Skip to content

Latest commit

 

History

History
69 lines (51 loc) · 3.39 KB

ReadmeRoughDraft.md

File metadata and controls

69 lines (51 loc) · 3.39 KB

Welcome to the class!

In this repo you'll find lecture notes, homework assignments, and other course materials.

TODO

Check this video, this might be a fun exam problem: https://www.youtube.com/watch?v=QCZl0eNzMTs

Keep in touch:

The class discord is:

TODO TODO TODO

Recommended reading/viewing:

In general there is an overabundance of reading material on the internet about Linux/Unix and, as we discussed, you sometimes don't even need to go anywhere to learn - right there in your terminal you have --help and man COMMAND to get answers about different linux tools.

General Linux

  1. Evi Nemeth's "UNIX and Linux System Administration Handbook (5th Edition)" - this is a very praised book about Linux system administration.
  2. Christopher Negus - "Linux Bible" - another great book with lots of information about Linux.

BASH and Shell Scripting.

  1. Advanced Bash Scripting Guide - https://www.tldp.org/LDP/abs/html/index.html
  2. Dave Taylor and Brandon Perry - "Wicked Cool Shell Scripts 2nd Ed" - a huge collection of cool bash programs with explanations of how they work.

Awk, Grep, Sed.

  1. Arnold Robbins & Dale Dougherty - sed & awk
  2. Aho & Kernighan - The Awk Programming Language
  3. The pdf I've added to this repo called "grep_awk_sed.pdf"

A good video about BASH:

  1. Derek Banas "Shell Scripting Tutorial" - https://www.youtube.com/watch?v=hwrnmQumtPw

Git

The standard recommended git book, available online for free:

  1. ProGit - https://git-scm.com/book/en/v2

Course Goal

I've planned this class around the Linux Foundation System Admin Certification guidelines. This is a list of things you need to know to pass a Linux Foundation certification exam. The pdf is in this repository as well.

Additional Cool Stuff

Also, we won't have time for it in this class, but there's a great tutorial online called "Beej's guide to network programming". If you like network programming in C, or plan to do it in the future, I love this tutorial, I learned a ton from it and hope we have time to take a peek at it this semester. http://beej.us/guide/bgnet/pdf/bgnet_A4.pdf

Additional Lecture Ideas

Set up a database server? E.g. a lesson like this: https://stackoverflow.com/questions/15872543/access-mysql-remote-database-from-command-line . Access DB from command line, make a few sql queries.

TODO for self, ignore:

Learn about different virtualization / containerization / jail techniques in Linux / BSD https://en.wikipedia.org/wiki/LXC https://www.infoworld.com/article/3204171/what-is-docker-the-spark-for-the-container-revolution.html http://daemonforums.org/showthread.php?t=7099 https://www.geeksforgeeks.org/linux-virtualization-using-chroot-jail/ https://blog.jessfraz.com/post/containers-zones-jails-vms/ https://en.wikipedia.org/wiki/FreeBSD_jail https://unix.stackexchange.com/questions/254956/what-is-the-difference-between-docker-lxd-and-lxc/ https://unix.stackexchange.com/questions/127001/linux-lxc-vs-freebsd-jail

TODO for self:

difference between apache2 and httpd? https://httpd.apache.org/docs/2.4/programs/httpd.html https://www.thegeekdiary.com/linux-os-service-httpd/ I think it's just a naming difference.

Maybe fun activity

how to make an encrypted USB stick https://dev.to/fdoxyz/tying-lets-encrypt-and-docker-swarm-together-4j16 https://linux.tips/tutorials/how-to-encrypt-a-usb-drive-on-linux-operating-system https://en.wikipedia.org/wiki/Linux_Unified_Key_Setup