⚡ Tutorials

A collection of hands-on tutorials to learn Linux techniques step by step. From basic commands to advanced skills, each tutorial includes rich examples and detailed explanations.

No matching articles found. Try changing your search criteria.

🚀 Basic Operations

Beginner
How to Use pwd, cd, and ls - Linux Basic Commands Tutorial
Beginner ⏱️ ~10 min

How to Use pwd, cd, and ls

Learn with Linny-senpai and Lina! Master pwd (location), ls (list), and cd (move) - the 3 essential commands for beginners.

Read more →
How to Use mkdir, touch, and echo - Create Files in Linux
Beginner ⏱️ ~12 min

How to Use mkdir, touch, and echo

Learn with Linny-senpai and Lina! Master mkdir (create directories), touch (create files), and echo/cat (view contents).

Read more →
How to Use cp, mv, and rm - Linux File Operations Guide
Beginner ⏱️ ~10 min

How to Use cp, mv, and rm

Learn basic file operations: creation, editing, copying, moving, and deletion. Includes introduction to text editor basics.

Read more →
Environment Variables Basics - Configuration and Practical Usage
Beginner ⏱️ ~15 min

Environment Variables Basics - Configuration and Practical Usage

Learn Linux environment variables for beginners. From echo and env to export, PATH, and persistence with .bashrc, taught through Lina and Linny-senpai's dialogue.

Read more →
locate, which, and whereis - Three Ways to Find Commands in Linux
Beginner ⏱️ ~15 min

locate, which, and whereis - Three Ways to Find Commands in Linux

Learn the differences between locate, which, and whereis. Solve "where did it install?" and "which python is running?" with the right command for the job.

Read more →

🔐 Permissions & Process Management

Intermediate
How to Use chmod and chown - Linux File Permissions Guide
Beginner ⏱️ ~12 min

How to Use chmod and chown

Detailed explanation of file and directory permissions, chmod, chown, umask and other permission-related commands.

Read more →
chmod vs chown vs sudo - When to Use Each in Linux
Intermediate ⏱️ ~12 min

How to Choose Between chmod, chown, and sudo

Practical learning of advanced permission management including special permissions, ACL, and security configuration.

Read more →
How to Fix Permission Denied in Linux - Practical Troubleshooting
Intermediate ⏱️ ~12 min

Fixing Permission Denied at the Root Cause

Detailed explanation of permission configuration best practices and real-world examples used in system administration.

Read more →
How to Use ps, top, and kill - Linux Process Management Tutorial
Beginner ⏱️ ~10 min

How to Use ps, top, and kill

Learn process concepts and process management commands including ps, kill, jobs, and nohup.

Read more →
Getting Started with Job Control - jobs, fg, bg, and Ctrl+Z
Beginner ⏱️ ~12 min

Getting Started with Job Control - jobs, fg, bg, and Ctrl+Z

Learn shell job control through Linny-senpai and Lina's dialogue: pause with Ctrl+Z to free your terminal, swap with fg/bg, list with jobs, and run with & — including the kill %1 pitfall — for absolute beginners.

Read more →
nohup, disown, and screen: Keeping Processes Running After Logout
Intermediate ⏱️ ~12 min

nohup/disown/screen - Keeping Processes Running After Logout

Three ways to keep processes running after SSH disconnect or terminal close. Learn nohup (before start), disown (after start), and screen (full session reattach), plus when to use each.

Read more →
nice and renice Basics - Controlling Process Priority
Intermediate ⏱️ ~12 min

nice and renice Basics - Controlling Process Priority

Control CPU scheduling priority with nice and renice. Covers the nice value range (-20 to 19), setting priority at launch, changing it dynamically for running processes, and root vs user permission rules.

Read more →
Linux Process Management in Practice - Job Control, pkill, and nice
Intermediate ⏱️ ~12 min

Linux Process Management in Practice

Learn practical techniques including system monitoring, performance tuning, and troubleshooting.

Read more →
User Management Basics: Getting Started with useradd, usermod, and userdel
Intermediate ⏱️ ~12 min

User Management Basics: useradd, usermod, and userdel

Learn how to create users with useradd, modify group memberships and attributes with usermod, and delete accounts with userdel. Covers sudo privileges and group management patterns.

Read more →
Linux Group Management Basics: groupadd, groupmod, and Access Control
Intermediate ⏱️ ~12 min

Linux Group Management Basics: groupadd, groupmod, and Access Control

Learn how to create groups with groupadd, modify them with groupmod, and manage members with usermod -aG and gpasswd. Covers /etc/group format, shared directory setup, and sudo privilege patterns.

Read more →
Understanding sudo vs su - Safe Privilege Escalation in Linux
Intermediate ⏱️ ~12 min

Understanding sudo vs su - Safe Privilege Escalation in Linux

Learn the difference between sudo and su, why sudo is the recommended approach, and how to configure sudoers safely with visudo. Covers common mistakes and a practical quick-reference for daily use.

Read more →
sudoers Configuration Basics - Delegating Privileges Safely
Intermediate ⏱️ ~12 min

sudoers Configuration Basics - Delegating Privileges Safely

Learn how to configure /etc/sudoers safely using visudo. Covers syntax, NOPASSWD, per-command delegation, and sudoers.d best practices on Ubuntu.

Read more →
Understanding umask - Controlling Default File Permissions
Intermediate ⏱️ ~9 min

Understanding umask - Controlling Default File Permissions

Learn how umask determines default permissions for new files and directories. Covers the AND NOT calculation, common values like 022/077/002, and how to make changes persistent via .bashrc or /etc/profile.

Read more →
chown and chgrp Basics - Changing File Ownership in Linux
Intermediate ⏱️ ~9 min

chown and chgrp Basics - Changing File Ownership in Linux

Learn how to change file owner and group with chown and chgrp. Covers user:group syntax, -R recursive changes, and common web server deployment patterns.

Read more →
Understanding SUID, SGID, and Sticky Bit - Special Permission Bits in Linux
Intermediate ⏱️ ~12 min

Understanding SUID, SGID, and Sticky Bit - Special Permission Bits in Linux

Learn how SUID, SGID, and Sticky Bit work in Linux. Understand special permission bits with practical chmod examples and security guidance.

Read more →
SELinux Introduction: Your First Step to Reading Denial Logs
Intermediate ⏱️ ~12 min

SELinux Introduction: Your First Step to Reading Denial Logs

Learn SELinux basics — check modes with getenforce, read AVC denial logs, and use ausearch and audit2why to identify what is being blocked and why.

Read more →
User and Group Management in Practice - Setting Up Multi-User Environments
Intermediate ⏱️ ~15 min

User and Group Management in Practice - Setting Up Multi-User Environments

A practical guide to managing users and groups with useradd, usermod, and groupadd. Covers multi-user setup and reading /etc/passwd on Linux.

Read more →

💪 Advanced Skills

Advanced
How to Use head, tail, and Pipes - Linux File Operations Advanced
Intermediate to Advanced ⏱️ ~22 min

How to Use head, tail, and Pipes

Learn advanced file operation techniques including links, compression/decompression, and backup technologies.

Read more →
find, grep, awk Master Guide - From Basics to Practice
All Levels ⏱️ ~10 min

How to Use find, grep, and awk

Practical learning of advanced file search and processing techniques using find, grep, awk. Aimed at professional-level mastery.

Read more →
How to Use find, grep, and awk - Linux Text Search Tutorial
Beginner to Intermediate ⏱️ ~20 min

How to Use find, grep, and awk - Basics

Systematic learning of basic file search and text processing commands.

Read more →
Advanced grep and awk Techniques - find/grep/awk Master Series
Intermediate to Advanced ⏱️ ~25 min

grep and awk Advanced Techniques

Learn advanced techniques including complex search conditions, regular expressions, and awk programming.

Read more →
Combining find, grep, and awk - Practical Techniques for Real Work
Advanced ⏱️ ~25 min

How to Combine find, grep, and awk

Detailed explanation of practical use cases and best practices used in real-world work.

Read more →
find, grep, awk Exercises - Troubleshooting and Practical Skill Building
Expert ⏱️ ~20 min

find, grep, and awk Exercises

Detailed learning of professional-level advanced techniques and optimization methods.

Read more →
Shell Script Tutorial for Beginners - Bash Variables, If, and Loops
Beginner~Intermediate ⏱️ ~15 min

How to Write Shell Scripts

Systematic learning of shell script writing basics, variables, control structures, and functions.

Read more →
Shell Scripting Practical - Functions, Arrays, and File Operation Techniques
Intermediate~Advanced ⏱️ ~20 min

Shell Scripting in Practice

Learn practical shell script creation methods, debugging techniques, and performance optimization.

Read more →
bash Parameter Expansion — Understanding ${var:-x} and Related Syntax
Intermediate ⏱️ ~12 min

bash Parameter Expansion — Understanding ${var:-x} and Related Syntax

bash parameter expansion cheat sheet covering default values, substring extraction, pattern removal, replacement, and case conversion with practical examples.

Read more →
Heredoc Basics - Embedding Multiline Strings in Shell Scripts
Intermediate ⏱️ ~12 min

Heredoc Basics - Embedding Multiline Strings in Shell Scripts

Learn how to use heredoc (<<EOF) to embed multiline strings in shell scripts. Covers variable expansion control, stripping indentation with <<-, writing to files, and practical use cases with SSH and databases.

Read more →
bash History Tips - Making the Most of Your Command History
Beginner ⏱️ ~15 min

bash History Tips - Making the Most of Your Command History

Learn to reuse bash commands with Ctrl+R search, !!, !$, and history numbers. Covers HISTSIZE and HISTCONTROL settings for efficient shell use.

Read more →
How to Use journalctl - Linux Log Investigation Guide
Intermediate ⏱️ ~10 min

journalctl Basics: Log Investigation

Learn how to check logs in Ubuntu (systemd) environments. Master filtering by time, service, and priority level for effective troubleshooting.

Read more →
journalctl in Practice - Filtering Logs from the systemd Journal
Intermediate ⏱️ ~12 min

journalctl in Practice - Filtering Logs from the systemd Journal

Master journalctl filtering. Filter logs by unit, time range, priority, and fields to quickly extract exactly what you need from the systemd journal.

Read more →
How to Use tar Command - Compress, Extract, and Avoid Mistakes
Intermediate ⏱️ ~8 min

tar Basics: Compression, Extraction & Avoiding Mistakes

Learn tar command for compression, extraction, and listing contents. Understand .tar.gz/.tgz/.tar differences and how to prevent extraction accidents.

Read more →
Pipes and Redirection Basics: Understanding Data Flow in Linux
Beginner ⏱️ ~12 min

Pipes and Redirection Basics

A beginner-friendly dialogue tutorial. Learn how `|`, `>`, `>>`, and `2>&1` work by following the flow of stdin, stdout, and stderr — and combine commands with confidence.

Read more →
Getting Started with nano - The Beginner-Friendly Editor Before Vim
Beginner ⏱️ ~10 min

Getting Started with nano - The Beginner-Friendly Editor Before Vim

Learn nano through dialogue with Lina and Linny-senpai! Open, edit, save (Ctrl+O), and exit (Ctrl+X) without memorizing anything — shortcuts are always shown at the bottom of the screen.

Read more →
Vim Basics: Essential Commands and Practical Techniques
Intermediate ⏱️ ~14 min

Vim Basics - Essential Commands and Practical Techniques

A practical Vim guide covering modes, motions, edits, search/replace, and save/quit. Stop getting stuck and learn the minimal .vimrc setup that works on any server.

Read more →
Fixing "command not found" Errors - Solutions When Commands Are Missing
Intermediate ⏱️ ~12 min

Fixing "command not found" Errors

Diagnose and fix "command not found" on Linux. Covers PATH, hash cache, sudo secure_path, pip --user, and cron with practical templates.

Read more →
Package Management Basics: Getting Started with apt and yum
Intermediate ⏱️ ~14 min

Package Management Basics: apt and yum

