Introduction

Objective

What This Is

Scope

Prerequisites

Learning Outcomes

  1. Explain the difference between shell variables and environment variables and write shell scripts that use each.
  2. Create a virtual environment and explain what this actually does.
  3. Create requirements.txt file for pip and explain version pinning.
  4. Explain what a filesystem is (disk partitions, inodes, symbolic links) and use df, ln, similar commands to explore with them.
  5. Explain what a process is and use commands like ps and kill to explore and manage them.
  6. Explain what a job is and use commands like jobs, bg, and fg to manage them.
  7. Explain what cron jobs are and how to create them.
  8. Explain the difference between a container and a virtual machine.
  9. Create and manage Docker images.
  10. Explain what ports are and write Python code that uses sockets and HTTP.
  11. Explain what certificates are and how they are used to support HTTPS.
  12. Explain what key pairs are and how they are stored, and create and manage key pairs.
  13. Explain what IP addresses are and how they are resolved.
  14. Explain how traditional password authentication works and describe its weaknesses.

Setup

Acknowledgments

My thanks to everyone who helped make this tutorial possible: