About the course
Learn Linux quickly and effectively with our practical, hands-on training. This course takes you from the fundamentals of the Linux file system and command line to essential system administration skills.
Whether you're new to Linux or transitioning from Windows/macOS, you'll develop the skills to manage files, work with processes, and automate tasks.
We offer customised training for specific Linux distributions to meet your needs, including Debian, Arch, Fedora and derivatives such as Ubuntu and Red Hat Enterprise Linux.
Instructor-led online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.
-
By the end of this course, attendees will be able to:
- Understand the core concepts of Linux and its architecture, including its history, popular distributions, and the role of the kernel and shell.
- Navigate the Linux file system efficiently using essential commands and understand the standard directory hierarchy.
- Manage files and directories effectively, performing operations such as creating, viewing, copying, moving, and deleting.
- Control user and group permissions on files and directories to manage access and enhance system security.
- Utilise intermediate command-line techniques, including input/output redirection, pipes, and text filtering tools like grep, sed, and awk.
- Edit text files proficiently using the Vim editor, mastering its different modes and essential commands for text manipulation.
- Monitor and control processes running on a Linux system, including viewing, managing, and scheduling jobs.
- Write basic Bash shell scripts incorporating variables, parameters, and control flow statements for automation.
- Retrieve essential system information regarding hardware, network configuration, and resource usage.
- Archive and compress files using common Linux utilities like tar, gzip, and bzip2.
-
This course is designed for:
System administrators
Developers
DevOps engineers
Anyone new to Linux
...who need to quickly get up to speed with the Linux operating system and command line.
-
In order to fully benefit from this course, you should be comfortable using a computer and have a basic understanding of files and directories.
We can customise training to match your team's experience and needs - for instance, with more time and coverage of fundamentals for less experienced users, or a faster pace and/or stretch goals for Windows / macOS power users who need to gain familiarity quickly with a specific Linux distro.
-
This Linux course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).
Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.
-
Linux Fundamentals and Command Line Basics
Introduction to Linux
Linux and UNIX history: Key concepts, lineage, and the open-source philosophy.
Linux distributions: Overview of popular distributions (Ubuntu, Fedora, CentOS/RHEL), their purposes, and differences.
Linux architecture: Kernel, shell, and user space.
Logging in and the shell environment.
Users, Groups, and Permissions
Linux security model: Users, groups, and file permissions.
Managing users and groups: useradd, userdel, groupadd, groupdel, usermod.
Understanding file permissions: read, write, execute (rwx).
Changing file permissions: chmod (numeric and symbolic modes).
Changing file ownership: chown, chgrp.
Navigating the File System and Basic Commands
The Linux file system hierarchy: /, /bin, /etc, /home, /usr, /var, etc.
Essential commands for navigation: pwd, cd, ls (with options), tree.
Creating, viewing, and manipulating files: touch, cat, less, head, tail, echo, >,>>.
Creating and managing directories: mkdir, rmdir.
Copying, moving, and deleting files and directories: cp, mv, rm (and the importance of being careful with rm -rf).
Intermediate Command Line, Text Editing, and Processes
Intermediate Command Line Skills
Input/output redirection and pipes: <, >, >>, |.
Filtering and manipulating text: grep, sed, awk, sort, uniq.
Finding files: find, locate, which.
Command history and aliases: history, !, alias, unalias.
Shell expansion: wildcards (*, ?, []), brace expansion.
The Vim Text Editor
Introduction to Vim: modes of operation (normal, insert, visual, command-line).
Basic Vim navigation: h, j, k, l, gg, G, Ctrl+f, Ctrl+b.
Inserting and appending text: i, a, o, O.
Deleting and changing text: x, dd, dw, c, s, r.
Copying and pasting text: yy, p, P.
Searching and replacing: /, ?, n, N, :s.
Saving and exiting: :w, :q, :wq, :q!.
Processes and Job Control
Understanding processes: PID, parent-child relationships.
Viewing processes: ps, top, htop.
Controlling processes: kill, killall, pkill.
Foreground and background processes: &, Ctrl+z, bg, fg, jobs.
Scheduling processes: at, cron.
Day 3: Shell Scripting, System Information, and Archiving
Introduction to Bash Scripting
Introduction to Bash: shell vs. script, shebang (#!/bin/bash).
Writing basic Bash scripts: variables, parameters, and comments.
Control flow in Bash scripts: if, then, else, elif, for, while, case.
Bash functions.
Basic script debugging.
System Information and Utilities
Getting system information: uname, uptime, hostname, date, cal.
Disk usage: df, du.
Memory usage: free, vmstat.
Network information: ifconfig (or ip addr), ping, netstat, ss.
Overview of Package management: apt (Debian/Ubuntu) or yum/dnf (Fedora/CentOS/RHEL).
Archiving and Compression
Archiving files: tar (creating, extracting, listing archives).
Compressing files: gzip, bzip2, xz.
Combining archiving and compression: tar -czvf, tar -xzvf, etc.
Disk backups (Basics): dump, restore
Permissions and Security
A deeper dive into file system permissions
SetUID, SetGID, and Sticky Bits
ACLs (Access Control Lists)
-
Official Documentation (Man Pages): man command: The most fundamental resource on any Linux system. Type man <command_name> (e.g., man ls, man grep) in your terminal to get detailed documentation for almost any command.
The Linux Command Line (by William Shotts): http://linuxcommand.org/tlcl.php
Trusted by