Practical guide to apt (Debian/Ubuntu) and yum/dnf (RHEL/CentOS) package management. Side-by-side command map, install/update workflows, and troubleshooting steps.

Read more →
dnf Package Management - Modern Tool for Fedora and RHEL-Based Systems
Intermediate ⏱️ ~12 min

dnf Package Management - Modern Tool for Fedora and RHEL-Based Systems

Learn dnf, the standard package manager for Fedora and RHEL-based systems. Covers install, update, remove, search, repo management, module streams, and rollback with practical examples.

Read more →
Package Management Troubleshooting: Resolving Dependency Errors
Intermediate ⏱️ ~10 min

Package Management Troubleshooting: Resolving Dependency Errors

Systematically fix apt and yum/dnf dependency errors. Covers dpkg repair, lock file conflicts, GPG key issues, and a step-by-step diagnosis flow for Ubuntu, CentOS, and Fedora.

Read more →
Git and Linux Basics - Getting Started with Version Control
Intermediate ⏱️ ~14 min

Git and Linux Basics - Version Control

Learn Git basics on Linux: install, configure, init, add, commit, and push. Covers Permission denied, SSH key auth, line endings, and exec bit pitfalls specific to Linux.

Read more →
Network Commands Basics: Checking Connectivity with ip and ifconfig
Intermediate ⏱️ ~11 min

Network Commands Basics - Checking Connectivity with ip and ifconfig

Learn the difference between ip and ifconfig and isolate "no network" issues layer by layer: link → IP → route → reachability → DNS, plus a net-tools migration cheat sheet.

Read more →
netstat and ss Basics: Monitoring Ports and Connections
Intermediate ⏱️ ~10 min

netstat and ss Basics: Monitoring Ports and Connections

Learn how to check listening ports, established connections, and TCP states with netstat and ss, including a netstat-to-ss migration cheat sheet for everyday use.

Read more →
Network Troubleshooting in Practice - Diagnosing Issues with ping, traceroute, and dig
Intermediate ⏱️ ~12 min

Network Troubleshooting in Practice - ping, traceroute, and dig

A 3-step approach to diagnosing network failures: ping for reachability, traceroute for routing, dig for DNS. Covers common patterns — gateway stops, DNS failures, and blocked ports — with real examples.

Read more →
curl and wget Basics: HTTP Communication from the Command Line
Beginner ⏱️ ~12 min

curl and wget Basics - HTTP Communication from the Command Line

Learn with Linny-senpai and Lina! Understand the curl vs wget split, the -O/-o trap, redirect follow with -L, header inspection with -I, JSON POST, and Bearer token auth — all from a beginner's perspective.

Read more →
SSH Key Authentication Setup - Passwordless and Secure Login
Intermediate ⏱️ ~12 min

SSH Key Authentication Setup - Passwordless and Secure Login

Generate an ED25519 key pair with ssh-keygen, deploy the public key using ssh-copy-id, and connect without a password. Covers permissions, ~/.ssh/config for multi-server management, and ssh-agent for passphrase caching.

Read more →
~/.ssh/config Tips: Organizing Your SSH Connection Settings
Intermediate ⏱️ ~8 min

~/.ssh/config Tips - Organizing Your SSH Connection Settings

Replace long ssh commands with short aliases using ~/.ssh/config. Covers ProxyJump for bastion host connections, per-host IdentityFile selection, KeepAlive settings, and Host * for global defaults.

Read more →
Ubuntu scp/rsync Basics: File Transfer Between Servers
Intermediate ⏱️ ~10 min

Ubuntu scp/rsync Basics: File Transfer Between Servers

Learn how to transfer files between servers using scp and rsync on Ubuntu. Includes copy-paste templates for common scenarios.

Read more →
Getting Started with nc (netcat) - The Versatile Tool for Port Testing and Debugging
Intermediate ⏱️ ~12 min

Getting Started with nc (netcat) - The Versatile Tool for Port Testing and Debugging

Learn nc (netcat) for port testing, simple server setup, file transfer, and banner grabbing. Practical debugging patterns for Linux network diagnostics.

