18 part series

Linux From Basics to Proficiency

Learn Linux through the command line for developers and DevOps: the filesystem, permissions, processes, pipes/redirection, package management, users, networking, systemd, shell scripting. Practice right inside a Linux container, with deep dives into how the system works.

1

What Is Linux and Why Developers Should Learn It

Series opener: the difference between the Linux kernel and a distro, why nearly every server and container runs Linux, the Unix philosophy behind the command line, and how to use a Linux container as a lab right on your Mac/Windows machine.

Kai··4 min read·DevOpsLinux
2

Setting Up a Linux Environment and Getting Comfortable with the Shell

Create a Linux environment to practice with using a container, understand the shell and the command prompt, run your first commands, and learn the keyboard shortcuts that make typing commands much faster.

Kai··5 min read·DevOpsLinux
3

The Filesystem and FHS: Everything Is a File

Understand the Linux directory tree under the FHS standard — what each core directory (/etc, /var, /usr, /proc...) is for — and why Linux treats almost everything, including devices and process info, as a file. With a diagram and absolute/relative paths.

Kai··5 min read·DevOpsLinux
4

File and Directory Operations

The commands you use every day: create, copy, move, rename, delete files and directories, create links, use wildcards to operate in bulk, and find files with find.

Kai··4 min read·DevOpsLinux
5

Editors: nano and vim

Edit files right in the terminal — a must-have skill when working on a server with no GUI. nano for beginners, and survival vim: understand the modes, open/edit/save/quit, search, undo.

Kai··4 min read·DevOpsLinux
6

Reading and Processing Text: grep, sed, awk and Friends

The toolset behind the power of the Linux command line: viewing files (cat, less, head, tail), filtering (grep), cutting columns (cut), sorting (sort, uniq), counting (wc), and transforming (sed, awk). Each tool does one thing well.

Kai··4 min read·DevOpsLinux
7

Pipes, Redirects, and Data Streams

A deep dive into the mechanism behind the command line's power: the three streams stdin/stdout/stderr (file descriptors 0/1/2), how to redirect them into files, merge errors, discard with /dev/null, and chain commands with pipes.

Kai··5 min read·DevOpsLinux
8

Permissions: User, Group, and chmod

A deep dive into Linux's permission mechanism: reading the rwx string, the three groups user/group/other, octal notation, changing permissions with chmod (octal and symbolic), changing ownership with chown, and the umask that decides default permissions.

Kai··5 min read·DevOpsSecurity
9

Processes and Signals

A deep dive into what's running on the system: processes and the parent-child relationship, viewing with ps/top, running in the background with &, and controlling with signals — why kill -9 differs from a plain kill, and when to use which.

Kai··4 min read·DevOpsLinux
10

Compress and Decompress: tar, gzip, zip

Bundle many files into one and compress them for backups or moving data. Understand the difference between archiving (tar) and compressing (gzip), memorize the confusing tar flags, and know when to use tar.gz vs zip.

Kai··4 min read·DevOpsLinux
11

Disks and Capacity: df, du, lsblk, mount

\"The server is out of disk\" is a classic incident. This article teaches the troubleshooting workflow: df to see which filesystem is full, du to trace which directory is eating space, find for large files, plus lsblk and mount to understand storage devices.

Kai··4 min read·DevOpsStorage
12

Software Package Management: apt, dnf, apk

Install, update, and remove software on Linux through the package manager. Understand the differences between distro families (apt for Debian/Ubuntu, dnf for Fedora, apk for Alpine) and tell apart updating the package list from upgrading software.

Kai··4 min read·DevOpsLinux