Developer Tools · Cluster

Command-Line Craft

Shell design and automation interfaces.

  1. 01 From Command Name to Process: The execve Argument Contract How a typed command becomes a running program, what the kernel inspects before the first instruction executes, and which process state survives the replacement. foundational · Feb 14, 2025
  2. 02 Exit Status Semantics and the Limits of set -e What the 8-bit exit status encodes, which failures errexit deliberately ignores, and why a pipeline reports only one stage of its work. foundational · Oct 6, 2026
  3. 03 What a Pipe Holds: Kernel Buffering, Atomic Writes, and SIGPIPE The pipe as a bounded in-kernel queue, why writes below PIPE_BUF never interleave, and how a closed read end turns into a signal rather than an error. foundational · Mar 10, 2022
  4. 04 Field Splitting, IFS, and the Difference Between "$@" and $* The expansion order POSIX mandates, why an unquoted variable becomes several arguments, and which quoting forms actually preserve a filename with a space in it. intermediate · Jun 26, 2025
  5. 05 Option Parsing Contracts and the Ambiguities of Command-Line Syntax How POSIX utility syntax constrains argument order, what changes when GNU permutation is enabled, and why optional option-arguments are a design trap. intermediate · Jun 3, 2025
  6. 06 Buffering Modes and Why Pipeline Output Appears Out of Order How the C library decides between line and block buffering, why redirection changes the interleaving of standard output and standard error, and what flushing actually guarantees. intermediate · Nov 5, 2023
  7. 07 Process Groups, Sessions, and the Mechanics of Job Control Why Ctrl-C reaches a whole pipeline at once, what a background job actually is, and which kernel structures the shell manipulates to make fg and bg work. intermediate · Sep 4, 2026
  8. 08 Signal Handling in Shell Scripts: Traps, Races, and Termination Forwarding When a trap handler actually runs, which signals a script cannot catch, and how a wrapper passes SIGTERM to its children without orphaning them. advanced · May 17, 2024
  9. 09 The Terminal Line Discipline: Canonical Mode, Echo, and Raw Input How the kernel edits and interprets keystrokes before a program sees them, why Ctrl-C never arrives as a byte, and what changing to raw mode actually switches off. advanced · Feb 9, 2025
  10. 10 Backpressure and Deadlock in Long-Running Pipelines Why a blocking pipe is the only flow control a Unix pipeline has, how barrier stages stall it, and when a bounded queue beats a chain of processes. advanced · Nov 5, 2024