Read more →
iptables and nftables Basics - Introduction to Packet Filtering
Intermediate ⏱️ ~12 min

iptables and nftables Basics - Introduction to Packet Filtering

Learn the fundamentals of iptables and nftables on Linux. Set up SSH and HTTP rules, block ports, and persist your firewall configuration on Ubuntu.

Read more →
Firewall Configuration Basics: Getting Started with ufw and firewalld
Intermediate ⏱️ ~12 min

Firewall Configuration Basics: Getting Started with ufw and firewalld

Learn how to configure Linux firewalls with ufw (Ubuntu) and firewalld (RHEL/CentOS). Covers port rules, default policies, zones, and practical patterns for web and database servers.

Read more →
/etc/hosts and /etc/resolv.conf - Understanding DNS Resolution Priority
Intermediate ⏱️ ~10 min

/etc/hosts and /etc/resolv.conf - Understanding DNS Resolution Priority

How /etc/hosts and /etc/resolv.conf shape DNS resolution on Linux — priority rules in nsswitch.conf, systemd-resolved, and practical override patterns.

Read more →
Linux Error Messages Dictionary: Common Errors, Causes, and Fixes
Intermediate ⏱️ ~14 min

Linux Error Messages Dictionary

A reverse-lookup dictionary of common Linux error messages. Quickly find the cause and fix for command not found, Permission denied, No space left on device, OOM, and more.

Read more →
sed Basics - Text Substitution with the Stream Editor
Intermediate ⏱️ ~12 min

sed Basics - Text Substitution with the Stream Editor

Master the five core sed patterns (substitute, delete, print, address, multi-expression), the safe pattern for in-place editing with `-i.bak`, and when to choose BRE vs ERE.

Read more →
Getting Started with sort and uniq: Sorting Data and Removing Duplicates
Beginner ⏱️ ~10 min

Getting Started with sort and uniq

Learn with Linny-senpai and Lina! Master sort and uniq for sorting, deduplicating, and counting data, including the classic `sort | uniq -c | sort -rn` frequency ranking pattern.

Read more →
xargs in Practice: Converting Standard Input to Command Arguments
Intermediate ⏱️ ~10 min

xargs in Practice - Converting Standard Input to Command Arguments

Master xargs to "paste" pipe contents into the argument slot of the next command. Learn safe patterns with find -print0 | xargs -0, the -I {} placeholder, and -P parallel execution while avoiding common pitfalls.

Read more →
jq Basics: How to Process JSON in the Shell
Intermediate ⏱️ ~12 min

jq Basics - How to Process JSON in the Shell

A practical guide for shaping JSON from curl and APIs with jq. Master filters, select, map, raw vs compact output, and safe patterns for piping JSON in production scripts.

Read more →
cut, paste, and tr Basics: Column Extraction and Character Conversion
Intermediate ⏱️ ~10 min

cut, paste, and tr Basics - Column Extraction and Character Conversion

Use cut to extract CSV/TSV columns, paste to merge files side by side, and tr to translate or delete characters. Combine them in pipelines for powerful text processing.

Read more →
diff and patch Basics - Getting and Applying Diffs
Intermediate ⏱️ ~10 min

diff and patch Basics - Getting and Applying Diffs

Learn how to generate file diffs with diff -u and apply them with patch. Covers unified diff format, directory comparison, -p0 vs -p1 strip levels, dry runs, and reverting with patch -R.

Read more →
Getting Started with tee - Splitting Command Output
Beginner ⏱️ ~12 min

Getting Started with tee - Splitting Command Output

Learn with Lina and Linny-senpai! Save pipeline output to a file while keeping it flowing to the next command. Covers -a append, multiple file targets, the sudo tee pattern for root-owned files, and using tee as a pipeline debugger.

Read more →
awk One-Liners - 30 Practical Patterns for Real-World Use
Intermediate ⏱️ ~15 min

awk One-Liners - 30 Practical Patterns for Real-World Use

30 practical awk one-liners organized by use case. Field extraction, aggregation, log analysis, and CSV processing — copy-paste ready patterns for real-world use.

