Linux foundations: get started with the essential commands, concepts and workflows.
Hands-on practice with shell, file system, processes and permissions.
Work confidently with text tools, package management and networking basics.
Gain practical experience by applying skills in guided labs (~70%).
How this helps: build confidence to use Linux daily in development and ops.
Who it’s for: designed for individuals new to Linux who want a structured introduction.
By the end, you’ll navigate Linux systems and perform common tasks with ease.
Curriculum
Introduction and setup
- Install a Linux VM in VirtualBox (CentOS/Ubuntu)
- Terminal basics; shells and common shortcuts
- Package managers overview (dnf/yum, apt, zypper)
System startup and shutdown
- Boot sequence essentials
- GRUB and configuration files
- Key configuration in /etc
- The init process and systemd basics
- Shutting down and rebooting safely
Working with files and directories
- Filesystem Hierarchy Standard (FHS)
- Navigate the filesystem
- View and edit text files (nano, vim)
- Create, copy, move, rename, delete
- Find files (find, locate, grep)
- Pipelines: sort, filter, basic regex, tr
- Work with binary files; diff text and binaries
Users and groups
- User and group management
- Passwords and sudo
- SSH basics; copy files over SSH (scp/rsync)
Permissions
- Mode bits, ownership, umask
- setuid, setgid, sticky bit
- Practical permission patterns
Processes and jobs
- Programs vs processes; daemons
- ps/top/htop; signals and kill
- Foreground/background jobs; nohup & disown
- Nice/renice (scheduling basics)
Filesystems and storage
- Create/format filesystems (ext4, xfs)
- Check and repair (fsck)
- Mount/unmount (incl. NFS)
- Swap basics
System status and troubleshooting
- CPU, memory, disk, and swap usage
- Logs: journalctl and /var/log/*
- Simple problem‑solving workflows
Package management
- Install, remove, search, update packages
- Package concepts: repos, signatures, dependencies
Networking
- Configure interfaces and hostnames
- Routing basics
- Name resolution (resolv.conf, systemd‑resolved)
- Diagnostics: ping, traceroute, ss, tcpdump
Practical shell scripting
- Bash syntax essentials; quoting
- Variables, conditionals, loops, functions
- Command substitution and exit codes
- Write and run many small scripts
Optional modules
Advanced topics (optional)
- systemd services and timers; journald deep‑dive
- cron vs. systemd timers; logrotate
- Firewall basics: firewalld/ufw; brief nftables/iptables
- Storage extras: LVM snapshots; intro to Btrfs/ZFS
- Security: SSH hardening, key management, sudo best practices
- Monitoring: iostat, vmstat, sar, atop; quick intro to collectd/node_exporter
- Containers primer: Podman/Docker basics for developers
- Automation: aliases, dotfiles, and portable scripts
Course Day Structure
- Part 1: 09:00–10:30
- Break: 10:30–10:45
- Part 2: 10:45–12:15
- Lunch break: 12:15–13:15
- Part 3: 13:15–15:15
- Break: 15:15–15:30
- Part 4: 15:30–17:30