In this workshop you will get an introduction to the Linux environment. We'll go through the installation (using a virtual machine) and usage of basic commands on the Terminal. To finish off we will configure Cron to do a task automatically for us.
After the workshop the participants should have grasped concepts and developed skills as follows.
-
Understand what are:
- Operating systems
- Linux systems
- Virtual machines
-
Know how to:
- Install and use a hypervisor
- Perform basic tasks in a Linux environment
- Use Cron jobs
-
Operating Systems
- What is an Operating System?
- Basic explanation
- Exercise: What are some examples of OS? (5 min)
- GNU/Linux
- Open Source software
- What are distributions?
- Exercise: Find 2 distributions you find interesting (10-15 min)
- Ubuntu
- What is Linux used for?
- All Android phones and tablets (including the ones on the plane seats)
- Basically all web servers everywhere (including Google, Amazon, Facebook...), and any other professional network server for that matter
- DevOps / Docker
- Software Development
- Robotics / Raspberry Pi / Car systems (Tesla)
- Scientific research / Data mining / General number crunching
- Animating, apparently
- Hmmm... to power the International Space Station?
- Desktop OS
- What is an Operating System?
-
Virtual Machines
- What is a Virtual Machine?
- What are Hypervisors?
- Virtualbox
- What are VMs used for?
- Cloud services
- Create an instance in AWS or DO
-
Linux
- Install Ubuntu with VirtualBox (check the Resources section below)
- Ubuntu Overview
- Graphical interface overview
- System configuration tool
- Common applications & How to install new ones
- Linux overview
- Folder structure overview
- Basic command line usage
- whoami, whatis, whereis
- cd, pwd, mkdir, ls -l, cp, cp -R, mv, rm, rm -R
- cat, more
- df -h, du -sh
- find . -name caffeine.txt
- top, kill
- exit
- Use the man command:
- man man / man ls (How to list by size?)
- Wild cards
- ls *.txt
- Package manager
- apt
- cowsay
- apt
- Editing files with vim
- Modes
- Save, quit
- Network Operations
- Ping
- Nmap google.com
-
Cron jobs
- What are Cron jobs?
- Exercise
- Create python script to update a file
- Make cron update it every 10 seconds
- Extra challenge: send an email to someone every hour with a new quote (or whatever)
-
Downloads
- https://www.virtualbox.org/wiki/Downloads (Pick an option from “VirtualBox platform packages”)
- https://ubuntu.com/download (Download Ubuntu Desktop)
-
Sources
- https://en.wikipedia.org/wiki/Operating_system
- https://en.wikipedia.org/wiki/Virtual_machine
- https://en.wikipedia.org/wiki/Linux
- https://en.wikipedia.org/wiki/Open-source_software
- https://en.wikipedia.org/wiki/Cron
- Best virtual machine software of 2020: virtualization for different OS
- What virtualization technology is set up on VPS?
- The Linux Directory Structure, Explained
- How to find out the virtualization type of an linux VPS?
- 37 Important Linux Commands You Should Know
- Scheduling Tasks with Cron Jobs
-
Further learning
-
Multimedia
- Explainer - What is an Operating System as Fast As Possible
- Movie - Revolution OS, about the beginning of free Free Software Movement