Read more →
column, pr, and fmt - Understanding Text Formatting Commands
Intermediate ⏱️ ~10 min

column, pr, and fmt - Understanding Text Formatting Commands

Learn Linux text formatting commands column, pr, and fmt — align tabular data, paginate output for printing, and reformat paragraph text on the command line.

Read more →
Reading Logs with less, more, and tail - Mastering Pager Commands
Beginner ⏱️ ~15 min

Reading Logs with less, more, and tail

Learn with Lina and Linny-senpai! Tired of `cat` scrolling past? Master less for page navigation and search, tail for the newest entries, and tail -f for real-time log monitoring.

Read more →
Getting Started with stat - Reading File Metadata
Intermediate ⏱️ ~12 min

Getting Started with stat - Reading File Metadata

Learn to read stat output on Linux. Covers atime/mtime/ctime timestamp differences, inode number usage, format options for scripting, and filesystem-level statistics with stat -f.

Read more →
find -exec vs xargs: Choosing the Right Approach
Intermediate ⏱️ ~15 min

find -exec vs xargs: Choosing the Right Approach

Learn when to use find -exec (semicolon vs plus form) vs xargs. Covers the -print0 | xargs -0 safety pattern for filenames with spaces, parallel execution with -P, and practical one-liners for common file management tasks.

Read more →
Understanding du vs df: Measuring Disk Usage Correctly
Beginner ⏱️ ~10 min

Understanding du vs df - Measuring Disk Usage Correctly

A beginner-friendly walkthrough of how du and df differ. Learn why "df is full but du doesn't add up" — covering deleted-open files, mount boundaries, and root-reserved blocks with a practical investigation playbook.

Read more →
top and htop Mastery: Identifying System Bottlenecks
Intermediate ⏱️ ~14 min

top and htop Mastery - Identifying System Bottlenecks

Read top's summary lines in 30 seconds to decide whether the bottleneck is CPU, memory, or I/O. Master %us/%sy/%wa thresholds, htop's tree view, filters, and F-keys for production-grade triage.

Read more →
Getting Started with tmux - Terminal Multiplexing Basics
Beginner ⏱️ ~15 min

Getting Started with tmux - Terminal Multiplexing Basics

Learn tmux fundamentals through a friendly dialogue between Lina and Linny-senpai. Keep your work alive after SSH disconnects, master the session/window/pane hierarchy, the prefix key (Ctrl+b), and detach/attach with beginner-friendly examples.

Read more →
strace Basics - Tracing System Calls for Troubleshooting
Intermediate ⏱️ ~12 min

strace Basics - Tracing System Calls for Troubleshooting

Learn to trace system calls with strace on Linux. Filter by call type, attach to running processes with -p, interpret errno values like ENOENT and EACCES, and diagnose Permission denied and connection failures in minutes.

Read more →
vmstat, iostat, and sar - Understanding Linux Performance Analysis Tools
Intermediate ⏱️ ~15 min

vmstat, iostat, and sar - Linux Performance Analysis Tools

Learn to identify CPU, memory, and I/O bottlenecks using three complementary tools. Use vmstat for a system-wide overview, iostat to pinpoint slow devices by await and util%, and sar to review historical trends after an incident.

Read more →
Setting Up Aliases - How to Shorten Linux Commands
Beginner ⏱️ ~12 min

Setting Up Aliases - How to Shorten Linux Commands

Learn with Lina and Linny-senpai! Create short nicknames for long commands using alias, persist them in .bashrc, and remove them with unalias.

Read more →
Understanding .bashrc and .profile Load Order - When Settings Are Not Applied
Beginner ⏱️ ~15 min

Understanding .bashrc and .profile Load Order

Learn with Linny-senpai and Lina! Why aliases disappear over SSH, the difference between login and interactive shells, and how to reload settings instantly with source — all explained for beginners.

Read more →
How to Write systemd Unit Files - Registering Custom Services
Intermediate ⏱️ ~10 min

How to Write systemd Unit Files - Registering Custom Services

Learn to daemonize scripts and applications using systemd. Covers the [Unit], [Service], and [Install] sections, ExecStart, Restart policies, EnvironmentFile, and the full systemctl enable/start workflow.

