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 →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.
Learn with Linny-senpai and Lina! Master pwd (location), ls (list), and cd (move) - the 3 essential commands for beginners.
Read more →
Learn with Linny-senpai and Lina! Master mkdir (create directories), touch (create files), and echo/cat (view contents).
Read more →
Learn basic file operations: creation, editing, copying, moving, and deletion. Includes introduction to text editor basics.
Read more →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 →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 →
Detailed explanation of file and directory permissions, chmod, chown, umask and other permission-related commands.
Read more →
Practical learning of advanced permission management including special permissions, ACL, and security configuration.
Read more →
Detailed explanation of permission configuration best practices and real-world examples used in system administration.
Read more →
Learn process concepts and process management commands including ps, kill, jobs, and nohup.
Read more →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 →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 →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 →
Learn practical techniques including system monitoring, performance tuning, and troubleshooting.
Read more →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 →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 →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 →Learn how to configure /etc/sudoers safely using visudo. Covers syntax, NOPASSWD, per-command delegation, and sudoers.d best practices on Ubuntu.
Read more →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 →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 →Learn how SUID, SGID, and Sticky Bit work in Linux. Understand special permission bits with practical chmod examples and security guidance.
Read more →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 →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 →
Learn advanced file operation techniques including links, compression/decompression, and backup technologies.
Read more →
Practical learning of advanced file search and processing techniques using find, grep, awk. Aimed at professional-level mastery.
Read more →
Systematic learning of basic file search and text processing commands.
Read more →
Learn advanced techniques including complex search conditions, regular expressions, and awk programming.
Read more →
Detailed explanation of practical use cases and best practices used in real-world work.
Read more →
Detailed learning of professional-level advanced techniques and optimization methods.
Read more →
Systematic learning of shell script writing basics, variables, control structures, and functions.
Read more →
Learn practical shell script creation methods, debugging techniques, and performance optimization.
Read more →bash parameter expansion cheat sheet covering default values, substring extraction, pattern removal, replacement, and case conversion with practical examples.
Read more →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 →Learn to reuse bash commands with Ctrl+R search, !!, !$, and history numbers. Covers HISTSIZE and HISTCONTROL settings for efficient shell use.
Read more →
Learn how to check logs in Ubuntu (systemd) environments. Master filtering by time, service, and priority level for effective troubleshooting.
Read more →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 →
Learn tar command for compression, extraction, and listing contents. Understand .tar.gz/.tgz/.tar differences and how to prevent extraction accidents.
Read more →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 →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 →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 →Diagnose and fix "command not found" on Linux. Covers PATH, hash cache, sudo secure_path, pip --user, and cron with practical templates.
Read more →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 →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 →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 →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 →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 →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 →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 →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 →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 →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 →Learn how to transfer files between servers using scp and rsync on Ubuntu. Includes copy-paste templates for common scenarios.
Read more →Learn nc (netcat) for port testing, simple server setup, file transfer, and banner grabbing. Practical debugging patterns for Linux network diagnostics.
Read more →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 →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 →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 →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 →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 →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 →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 →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 →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 →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 →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 →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 →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 →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 →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 →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 →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 →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 →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 →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 →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 →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 →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 →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 →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 →
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 →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 →
Manage Linux services with systemctl. Learn status, start, restart, and enable commands for Nginx, Apache, SSH, and other services.
Read more →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 →Learn logrotate config structure and key directives. Covers rotate, compress, delaycompress, postrotate, and how to debug with dry-run mode on Linux.
Read more →Manage /tmp cleanup with systemd-tmpfiles and tmpfiles.d. Write declarative rules for automatic deletion, permissions, and boot-time directory creation.
Read more →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 →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 guide for Linux. Learn to create PV, VG, and LV, extend volumes online, use snapshots, and manage storage flexibly.
Read more →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 →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.
After learning the theory, practice using actual commands. You can learn experientially at Penguin Gym Linux.