Unix & Linux
12 guidesLinux process, memory, filesystem, shell, and network diagnostics.
Unix Foundations: File Permissions, Ownership, and Descriptors
Understand users, groups, permission bits, file descriptors, and redirection so shell and service behavior is easier to debug.
grep, sed, and awk: Reliable Text Search and Small Stream Programs
Compose Unix text tools with explicit input, quoting, exit-status handling, and safe edits instead of treating pipelines as magic.
Shell Script Debugging: Trace Failures, Preserve Exit Codes, and Fix Safely
A root-cause workflow for shell failures involving quoting, pipelines, unset variables, traps, temporary files, and partial work.
TCP, UDP, ss, netstat, and tcpdump: A Layered Network Debugging Guide
Diagnose connection failures by separating DNS, routing, transport, listening sockets, and application protocol behavior.
pipefail, Signals, and Unix Process Management
Unix is full of tiny control primitives. Learn how `set -o pipefail`, process signals, and clean lifecycle management keep shell pipelines reliable and debuggable.
Unix Signals and Child Processes: What Your Service Must Clean Up
Follow signals from a container stop through shell wrappers and child processes, and build shutdown behavior that preserves work.
DNS Troubleshooting: Trace Name Resolution Before Blaming the Network
Separate resolver configuration, caching, search domains, authoritative records, and application-level DNS behavior.
Linux Disk Full Errors: Blocks, Inodes, Deleted Files, and Safe Cleanup
Diagnose ENOSPC when disk usage looks confusing, including exhausted inodes and deleted files still held open.
Linux Under Load: Epoll, File Descriptors, OOM, TCP Queues, and VFS
Connect kernel readiness APIs, resource limits, cgroups, socket queues, page cache, and inode behavior to production symptoms.
Unix Log Sorting: Normalize Offset Timestamps Before Ordering Events
Build a bounded investigation pipeline that preserves malformed records and avoids lexical sorting across mixed offsets.
Unix file publication: replace names without exposing partial bytes
Separate atomic visibility from crash durability when publishing local files.
Unix process inheritance: environment variables and file descriptors
Trace what survives fork and exec, and close capabilities a child should not inherit.