TLDR (Too Long Didn't Read) version can be found here.
This is a roadmap that gives an overview of the key concepts and technologies you need to know to effectively use Linux. It will help you grasp the essentials of operating system internals, command-line usage, system administration tasks, and more.
Note: This roadmap is primarily focused on systems utilizing
systemd
. If you want to use a Linux distribution that does not utilizesystemd
, certain aspects of this roadmap may not be applicable.
-
- What is Linux?
- Bootloader Introduction
- Kernel Introduction
- Daemons Introduction
- Shell Introduction
- Graphical Server Introduction
- Desktop Environment Introduction
- Applications Introduction
- Short History of Linux
- Linux Kernel
- GNU Project
- Linux Distributions
- Linux Desktop Environments
- Linux Distributions
- Debian-based Distributions (e.g., Ubuntu, Debian)
- RPM-based Distributions (e.g., Fedora, CentOS)
- Others (e.g., Arch Linux, Gentoo)
- Linux Jargon
- What is Linux?
-
Basics of the Linux Command Line
- Navigating the File System (cd, ls, pwd)
- File Operations (cp, mv, rm)
- Viewing File Contents (less, cat, tail, head)
- Utilities (grep, awk, sed, find)
-
- Process Listing and Monitoring (ps, top, htop)
- Process Control (kill, pkill)
- Process Priorities and Niceness
- Background and Foreground Processes
-
- Debian-based distros (apt-get, dpkg)
- Red Hat-based distros (dnf, yum, rpm)
- Arch Linux distros (yay, pacman)
- Source-based distros (Portage in Gentoo)
- Comparison of different package managers
-
- File System Layout
- File Permissions and Ownership
- Understanding different File Systems (ext4, XFS, Btrfs etc.)
-
- Text Editors
- Vim / Vi
- Nano
- Micro
- Emacs
- Text Manipulation (cut, paste, sort, uniq)
- Text Formatting (fmt, pr, column)
- Text Comparison (diff, comm)
- X11/Wayland Clipboard (xclip, wl-clipboard)
- Text Editors
-
- Bash Scripting Basics
- Scripting languages (Python, Perl, Ruby, Lua, Node.js. etc.)
- Alternative Shells (zsh, fish, nushell)
- Cron Jobs
-
- Networking Tools (ping, ssh, scp, netstat, netcat, curl, wget)
- Firewall Basics (firewalld, iptables, ufw)
- Understanding Network Protocols (TCP, UDP, IP)
- DNS and DHCP in Linux
-
- Adding and Removing Users (useradd/userdel)
- Adding and Removing Groups (groupadd/groupdel)
- Modifying User and Group Details
- Understanding User and Group IDs
-
- Sudo and Root User
- Changing File Permissions and Ownership
- Understanding setuid, setgid and Sticky Bit
- Understanding SELinux
-
- Partitioning
- Mounting and Unmounting Filesystems
- Disk Usage Analysis (df, du)
-
- System Logs
- Log Analysis Tools (logrotate)
- Understanding syslog and journalctl
-
- Basic Linux Security Concepts
- AppArmor
- Basics of computer science
- Understanding of operating systems.
- Basic knowledge of how a computer works (memory, CPU, storage etc.)
- Understanding the functionality and use of a computer's operating system.
- Basic knowledge of command line functionality.
- Knowledge on installing software on a computer system.