Linux Journey - Learn Linux fundamentals through interactive lessons.
A structured learning path from beginner to advanced Linux administration with three levels:
- Grasshopper - Learn the basics
- Journeyman - System internals
- Networking Nomad - Network administration
The repository is organized as follows:
├── i18n/ # Language files
├── lessons/ # Course content by language
│ ├── en/ # English lessons
│ ├── zh/ # Chinese lessons
│ └── ... # Other languages
└── README.md
What is Linux? Get started with choosing a distribution and installation.
- Linux History
- Choosing a Linux Distribution
- Debian
- Red Hat Enterprise Linux
- Ubuntu
- Fedora
- Linux Mint
- Gentoo
- Arch Linux
- openSUSE
Learn the fundamentals of the command line, navigating files, directories, and more.
- The Shell
- pwd (Print Working Directory)
- cd (Change Directory)
- ls (List Directories)
- touch
- file
- cat
- less
- history
- cp (Copy)
- mv (Move)
- mkdir (Make Directory)
- rm (Remove)
- find
- help
- man
- whatis
- alias
- exit
Learn basic text manipulation and navigation.
- stdout (Standard Out)
- stdin (Standard In)
- stderr (Standard Error)
- pipe and tee
- env (Environment)
- cut
- paste
- head
- tail
- expand and unexpand
- join and split
- sort
- tr (Translate)
- uniq (Unique)
- wc and nl
- grep
Navigate text like a Linux spider monkey with Vim and Emacs.
- regex (Regular Expressions)
- Text Editors
- Vim (Vi Improved)
- Vim Search Patterns
- Vim Navigation
- Vim Inserting and Appending Text
- Vim Editing
- Vim Saving and Exiting
- Emacs
- Emacs Manipulate Files
- Emacs Buffer Navigation
- Emacs Editing
- Emacs Exiting and Help
Learn about user roles and management.
Learn about permission levels and modifying permissions.
- File Permissions
- Modifying Permissions
- Ownership Permissions
- Umask
- Setuid
- Setgid
- Process Permissions
- The Sticky Bit
Learn about the running processes on the system.
- ps (Processes)
- Controlling Terminal
- Process Details
- Process Creation
- Process Termination
- Signals
- kill (Terminate)
- niceness
- Process States
- /proc filesystem
- Job Control
Learn all about the dpkg, apt-get, rpm, and yum package management tools.
- Software Distribution
- Package Repositories
- tar and gzip
- Package Dependencies
- rpm and dpkg
- yum and apt
- Compile Source Code
Learn about Linux devices and how they interact with the kernel and user space.
Learn about the Linux filesystem, the different types of filesystems, partitioning, and more.
- Filesystem Hierarchy
- Filesystem Types
- Anatomy of a Disk
- Disk Partitioning
- Creating Filesystems
- mount and umount
- /etc/fstab
- swap
- Disk Usage
- Filesystem Repair
- Inodes
- symlinks
Learn about the stages of the Linux boot process.
- Boot Process Overview
- Boot Process: BIOS
- Boot Process: Bootloader
- Boot Process: Kernel
- Boot Process: Init
The most important part of the Linux system; learn about how it works and how to configure it.
- Overview of the Kernel
- Privilege Levels
- System Calls
- Kernel Installation
- Kernel Location
- Kernel Modules
Learn about the different init systems: SysV, Upstart, and systemd.
- System V Overview
- System V Service
- Upstart Overview
- Upstart Jobs
- Systemd Overview
- Systemd Goals
- Power States
Learn resource monitoring with top, load averages, iostat, and more!
- Tracking processes: top
- lsof and fuser
- Process Threads
- CPU Monitoring
- I/O Monitoring
- Memory Monitoring
- Continuous Monitoring
- Cron Jobs
Learn about system logs and the /var/log directory.
Learn about network sharing with rsync, scp, nfs, and more.
Learn about networking basics and the TCP/IP model.
- Network Basics
- OSI Model
- TCP/IP Model
- Network Addressing
- Application Layer
- Transport Layer
- Network Layer
- Link Layer
- DHCP Overview
Learn about subnets and how to do subnet arithmetic!
Learn how packets are routed across networks!
- What is a router?
- Routing Table
- Path of a Packet
- Routing Protocols
- Distance Vector Protocols
- Link State Protocols
- Border Gateway Protocol
Learn about network configuration using Linux tools!
Learn about common networking tools to help you diagnose and troubleshoot issues!
Everything and more that you wanted to know about DNS.
We welcome contributions! See CONTRIBUTING.md for detailed guidelines on:
- Adding new lessons and content
- Translation guidelines
- Lesson templates and structure
- Development workflow
Content is licensed under CC BY-SA 4.0 and maintained by the LabEx team.