Sitemap
Navigate to Penguin Gym Linux main content organized by category.
🔍 Search Content
Filter by page title or keywords
Browse by category or try different keywords.
🏠 Main Pages
-
Learn Linux Commands Online Free for Beginners
Free Linux for beginners — learn Linux commands online in your browser. No installation needed. Interactive terminal with step-by-step lessons and quizzes.
-
Online Linux Terminal - Practice Linux Commands Free
Free online Linux terminal in your browser. Practice Linux commands and learn the command line with exercises from beginner to advanced. No installation required.
-
Linux Command Quiz & LPIC-1 Exam Simulator
Free Linux command quiz and LPIC-1 exam simulator. 60 questions, 90 minutes, 800-point scoring — practice in real exam format.
-
Linux Command Typing - Learn Linux Commands by Typing
A free typing game for learning Linux commands. Type the same commands as the lessons, from pwd to pipes, and earn a rank from D to S based on time and accuracy.
-
Linux Learning Progress Dashboard - Badges & Statistics
Free Linux learning progress dashboard. Track earned badges, category completion rates, and learning statistics. Stay motivated while building your skills.
-
Linux Learning Roadmap - Complete Guide from Beginner to Intermediate
A structured Linux learning roadmap from zero to intermediate. 4 stages (Beginner, Basics, Practical, Intermediate), 28 articles. Practice in the browser — free.
-
All Commands Index - Cross-search All Articles
All Penguin Gym Linux command articles in alphabetical and category order. Cross-search all articles covering grep, find, awk, permissions, shell scripting, and more.
-
Linux Articles - Guides, Tutorials and Troubleshooting
Browse the Penguin Gym Linux articles in one place. Search across learning guides, tutorials and troubleshooting posts to find exactly what you need to read next, free.
-
DevOps Learning Hub After Linux - Docker, Git & AWS Intro
A DevOps learning hub for your next step after Linux. See how Docker, Git, and AWS connect to your Linux knowledge, with bridge articles and video course paths.
📚 Learning Guides
-
Linux Learning Guides - Free Beginner Guides
Free beginner-friendly Linux learning guides. Learn Linux fundamentals, terminal usage, and command-line basics with easy-to-follow explanations. Practice in the browser.
-
A Mental Model for Linux Permissions: rwx and owner/group/other
Build a mental model for Linux permissions. Understand owner/group/other, the rwx (read/write/execute) bits, and how to read the 10 characters of ls -l.
-
Absolute vs Relative Paths: ., .., and ~ Explained
Learn the difference between absolute and relative paths in Linux. Understand paths starting from /, paths from your current location, and what ., .., ~ mean.
-
Character Encoding: UTF-8 and Mojibake Explained
Understand character encoding and UTF-8, why mojibake (garbled text) happens, and how to check and convert encodings with file, iconv, nkf, and locale.
-
Choosing a Linux Distribution: Ubuntu, Debian, Rocky, Arch
Compare Ubuntu, Debian, Rocky, and Arch by release model, support window, and package family. Pick the right distro for your use case without second-guessing.
-
Choosing an Editor: vim, nano, emacs, and VS Code
Compare vim, nano, emacs, and VS Code for beginners. Learn each editor's strengths, learning curve, and which one to start with first.
-
Containers vs Virtual Machines (VMs): The Basics Before Docker
Containers vs virtual machines explained. How kernel sharing, namespaces, and cgroups create the speed-versus-isolation trade-off before you learn Docker.
-
Docker for Linux Users: An Introduction Built on Command-Line Knowledge
Understand Docker by building on your Linux knowledge of processes, namespaces, and cgroups. Grasp images, containers, and Dockerfiles as mechanics, not memorization.
-
Getting Started - Complete Guide to Penguin Gym Linux
Start learning Linux with this beginner's guide. Use the interactive terminal, dashboard, and quizzes on Penguin Gym Linux. Free and browser-based.
-
How Linux Boots: From BIOS/UEFI to Login
Understand the Linux boot process step by step. Firmware (BIOS/UEFI), GRUB, kernel, initramfs, systemd, and login, plus how to diagnose each stage.
-
How to Use the Terminal - Linux Command Line Basics
Beginner-friendly Linux terminal guide. Learn command line basics, prompt reading, and common error solutions through a dialogue between Linny-senpai and Lina.
-
Linux Directory Structure Overview - Understanding the Filesystem Hierarchy
A beginner-friendly guide to the Linux directory structure. Learn the roles of /, /etc, /var, /home, /bin and how to never get lost in the filesystem tree.
-
Linux Filesystem Types: ext4 vs xfs vs btrfs
Compare the ext4, xfs, and btrfs filesystems on Linux. Learn CoW, snapshots, resize limits, and how to check your filesystem with df -T and lsblk.
-
Package Managers Compared: apt, dnf, pacman, zypper
One map of apt, dnf, pacman, and zypper. Compare update, install, search, and remove commands across the Debian, Fedora, Arch, and openSUSE families.
-
Process States and Lifecycle in Linux: R, S, D, T, Z Explained
Learn Linux process states. What ps R / S / D / T / Z mean, the lifecycle from fork to exit and reap, and the truth about zombie and orphan processes.
-
SSH Key vs Password Authentication - Why Keys Win
Why SSH key authentication beats passwords. Learn the public-key crypto behind it, plus how to create keys with ssh-keygen and disable password login.
-
Setting Up Linux for Developers - Essential Tools
A practical guide to setting up a Linux dev environment fast: package manager, editor, shell, Git, and SSH keys — the essential tools to install first.
-
Should You Switch? zsh and fish vs bash
Deciding whether to switch from bash to zsh or fish — when it is worth it, migration steps, config tips, compatibility traps, and how to roll back.
-
Terminal Shortcuts: Readline Keybindings You Need
Speed up your terminal with Readline keybindings. Learn Ctrl+R history search, Ctrl+A/Ctrl+E cursor moves, and Ctrl+U/Ctrl+K line editing with Lina.
-
Understanding Linux Signals - SIGTERM vs SIGKILL
Learn what Linux signals are and how SIGTERM, SIGKILL, and SIGHUP differ. Understand kill command usage and the mechanics of graceful shutdown.
-
Understanding stdin, stdout, and stderr
A beginner's guide to stdin, stdout, and stderr. Learn why there are two output streams and how to redirect and pipe input and output between commands.
-
Using man, info, and --help - How to Read Official Documentation
Learn how to use man, info, and --help to look up Linux documentation. Covers man page navigation, keyword search with man -k, and when to use each tool.
-
WSL2 Introduction - How to Use Linux on Windows
Learn how to set up a Linux environment on Windows with WSL2. Covers installation, distro selection, basic operations, and file sharing tips.
-
What Is a Shell? bash, zsh, and the Kernel
Learn what a shell is for beginners. Understand bash, zsh, and sh differences, how the shell talks to the kernel, and how to check the shell you use.
-
What is Linux? A Beginner's Guide to the OS
A beginner's guide to Linux. Learn what Linux is, where it's used, and why you should learn it through a fun dialogue between Linny-senpai and Lina.
-
What to Learn After Linux: A Roadmap to Docker, Git, and AWS
A roadmap for your next step after basic Linux commands. See where Docker, Git, and AWS connect to your Linux knowledge so you keep learning without detours.
-
Why Learn Linux? A Complete Guide for Beginners
Learn why Linux is worth studying. Discover how Linux skills boost your career and work efficiency through a friendly dialogue between Linny-senpai and Lina.
-
bash vs zsh vs fish - Choosing the Right Shell for You
Compare bash, zsh, and fish shells — key differences in compatibility, auto-completion, and configuration cost. Choose the right shell for your workflow.
-
root vs sudo: Why You Shouldn't Work as root
Understand root vs sudo as a beginner. Learn why you shouldn't work as root, how sudo borrows privileges for one command, su vs sudo, and least privilege.
⚡ Tutorials
-
Linux Command Tutorials - Learn by Practice
Learn Linux commands with hands-on tutorials. From basic commands to file operations, permissions, process management, shell scripting, and grep/find/awk.
-
/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.
-
/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.
-
Advanced grep and awk Techniques - find/grep/awk Master Series
Master grep optimization, next-gen tools, and awk associative arrays, user-defined functions, and stream processing for professional-level data processing.
-
Bash Arrays: Indexed and Associative Arrays
Learn bash indexed and associative arrays - declaring, accessing, looping, and editing elements - plus quoting and sparse-array pitfalls.
-
Bash Strict Mode: set -euo pipefail Explained
Learn bash strict mode with set -euo pipefail. Understand errexit, nounset, pipefail and their pitfalls, plus IFS settings to write safer shell scripts.
-
Brace Expansion: {1..10} and More
Learn bash brace expansion with a beginner-friendly dialogue. Use {1..10} sequences and {a,b,c} lists to create numbered files and directories in one line.
-
Combining find, grep, and awk - Practical Techniques for Real Work
Practical data processing patterns combining find, grep, and awk. Real-world use cases and techniques for engineers and data analysts.
-
Command Substitution: Capturing Output with $(...)
A beginner dialogue guide to command substitution. Learn how $(...) captures command output into variables, how it differs from backticks, and why to quote it.
-
Disk Management Basics - Inspecting Storage with fdisk and lsblk
Learn how to inspect Linux storage with fdisk and lsblk. Covers partition listing, block device trees, and when to use df vs du for disk space analysis.
-
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.
-
Exit Codes: Using $? and && ||
Learn what exit status (exit codes) mean in Linux. Check the result with $?, then branch your commands with && and || in a beginner-friendly walkthrough.
-
Firewall Configuration Basics: Getting Started with ufw and firewalld
Learn how to configure Linux firewalls with ufw and firewalld. Covers allowing/blocking ports, default policies, zones, and common web server patterns.
-
Fixing "command not found" Errors - Solutions When Commands Are Missing
Fix "command not found" errors on Linux. Diagnose PATH, hash cache, sudo secure_path, and pip --user issues with step-by-step templates.
-
GNU parallel: Running Jobs in Parallel from the Shell
Run shell commands in parallel with GNU parallel to speed up batch work. Placeholders, job control, output order, joblog resume, and the xargs difference.
-
GPG Basics: Encrypting, Decrypting, and Signing Files
Learn the gpg command to encrypt and decrypt files and verify signatures. Covers public-key vs password modes, key creation, and sharing with real examples.
-
Getting Started with Job Control - jobs, fg, bg, and Ctrl+Z
Shell job control basics through dialogue: pause with Ctrl+Z, swap with fg/bg, list with jobs, run with & — beginner-first walkthrough plus common pitfalls.
-
Getting Started with nano - The Beginner-Friendly Editor Before Vim
Learn nano editor basics with dialogue — open, edit, save, and exit with confidence. The beginner-friendly Linux text editor to start with before Vim.
-
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.
-
Getting Started with sort and uniq: Sorting Data and Removing Duplicates
Learn sort and uniq in Linux for sorting and deduplicating data. Beginner dialogue tutorial on numeric sort, uniq -c, and frequency ranking patterns.
-
Getting Started with stat - Reading File Metadata
How to use the Linux stat command. Read atime, mtime, ctime timestamps, inode numbers, and permissions. Includes format options and practical examples.
-
Getting Started with tee - Splitting Command Output
Learn the tee command to split pipeline output to a file and screen at once. Covers -a append, multiple files, and the sudo tee pattern for root files.
-
Getting Started with tmux - Terminal Multiplexing Basics
Learn tmux fundamentals with friendly dialogue: keep work alive after SSH disconnect, master sessions/windows/panes, prefix key, and detach/attach.
-
Git and Linux Basics - Getting Started with Version Control
Learn Git basics on Linux. Install, configure, init, add, commit, and push, plus how to fix Permission denied, SSH key auth, line endings, and exec bit issues.
-
Globbing and Wildcards: Pattern Matching Files in Linux
Learn globbing and wildcards in Linux. Understand how *, ?, and [] differ, how brace expansion is different, plus extglob, dotfiles, and no-match behavior.
-
Heredoc Basics - Embedding Multiline Strings in Shell Scripts
Learn how to use heredoc (<<EOF) in bash for multiline strings. Covers variable expansion, indentation with <<-, file writes, and SSH use cases.
-
History Expansion: Reusing Commands with !! and !$
Learn bash history expansion from the ground up. Reuse past commands fast with !! / !$ / !string / !:n / :h:t:r / ^old^new^, explained for beginners.
-
How to Fix Permission Denied in Linux - Practical Troubleshooting
Fix Permission denied errors in Linux for LPIC-1 objective 104.5 (LPIC 101 exam). Case-by-case solutions for log files, directories, and scripts.
-
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 log analysis.
-
How to Use chmod and chown - Linux File Permissions Guide
Learn chmod and chown for Linux file permissions (LPIC-1 objective 104.5, LPIC 101 exam). Understand ls -l output and fix Permission denied errors in practice.
-
How to Use cp, mv, and rm - Linux File Operations Guide
Learn Linux file operations with cp (copy), mv (move), and rm (delete) commands. A beginner's guide to safe file manipulation in the terminal.
-
How to Use find, grep, and awk - Linux Text Search Tutorial
Learn find, grep, and awk commands from basics. Master regular expressions, file search, and text processing with practical Linux examples.
-
How to Use head, tail, and Pipes - Linux File Operations Advanced
Learn head, tail, pipes, and redirection in Linux. Master advanced file operations for log analysis and text processing with practical examples.
-
How to Use journalctl - Linux Log Investigation Guide
Learn journalctl for fast root cause analysis on Linux. Master patterns for recent logs, time filtering, and real-time service monitoring.
-
How to Use mkdir, touch, and echo - Create Files in Linux
Learn to create files and directories in Linux with mkdir, touch, echo, and cat commands. A beginner-friendly tutorial with practical examples.
-
How to Use ps, top, and kill - Linux Process Management Tutorial
Linux process management with ps, top, and kill — LPIC-1 objective 103.5 (LPIC 101 exam). Beginner guide to monitoring processes and safe termination.
-
How to Use pwd, cd, and ls - Linux Basic Commands Tutorial
Learn Linux basic commands pwd, cd, and ls with this beginner tutorial. Master navigating directories and listing files through interactive examples.
-
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.
-
How to Use tar Command - Compress, Extract, and Avoid Mistakes
Learn the tar command for compression and extraction on Linux. Understand .tar.gz/.tgz differences and avoid common extraction mistakes.
-
How to Write systemd Unit Files - Registering Custom Services
Learn how to write systemd unit files to register and manage custom Linux services. Covers unit file structure, ExecStart, Restart, and systemctl enable.
-
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.
-
Linux Error Messages Dictionary: Common Errors, Causes, and Fixes
A reverse-lookup dictionary of common Linux errors. Quickly find the cause and fix for command not found, Permission denied, No space left on device, and more.
-
Linux Group Management Basics: groupadd, groupmod, and Access Control
Learn how to create and manage Linux groups with groupadd, groupmod, and groupdel. Covers adding/removing members, /etc/group format, and access control patterns.
-
Linux Process Management in Practice - Job Control, pkill, and nice
Job control, pkill, nice, and renice for Linux process management. LPIC-1 objective 103.5 (LPIC 101 exam) — practical techniques beyond basic kill.
-
Mount and fstab Basics - How to Attach Filesystems in Linux
Learn how Linux mount works and how to write /etc/fstab entries. Covers the mount command, UUID, persistent mounts, and umount with practical examples.
-
Network Commands Basics: Checking Connectivity with ip and ifconfig
Check Linux connectivity with ip and ifconfig. Inspect IP, link, route, and reachability layer by layer, plus why ifconfig is deprecated.
-
Network Troubleshooting in Practice - Diagnosing Issues with ping, traceroute, and dig
Diagnose network issues with ping, traceroute, and dig — a systematic 3-step approach covering reachability, routing, and DNS resolution.
-
Package Management Basics: Getting Started with apt and yum
Practical guide to apt (Debian/Ubuntu) and yum/dnf (RHEL/CentOS) package management. Command map, install/update workflows, and troubleshooting steps.
-
Package Management Troubleshooting: Resolving Dependency Errors
How to fix apt and yum/dnf dependency errors systematically. Covers dpkg repair, repository issues, lock files, and a practical diagnosis checklist.
-
Pipes and Redirection Basics: Understanding Data Flow in Linux
Learn pipes and redirection (>, >>, 2>&1) in Linux for LPIC-1 objective 103.4 (LPIC 101 exam). Beginner guide to stdin, stdout, stderr, and combining commands.
-
Reading Logs with less, more, and tail - Mastering Pager Commands
Learn how to use less, more, and tail on Linux to read log files. Covers navigation, search, tail -f for live monitoring, and practical log investigation workflows.
-
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.
-
SSH Key Authentication Setup - Passwordless and Secure Login
Step-by-step guide to generating SSH key pairs with ssh-keygen and deploying public keys using ssh-copy-id for passwordless, secure server access.
-
SSH Port Forwarding: Local, Remote, and Dynamic Tunnels
Learn SSH port forwarding with -L, -R, and -D. Reach databases behind bastions, expose local apps, and run a SOCKS proxy with safe, repeatable tunnels.
-
Setting Up Aliases - How to Shorten Linux Commands
Learn how to create Linux command aliases with the alias command. Covers temporary aliases, persisting them in .bashrc, and removing them with unalias.
-
Shell Script Tutorial for Beginners - Bash Variables, If, and Loops
Learn shell scripting from scratch. This beginner tutorial covers Bash variables, if conditionals, for/while loops with practical examples.
-
Shell Scripting Practical - Functions, Arrays, and File Operation Techniques
Master practical Bash scripting. Learn functions, arrays, file operations, error handling, and real-world automation scripts ready for production.
-
Swap Management - Avoiding Memory Exhaustion in Linux
What Linux swap is and how to manage it. Covers checking swap usage, creating a swapfile, tuning swappiness, and preventing OOM kills in production.
-
Symbolic Links and Hard Links - Understanding File References in Linux
Learn the difference between symbolic and hard links in Linux. Covers ln, inodes, reference counting, and filesystem constraints with practical examples.
-
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.
-
Understanding .bashrc and .profile Load Order - When Settings Are Not Applied
Learn when .bashrc and .profile load in Linux. Understand login vs interactive shells, fix settings that don't apply, and use source to reload instantly.
-
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.
-
Understanding du vs df: Measuring Disk Usage Correctly
Learn how du and df differ on Linux: why their results disagree, the deleted-open-file pitfall, and a practical disk capacity investigation playbook.
-
Understanding sudo vs su - Safe Privilege Escalation in Linux
Learn when to use sudo vs su for privilege escalation in Linux. Covers sudo options, sudoers configuration, and how to avoid common root access mistakes.
-
Understanding umask - Controlling Default File Permissions
Learn how umask controls default permissions for new files and directories in Linux. Covers calculation, setting, and making changes persistent.
-
User Management Basics: Getting Started with useradd, usermod, and userdel
Linux user management with useradd, usermod, and userdel. Covers user creation, sudo privileges, group management, and account deletion with practical examples.
-
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.
-
Vim Basics: Essential Commands and Practical Techniques
Master Vim modes, motions, edits, search/replace, and save/quit in one guide. Stop getting stuck and learn the practical workflow used on real servers.
-
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.
-
at Command: One-Time Job Scheduling on Linux
Schedule one-time jobs with the at command. Confirm atd, write time specs, manage jobs with atq and atrm, and know when to use at instead of cron.
-
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.
-
base64 Command: Encoding and Decoding Basics
Learn the base64 command for beginners. Encode and decode strings and files, control line wrapping with -w, and understand why base64 is not encryption.
-
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.
-
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.
-
bat: A cat Clone with Syntax Highlighting
bat is a cat replacement with syntax highlighting, line numbers, and Git diffs. Covers the Ubuntu batcat issue, stripping decorations, and coloring man pages.
-
chmod vs chown vs sudo - When to Use Each in Linux
When to use chmod, chown, or sudo — LPIC-1 objective 104.5 (LPIC 101 exam). Master the decision process for permission issues with real-world examples.
-
chmod: Numeric and Symbolic Permission Modes
Learn the difference between chmod numeric mode (644, 755) and symbolic mode (u+x, go-w), how to compute r=4 w=2 x=1, and when to use each safely.
-
chown and chgrp Basics - Changing File Ownership in Linux
Learn how to use chown and chgrp to change file ownership in Linux. Covers user:group syntax, -R recursive changes, and web server deployment examples.
-
chroot: Changing the Root Directory to Isolate an Environment
Learn how chroot changes a process's root directory to isolate its filesystem view. Covers syntax, shared libraries, system recovery, and security caveats.
-
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.
-
comm and join: Comparing and Joining Files
Learn how to compare and join two files with comm and join. Covers why sorted input is required, the 3-column output, column suppression, and join fields.
-
curl and wget Basics: HTTP Communication from the Command Line
Learn the difference between curl and wget through a beginner dialogue. Covers downloads, -O/-o, redirect follow -L, header inspection -I, and API calls.
-
cut, paste, and tr Basics: Column Extraction and Character Conversion
Use cut for column extraction, paste to merge files, and tr for character translation. Linux text processing tools for CSV, TSV, and shell pipelines.
-
date Command - Formatting and Calculating Dates
Beginner guide to the Linux date command. Show the current time, format with %Y, calculate dates like 3 days ago, convert epoch seconds, and switch time zones.
-
dd Command: Disk Imaging and Safe Usage
Use the dd command to clone disks and write ISO images to USB safely. Learn how to verify the target with lsblk and avoid wiping the wrong device.
-
diff and patch Basics - Getting and Applying Diffs
Learn how to use diff and patch on Linux. Covers unified diff format, applying patches with -p0 and -p1, dry runs, and reverting changes with patch -R.
-
dmesg: Reading Kernel Ring Buffer Messages
A practical guide to dmesg. Read the kernel ring buffer, fix permissions and timestamps, and triage disk I/O, OOM, and hardware faults.
-
dnf Package Management - Modern Tool for Fedora and RHEL-Based Systems
How to use dnf on Fedora and RHEL-based systems. Covers install, update, remove, search, repo management, and module streams with practical examples.
-
env Command: Running Commands with a Modified Environment
Learn the env command on Linux. Set environment variables for a single command, use env -i / -u / -C, and write portable shebangs with /usr/bin/env.
-
fd: A Simpler, Faster Alternative to find
fd is a fast, intuitive alternative to find. Learn install (Ubuntu fdfind gotcha), regex, extension and type filters, gitignore handling, and exec.
-
file Command: Detecting File Types
Learn the file command in a friendly dialogue — detect file types from content, not extensions. Covers magic numbers, -i for MIME types, and brief output.
-
find -exec vs xargs: Choosing the Right Approach
Learn when to use find -exec vs xargs on Linux. Covers safety with filenames containing spaces, performance, parallel execution, and practical patterns.
-
find, grep, awk Exercises - Troubleshooting and Practical Skill Building
Series finale with exercises for skill validation, common issue fixes, and a roadmap for growth. Final polish on your way to becoming a Linux power user.
-
find, grep, awk Master Guide - From Basics to Practice
Complete guide to find, grep, and awk commands. Step-by-step series from basics to practice, for beginners through advanced users.
-
flock: Preventing Concurrent Runs with File Locks
Use flock to stop cron jobs and scripts from running twice at once. Covers exclusive locks, timeouts, non-blocking mode, and self-locking script patterns.
-
fuser Command: Finding Processes Using Files and Directories
Use fuser to find which processes are using a file, directory, or mount point. Solve umount "target is busy" errors and kill the culprit safely.
-
fzf: Fuzzy Finder for the Command Line
fzf is a command-line fuzzy finder. Search history with CTRL-R, pick files with CTRL-T. Covers install, shell integration, search syntax, and preview.
-
getopts: Parsing Command-Line Options in Bash
Learn how to parse command-line options in Bash with getopts. Covers optstring, OPTARG, OPTIND, silent-mode error handling, and how getopts differs from getopt.
-
gzip vs bzip2 vs xz vs zstd - Choosing a Compression Format
Compare gzip, bzip2, xz, and zstd on compression ratio and speed, then pick the right one per use case. Covers tar integration, levels, and threads.
-
hexdump and xxd: Inspecting Binary Data in Hex
How to hex-dump binary files with hexdump, xxd, and od. Learn -C, xxd -r, and od -t x1z, plus spotting CRLF and BOM bytes and editing binaries.
-
inotifywait: Watching Filesystem Events
Use inotifywait to watch filesystem events and trigger automation on file changes. Covers close_write vs modify and the max_user_watches pitfall.
-
ionice: Controlling Disk I/O Priority
Control per-process disk I/O priority with ionice. Scheduling classes (idle/best-effort/realtime), priority levels, running PIDs, and the BFQ scheduler caveat.
-
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.
-
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.
-
jq Basics: How to Process JSON in the Shell
A practical jq guide for processing JSON in the shell. Learn filters, select, map, raw output, and safe patterns for piping JSON in production scripts.
-
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.
-
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.
-
lsblk and blkid: Inspecting Block Devices and UUIDs
Use lsblk to map block-device topology and sizes, and blkid to read UUID, LABEL, and filesystem type. Learn how to grab stable device identifiers for fstab.
-
lsof - Listing Open Files and Ports
Use lsof to find which process holds a file, socket, or port. Solve device is busy, port conflicts, and deleted-but-open files with copy-paste commands.
-
md5sum and sha256sum: Verifying File Integrity
Learn md5sum and sha256sum through a beginner dialogue. Covers hashing basics, verifying with -c, corruption vs tampering, and why MD5 is now discouraged.
-
mktemp Command: Creating Safe Temporary Files
Create temporary files and directories safely with mktemp. Avoid the races and symlink attacks of fixed names or $$, and clean up reliably with trap.
-
modprobe and lsmod: Managing Kernel Modules
Use lsmod to inspect loaded kernel modules and modprobe to load or remove them with dependencies. Covers modinfo, blacklist, and load-at-boot.
-
ncdu: Interactive Disk Usage Analyzer
Learn ncdu, the interactive disk usage analyzer. Navigate large directories with arrow keys, delete on the spot, compare it to du, and scan remote servers.
-
netstat and ss Basics: Monitoring Ports and Connections
Learn how to check listening ports, established connections, and TCP states with netstat and ss on Linux. Includes a netstat-to-ss migration cheat sheet.
-
nice and renice Basics - Controlling Process Priority
Use nice and renice in Linux to control CPU scheduling priority. Covers nice value range, launch-time settings, runtime changes, and root vs user permission rules.
-
nl Command: Numbering Lines
Add line numbers to text with the nl command. See how it differs from cat -n on blank lines, plus width, separator, start number, and format options.
-
nmcli: Managing Networks from the Command Line
A practical nmcli guide for NetworkManager. Check status, connect to Wi-Fi, set static IPs, and activate connections with copy-paste commands.
-
nohup, disown, and screen: Keeping Processes Running After Logout
How to keep processes running after SSH disconnect using nohup, disown, and screen. Covers SIGHUP, background jobs, and choosing the right tool.
-
openssl Command: Certificates, Hashing, and Encryption
Practical openssl recipes for Linux. Create self-signed certificates, compute SHA-256 hashes, encrypt files with AES, and check server certificate expiry.
-
passwd and chage: Password and Account Aging
Use passwd to change passwords and lock accounts, and chage to manage password aging and expiry. Explained through the /etc/shadow structure.
-
printf Command: Formatted Output in the Shell
Learn the printf command for beginners. Covers the difference from echo, format specifiers like %s, %d, and %f, width padding, and escape sequences.
-
pv: Monitoring Pipe Progress with a Progress Bar
Use pv (Pipe Viewer) to show a progress bar, transfer rate, and ETA for data flowing through a pipe. Stop guessing whether dd or cp is still working.
-
read Command: Interactive Input in Shell Scripts
Learn how to use the read command to capture keyboard input and read files line by line. Covers -p, -s, -t prompts and the while read pattern.
-
realpath and readlink: Resolving Absolute Paths and Symlinks
Learn how realpath and readlink resolve symlinks and relative paths into absolute paths. Covers -f / -e / -m differences, --relative-to, and safe scripting.
-
rename Command: Bulk Renaming Files
Rename many files at once with the rename command. Learn the Perl vs util-linux versions, dry-run with -n, and s/// substitution for beginners.
-
ripgrep (rg): Fast Code Search
ripgrep (rg) is a fast grep alternative that respects .gitignore. Covers the diff from grep, install, type/glob filters, context, and replace preview.
-
rsync in Practice: Backups and Mirroring
Master rsync differential sync for real-world backups and mirroring. Learn --delete, --link-dest snapshots, excludes, and bandwidth control safely.
-
sed Basics - Text Substitution with the Stream Editor
Learn sed basics on Linux. Covers s/old/new/ substitution, in-place editing with -i, address ranges, multi-expression scripts, BRE vs ERE, and pitfalls to avoid.
-
seq Command: Generating Sequences of Numbers
Generate number sequences with the seq command. A beginner guide covering ranges, increments, for loops, zero padding, separators, and counting down.
-
split Command: Splitting and Joining Large Files
Split large files with the split command and join them back with cat. A beginner guide covering size, line, and count splits plus integrity checks.
-
sshfs: Mounting Remote Filesystems over SSH
Mount a remote server directory locally over SSH with sshfs. Covers installation, mounting, auto-reconnect, fstab automation, unmounting, and common fixes.
-
strace Basics - Tracing System Calls for Troubleshooting
Use strace to trace Linux system calls, filter by type, attach to running processes, and debug Permission denied, ENOENT, and connection failures.
-
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.
-
sysctl: Tuning Kernel Parameters on Linux
Learn how to read, change, and persist kernel parameters with sysctl. Covers sysctl -w runtime changes, /etc/sysctl.d drop-ins, precedence, and real examples.
-
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.
-
tac and rev - Reversing Lines and Characters
Learn how tac reverses line order and rev reverses characters per line. Read logs newest-first, tell the two apart, and combine them in this beginner guide.
-
tar in Practice: Incremental Backups and Exclusions
Practical tar guide to incremental backups with --listed-incremental, exclusions via --exclude, and destination control using -C and --strip-components.
-
taskset: Setting CPU Affinity in Linux
Pin processes to specific CPU cores with taskset. Use -c to launch on cores, -p to reassign a running process. Covers benchmarking, core isolation, and NUMA.
-
tcpdump Basics: Capturing and Reading Packets
Learn tcpdump from first capture to BPF filters, saving pcap files, and reading them in Wireshark. A practical playbook for diagnosing network issues.
-
test and [[ ]] - Conditionals in Shell Scripts
Conditionals in shell scripts explained. Learn the difference between test, [ ], and [[ ]], plus string, numeric, and file comparisons without quoting bugs.
-
timeout Command: Limiting Command Execution Time
Learn how to limit command execution time with the timeout command to prevent hangs. Covers duration syntax, exit status 124, and forced kill with -k.
-
top and htop Mastery: Identifying System Bottlenecks
Diagnose CPU, memory, and I/O bottlenecks with top and htop. Read load average, %us/%sy/%wa, and use htop's tree view, filters, and F-keys effectively.
-
traceroute and mtr: Tracing Network Paths and Finding the Slow Hop
Use traceroute to map the path and mtr to measure per-hop loss and latency. Learn what * means and how to read loss to find the problem segment.
-
trap - Handling Signals and Cleanup in Bash
Learn how to use the bash trap command to catch signals (Ctrl-C, kill) and run reliable cleanup. Covers the EXIT pseudo-signal, cleanup functions, and set -e.
-
tree Command: Visualizing Directory Structure
Learn the tree command to visualize directory structure as a tree. Limit depth with -L, show directories only with -d, and exclude node_modules with -I.
-
ulimit: Understanding Resource Limits
Manage per-process resource limits with ulimit. Soft vs hard limits, open files, persistence via limits.conf and systemd, and fixing Too many open files.
-
vmstat, iostat, and sar - Understanding Linux Performance Analysis Tools
Learn how to use vmstat, iostat, and sar on Linux. Identify CPU, memory, disk I/O, and network bottlenecks with practical examples and when-to-use guidance.
-
watch Command: Monitor Output at Intervals
Learn the watch command to rerun a command at intervals and watch output change. Covers -n intervals, -d diff highlighting, quoting pipes, and how to exit.
-
wc Command: Counting Lines, Words, and Bytes
Learn the wc command in Linux to count lines, words, bytes, and characters. Beginner dialogue tutorial on -l, -w, -c, -m, and pipe counting.
-
who, w, and last: Inspecting Logins and Sessions
Learn to use who for currently logged-in users, w for what each user is doing, and last for login history. Covers reboot history and failed logins too.
-
xargs in Practice: Converting Standard Input to Command Arguments
Master xargs to convert stdin into command arguments. Safe patterns with find -print0 | xargs -0, the -I {} placeholder, and -P parallel execution explained.
-
yes Command: Automating Confirmations
Learn the yes command with a beginner-friendly dialogue. Auto-answer "y" to interactive prompts, learn the danger, and use safer -y alternatives.
-
zip and unzip Basics: Cross-Platform Archives on Linux
Learn zip and unzip on Linux in a beginner dialogue. Compress and extract archives, inspect contents, and fix garbled filenames from Windows zips.
-
~/.ssh/config Tips: Organizing Your SSH Connection Settings
Learn how to use ~/.ssh/config to manage SSH hosts by alias. Covers ProxyJump for jump hosts, multiple key files, KeepAlive, and wildcard defaults.
🩺 Troubleshooting
-
Linux Troubleshooting - Error Reverse-Lookup Reference
Look up Linux errors by symptom. Covers Permission denied, No space left, SSH failures, high CPU load, memory pressure, DNS failures, and common production incidents.
-
"No such file or directory" When the File Exists
Why ls shows a file but you still get No such file or directory. Pinpoint hidden characters, CRLF, broken symlinks, and a missing dynamic linker, then fix it.
-
"command not found" for Your Own Scripts - PATH and chmod
Fix command not found for your own scripts. Tell it apart from Permission denied, run with ./, chmod +x, add to PATH, and clear the bash hash cache.
-
Debugging "Failed to start" systemd Services
Diagnose systemd services that fail with Failed to start. Read systemctl status, journalctl, and exit codes to fix ExecStart, permissions, and start-limit.
-
Decoding "syntax error near unexpected token"
Fix bash syntax error near unexpected token fast. Learn what the token points to and how to debug fi/then/done, (, newline, and end of file cases with bash -n.
-
Diagnosing "Connection refused"
Diagnose Connection refused on Linux. Tell a stopped service from a blocked port with ss, systemctl, and nc, and see how it differs from a connection timeout.
-
Diagnosing "Connection timed out"
Diagnose "Connection timed out" (ETIMEDOUT) on Linux. Tell a silent firewall DROP, an unopened security group, a dead service, and a path blackhole apart.
-
Diagnosing "Input/output error"
Triage Input/output error (EIO / errno 5) with dmesg, smartctl, and fsck - tell a failing disk from FS corruption, a disconnect, or NFS, plus ddrescue rescue.
-
Diagnosing "No route to host"
Diagnose "No route to host" (EHOSTUNREACH) on Linux. Tell a missing route, failed ARP, a router ICMP, and a firewall REJECT apart with ip route and ip neigh.
-
Diagnosing High Load Average: CPU-Bound vs I/O-Bound
Diagnose a high Linux load average by telling CPU-bound from I/O-bound. How to read uptime, top, vmstat, and iostat, plus what load average really counts.
-
Diagnosing Swap Thrashing on Linux: When Memory Pressure Makes It Slow
Diagnose swap thrashing that suddenly slows a server. Observe the swap rate with vmstat si/so, find the culprit process, and fix it with swappiness and cgroups.
-
Disk Full but df Shows Space: Deleted-File Handles and inode Exhaustion
Why you get No space left on device when df shows free space, or df is full but du cannot find it. Diagnose deleted-file handles and inode exhaustion.
-
Docker Disk Usage Investigation - docker system df / Logs / Volumes
Identify what's consuming disk space in Docker environments. Use docker system df to check images, containers, and volumes with safe verification steps.
-
Fixing "Address already in use" - Port Conflicts
Fix the "Address already in use" (EADDRINUSE) error. Find the process holding the port with ss, lsof, and fuser, release it safely, and handle TIME_WAIT.
-
Fixing "Argument list too long" — When rm * and Similar Commands Fail
Why rm * and cp * fail with "Argument list too long" and how to fix it using find, xargs, and shell glob loops on Linux systems.
-
Fixing "Cannot allocate memory" (ENOMEM): Overcommit and Swap
Fix "Cannot allocate memory" (ENOMEM) even when RAM looks free. Diagnose overcommit accounting, ulimit, and max_map_count, then fix it permanently.
-
Fixing "Could not get lock" on apt/dpkg
Fix "Could not get lock" on apt/dpkg. Find the process holding the lock, release it safely, recover with dpkg --configure -a, and when to remove lock files.
-
Fixing "Host key verification failed"
Fix SSH Host key verification failed. When a server rebuild or reused IP makes the known_hosts key mismatch, remove it with ssh-keygen -R and reconnect safely.
-
Fixing "Permission denied (publickey)" - Verifying SSH Public Key Auth
Fix SSH Permission denied (publickey). Check whether the key is offered, authorized_keys, permissions, and sshd_config from both client and server sides.
-
Fixing "Read-only file system" Errors - Remount and fsck
When writes suddenly fail with "Read-only file system", diagnose the cause and recover. Practical steps for remount,rw, fsck, and SMART checks.
-
Fixing "Stale file handle" on NFS - Remounting the Share
Why NFS returns "Stale file handle" (ESTALE) and how to recover. Covers handle invalidation, the remount procedure, and pinning fsid to prevent it.
-
Fixing "Text file busy"
Why overwriting a running binary fails with "Text file busy" (ETXTBSY), how to find the process with lsof, and how to replace it safely with rename.
-
Fixing "Too many authentication failures"
Fix SSH Too many authentication failures. Learn how offering too many keys exceeds MaxAuthTries, and fix it for good with IdentitiesOnly and ~/.ssh/config.
-
Fixing "Too many open files" - Resolving File Descriptor Exhaustion
"Too many open files" means you hit the file descriptor limit. Use ulimit, lsof, limits.conf and sysctl to diagnose and fix it permanently.
-
Fixing "bad interpreter" - Shebang and CRLF Issues
bash: bad interpreter: No such file or directory is usually CRLF line endings or a wrong shebang path. Diagnose with file/cat -A, fix with dos2unix/sed.
-
Fixing "cannot set LC_ALL" Locale Warnings
Diagnose "cannot set LC_ALL" and "setlocale" warnings from a missing locale. Check with locale -a, generate it with locale-gen, and stop SSH forwarding.
-
Fixing "certificate verify failed": CA Certs and SSL Verification
Fix "SSL certificate verify failed" in curl and Python. Use openssl s_client to triage CA bundle, incomplete chain, and clock-skew causes, then fix each one.
-
Fixing "device is busy" on umount
When umount fails with "device is busy" or "target is busy", find which process holds the filesystem with fuser/lsof and detach it safely.
-
Fixing "fork: Resource temporarily unavailable"
Diagnose why fork fails with Resource temporarily unavailable (EAGAIN). Check per-user ulimit -u, system pid_max, and cgroup TasksMax, then fix it for good.
-
Fixing "sudo: unable to resolve host"
Fix "sudo: unable to resolve host" on Linux. Match hostname to /etc/hosts, verify with getent, and add the 127.0.1.1 line to clear the warning and delay.
-
Fixing Broken Dependencies and Held Packages on apt
Fix apt held packages and unmet dependencies. Learn what kept back means, check and release holds with apt-mark, and repair with apt --fix-broken install.
-
Fixing Clock Skew and Certificate Errors
Diagnose "Clock skew detected" build warnings and "certificate is not yet valid" errors caused by a wrong clock. Verify with date/openssl and fix it for good.
-
Fixing Repository GPG Key Errors (NO_PUBKEY)
Fix apt update GPG errors (NO_PUBKEY, EXPKEYSIG, KEYEXPIRED). Fetch the public key into a keyring, set signed-by, and restore signature verification safely.
-
Fixing SSH Disconnects: Keepalive and Timeouts
Stop SSH from dropping. Set up ServerAliveInterval / ClientAliveInterval keepalive, beat NAT and firewall idle timeouts, and see how TCPKeepAlive differs.
-
Fixing Server Time Skew - Synchronizing NTP with chrony and timedatectl
How to fix server time skew on Linux. Use timedatectl status to check NTP state, chronyc tracking to diagnose drift, and chronyc makestep to force immediate sync.
-
How to Handle OOM Killer Events - When Processes Are Killed by Memory Exhaustion
Step-by-step guide to diagnosing OOM killer events on Linux — read logs with dmesg/journalctl, adjust oom_score_adj, add swap, and prevent recurrence.
-
How to Handle inode Exhaustion - When Disk Is Not Full But Writes Fail
Disk free but writes fail with No space left on device? Diagnose inode exhaustion with df -i, find heavy directories, and recover safely on ext4.
-
How to Investigate "No Space Left on Device" on Ubuntu
Quickly identify what's consuming disk space on Ubuntu. Learn when to use df vs du, and troubleshoot log bloat from Nginx, Docker, and systemd journal.
-
How to Troubleshoot CPU 100% on Linux - top, ps, load average Guide
Find the process causing CPU 100% usage on Linux. Learn to distinguish CPU load from I/O wait and swap thrashing with top, ps, and load average.
-
How to Troubleshoot Disk I/O on Linux - iostat and vmstat Guide
Diagnose slow disk I/O on Linux with iostat and vmstat. Learn to check %iowait, %util, and await to identify performance bottlenecks.
-
Nginx/Apache Log Guide - access/error Log Location and Analysis
Find Nginx/Apache log files on Ubuntu and diagnose 500/502/503/504/403/404 errors. Learn log investigation with real-time tail and grep filtering.
-
Repairing Filesystem Corruption with fsck: A Safe Procedure
Repair ext4 filesystem corruption safely with fsck. Covers why you must unmount first, how to check the root FS, -n/-y/-f options, and XFS differences.
-
SSH Connection Troubleshooting - Fix Permission Denied and Key Issues
Fix SSH connection issues on Linux. Troubleshoot Permission denied (publickey), Host key verification failed, and connection timeout errors.
-
Ubuntu DNS Troubleshooting - dig, nslookup, and resolvectl Guide
Diagnose DNS resolution failures on Linux. Learn to use dig, resolvectl, and compare DNS servers to isolate name resolution issues quickly.
-
Ubuntu Memory Troubleshooting - free, top, ps, and OOM Killer Guide
Diagnose memory issues on Linux. Identify memory-hungry processes, check OOM Killer activity, and distinguish swap thrashing from true CPU load.
-
Ubuntu Permission Denied Fix - chmod, chown, sudo Troubleshooting Guide
Fix Permission denied errors on Ubuntu. Diagnose with ls -la and namei, then apply the right fix with chmod, chown, or sudo without over-permissioning.
-
Ubuntu Port Connectivity - ss, lsof, nc, curl Troubleshooting Guide
Isolate "can't connect" to network, server, or application layer. Master ss/lsof/nc/curl for quick diagnosis and avoid common mistakes like blaming ufw.
-
Ubuntu find Command Safe Usage - Avoid Deletion Accidents
Learn safe find command usage on Linux. Follow the list-first, verify-count, then-delete pattern to avoid accidental file deletion with xargs and -print0.
-
Understanding and Handling Zombie Processes in Linux
Zombie processes are terminated processes that linger in the process table. Learn what causes them, how to find them, and how to clean them up safely.
-
When Cron Jobs Don't Run - A Troubleshooting Checklist
A checklist to quickly diagnose why a cron job won't run. Check the cron daemon, logs, PATH, environment variables, schedule syntax, and permissions in order.
-
When Linux Won't Boot - Kernel Panic and Emergency Mode
First steps when Linux won't boot — triage kernel panic, initramfs, GRUB and systemd emergency mode, then recover with fstab fixes, fsck and an older kernel.
-
ufw SSH Troubleshooting - Checking Allow Rules and Recovery
Isolate ufw as the cause when SSH won't connect. Quick recovery for "allowed but still can't connect" and how to avoid locking yourself out of the server.
🎓 LPIC-1 Certification
-
LPIC-1 Practice Exam & Study Hub | 101/102 v5.0 Mock Test, Simulator, Cost
LPIC-1 practice exam hub: 101/102 v5.0 mock tests, simulator, and cost info. 12 study articles, quizzes, and hands-on browser terminal. Free, no installation.
-
LPIC-1 Mock Exam — Free 60 Questions 90 Minutes
Free LPIC-1 mock exam in real exam format. 60 questions, 90 minutes, 800-point scoring — experience the actual exam pace and identify weak topics with per-topic accuracy.
-
Basic File Management - cp, mv, rm, touch, and Wildcards
LPIC-1 objective 103.3: cp/mv/rm/touch/mkdir/rmdir and wildcards (* ? [ ] { }) with examples. Learn -r vs -a, the rm -rf danger, and zero-match glob behavior.
-
Basic Network Troubleshooting - ping, traceroute, ss, dig
LPIC-1 objective 109.3 (LPIC 102 exam). Check connectivity with ping, route with traceroute, sockets with ss, and DNS with dig, layer by layer.
-
Client-Side DNS: resolv.conf, hosts, and getent
LPIC-1 objective 109.4 (LPIC 102). Configure resolv.conf, /etc/hosts, nsswitch.conf lookup order, getent, and systemd-resolved (resolvectl) with examples.
-
Command Line Basics: How the Shell, bash, and Command Execution Work
LPIC-1 objective 103.1 (LPIC 101 exam). Learn how the shell and bash execute commands, resolve PATH, check command types, and use history and quoting.
-
Creating Partitions and Filesystems - fdisk and mkfs
LPIC-1 objective 104.1. MBR vs GPT, partition with fdisk/gdisk/parted, build filesystems with mkfs and swap with mkswap, and verify using lsblk and blkid.
-
FHS and Finding Files - find, locate, and the FHS
LPIC-1 objective 104.7. Learn the FHS 3.0 directories (/bin /etc /var /usr/local etc.) and how to find files with find, locate, updatedb, which, and whereis.
-
Hard Links and Symbolic Links: The ln Command and inodes
LPIC-1 objective 104.6 for the LPIC 101 exam. Understand hard vs symbolic links from the inode perspective. Use ln/ln -s correctly and avoid dangling symlinks.
-
Host Security: Disabling Services and TCP Wrappers
LPIC-1 objective 110.2. Disable unneeded services (systemctl stop/disable/mask), find listening ports with ss, and control access via TCP Wrappers.
-
How to Pass LPIC-1: Complete Exam Guide (Preparation, Schedule, Tips)
How to pass LPIC-1 — 101-500 & 102-500 (v5.0) overview, preparation timelines, study resources, Pearson VUE scheduling, day-of checklist, and pitfalls to avoid.
-
Internet Protocol Fundamentals - TCP/IP, Ports, IPv4/IPv6
LPIC-1 objective 109.1. Learn the TCP/IP model, IPv4/IPv6 addressing, subnet masks and CIDR, port numbers and /etc/services, TCP vs UDP, and key protocols.
-
Job Scheduling: cron, at, and systemd Timers
LPIC-1 objective 107.2. Automate tasks with cron, at, anacron, and systemd timers. Master crontab syntax, cron.allow/deny, atq/atrm, OnCalendar, PATH issues.
-
LPIC-1 Exam Cost, Voucher Guide, and Retake Policy: Complete Pricing Reference
LPIC-1 exam cost by region (USD $200 / JPY 15,000 / EUR 176), voucher channels, validity, refund rules, retake fees, and budgeting tips.
-
LPIC-1 Exam Objectives v5.0: Complete Guide to 101-500 and 102-500 Topics
Full coverage of LPIC-1 exam objectives v5.0 for both 101-500 and 102-500. Topics, weights, syllabus overview, and cross-links to all 12 existing articles.
-
LPIC-1 Passing Score, Exam Details, Cost, and Dumps Warning: Complete FAQ
LPIC-1 passing score (500 of 800), 60 questions, 90 minutes, exam cost, voucher options, and why dumps are forbidden. Backed by LPI official sources.
-
LPIC-1 Practice Exam: Sample Questions for 101-500 and 102-500 (Mock Exam)
Free LPIC-1 practice exam with 10 original sample questions for 101-500 and 102-500 (v5.0). Concept-first explanations, no PDFs, no dumps. Browser-based only.
-
LPIC-1 vs CompTIA Linux+ / Linux Essentials / LPIC-2: Which Linux Certification Should You Take
Compare LPIC-1 with CompTIA Linux+ (XK0-006), Linux Essentials, and LPIC-2 on format, validity, cost, and career fit to choose your Linux certification path.
-
Managing System Time - date, timedatectl, NTP, chrony
How to maintain system time with date, hwclock, timedatectl, NTP, and chrony. Time zones, UTC vs local time, and verifying time sync. LPIC-1 objective 108.1.
-
Mounting Filesystems: mount, umount, and fstab
LPIC-1 objective 104.3 (LPIC 101). Mount and unmount with mount/umount, the six fstab fields, UUID/LABEL, blkid/findmnt, mount -a, and key options like nofail.
-
Package Management - dpkg/apt and rpm/yum/dnf
LPIC-1 objectives 102.4 and 102.5 (LPIC 101). Compare Debian dpkg/apt with RPM rpm/yum/dnf, covering install, remove, query, and dependency resolution.
-
Persistent Network Configuration - ip, nmcli, NetworkManager
Set a static IP and default gateway with ip, nmcli, netplan, and ifcfg so they survive reboots. Temporary vs persistent config plus hostnamectl. LPIC-1 109.2.
-
Process Priorities: How nice and renice Work
LPIC-1 objective 103.6 (LPIC 101 exam). Understand nice value and PRI, set priority with nice/renice, and check with top/ps for process scheduling.
-
Regular Expressions: Basic, Extended Regex and grep
LPIC-1 objective 103.7 (LPIC 101 exam). Master BRE/ERE differences and regex with grep/sed — anchors, character classes, and quantifiers for pattern matching.
-
Securing Data with Encryption: SSH keys, GPG, openssl
LPIC-1 objective 110.3. SSH public key auth (ssh-keygen, ssh-copy-id, ssh-agent), GPG encryption and signing, openssl basics, and key file permissions with real examples.
-
Security Administration: SUID, lsof, ulimit, sudo
LPIC-1 objective 110.1 (LPIC 102 exam). Find SUID/SGID files, inspect open files and ports with lsof, set resource limits with ulimit, and manage sudo/sudoers safely.
-
Shell Environment Variables: export, env, .bashrc, .bash_profile
LPIC-1 objective 105.1 (LPIC 102 exam). Master shell vs environment variables, the role of export, and startup file load order for login/non-login shells.
-
Shell Scripting Basics - Variables, Conditionals, Loops, test
LPIC-1 objective 105.2 (LPIC 102). Learn the shebang, variables, positional parameters, command substitution, test, if/case, for/while, and exit status.
-
System Boot and systemd - GRUB, runlevels, systemctl
LPIC-1 objectives 101.2/101.3. Boot process (BIOS/UEFI to GRUB to kernel to systemd), service control with systemctl, boot targets vs runlevels, and shutdown/reboot.
-
System Logging: syslog, journald, and logger
LPIC-1 objective 108.2. Master rsyslog facilities and priorities, journalctl options, logger, logrotate, and key log file locations with examples.
-
Text Stream Filters: cat, sort, uniq, wc, head, tail
LPIC-1 objective 103.2 (LPIC 101 exam). Process text with cat/sort/uniq/wc/head/tail/cut/tr and master filter pipelines for exam-frequent option combinations.
-
User and Group Administration: useradd, passwd, /etc/passwd and shadow
LPIC-1 objective 107.1. Use useradd, usermod, userdel, passwd, and chage, and read the /etc/passwd and /etc/shadow fields. Covers the usermod -aG pitfall.
❓ Support & Help
-
Frequently Asked Questions (FAQ)
40+ frequently asked questions about Linux learning. Covers beginner error solutions, basic commands, and practical career applications with clear answers.
-
Glossary - Plain-English Linux Terms
A glossary that explains common Linux terminology you will run into while learning, in one plain, easy-to-understand sentence each.
ℹ️ Site Information
-
About Us - Operator Information
Learn about Penguin Gym Linux—our operator information, service philosophy, development background, and our mission to make Linux accessible for everyone.
-
Contact Us
Contact Penguin Gym Linux. Feel free to send us your questions, feedback, bug reports, or any inquiries about our Linux learning platform.
📄 Legal Information
-
Privacy Policy
Penguin Gym Linux's privacy policy. Details about how we handle personal information.
-
Terms of Service
Penguin Gym Linux's terms of service. Please read before using the service.