Read more →
Symbolic Links and Hard Links - Understanding File References in Linux
Intermediate ⏱️ ~10 min

Symbolic Links and Hard Links - Understanding File References in Linux

Learn the difference between symbolic and hard links. Covers the ln command, inodes, reference counting, cross-filesystem constraints, and practical patterns like dotfiles and version-managed directories.

Read more →
Why cron Is Not Running - Troubleshooting crontab on Linux
Intermediate ⏱️ ~10 min

Why cron Is Not Running - Troubleshooting crontab on Linux

Fix cron jobs that aren't running on Linux. Learn how to check crontab, view logs, and avoid common PATH and permission pitfalls.

Read more →
systemd Timer vs cron: Choosing the Right Scheduler
Intermediate ⏱️ ~12 min

systemd Timer vs cron: Choosing the Right Scheduler

Compare systemd timer and cron for Linux job scheduling. Prefer systemd timer for logging, dependencies, and missed-run recovery; cron for simple one-liners.

Read more →
How to Use systemctl - Linux Service Management Guide
Intermediate ⏱️ ~8 min

How to Use systemctl - Linux Service Management Guide

Manage Linux services with systemctl. Learn status, start, restart, and enable commands for Nginx, Apache, SSH, and other services.

Read more →
How to Read Log Files - Introduction to System Log Analysis
Intermediate ⏱️ ~12 min

How to Read Log Files - Introduction to System Log Analysis

Learn to read Linux log files in /var/log/. Covers syslog, auth.log, kern.log structure plus practical commands — tail -f, grep, less — for effective log analysis and troubleshooting.

Read more →
logrotate Basics - Keeping Logs Manageable with Automatic Rotation
Intermediate ⏱️ ~10 min

logrotate Basics - Keeping Logs Manageable with Automatic Rotation

Learn logrotate config structure and key directives. Covers rotate, compress, delaycompress, postrotate, and how to debug with dry-run mode on Linux.

Read more →
/tmp Cleanup Best Practices - tmpfiles.d and systemd-tmpfiles
Intermediate ⏱️ ~10 min

/tmp Cleanup Best Practices - tmpfiles.d and systemd-tmpfiles

Manage /tmp cleanup with systemd-tmpfiles and tmpfiles.d. Write declarative rules for automatic deletion, permissions, and boot-time directory creation.

Read more →
Disk Management Basics - Inspecting Storage with fdisk and lsblk
Intermediate ⏱️ ~10 min

Disk Management Basics - Inspecting Storage with fdisk and lsblk

Learn how to inspect Linux storage layout using fdisk -l and lsblk. Covers partition types, block device trees, device naming conventions, and when to use df vs du for disk space investigation.

Read more →
Mount and fstab Basics - How to Attach Filesystems in Linux
Intermediate ⏱️ ~12 min

Mount and fstab Basics - How to Attach Filesystems in Linux

Learn how to use the mount command and /etc/fstab. Covers attaching devices to directories, using UUID for safe device identification, and writing persistent mounts that survive reboots.

Read more →
LVM and Partition Management in Practice: Flexible Storage Operations
Intermediate ⏱️ ~15 min

LVM and Partition Management in Practice: Flexible Storage Operations

LVM and partition management guide for Linux. Learn to create PV, VG, and LV, extend volumes online, use snapshots, and manage storage flexibly.

Read more →
Swap Management - Avoiding Memory Exhaustion in Linux
Intermediate ⏱️ ~12 min

Swap Management - Avoiding Memory Exhaustion in Linux

Learn what Linux swap is, how to create a swapfile, tune swappiness for your workload, and diagnose OOM killer events before they take down production.

Read more →

🩺 Practical Troubleshooting

Reverse-Lookup Reference

Error and incident articles have moved to a dedicated reverse-lookup category. Look up Permission denied, No space left, SSH failures, high CPU load, memory pressure, DNS issues by symptom.

🐧 Master Skills Through Practice!

After learning the theory, practice using actual commands. You can learn experientially at Penguin Gym Linux.