Blog
Free tutorials
Practical guides on AWS, serverless backends and the command line, written from the courses, with the same diagrams and real code.
Linux & the command line
Linux · Bash · Beginners
Absolute vs relative path in Linux: the Unix filesystem explained
How the Unix filesystem tree works, the difference between absolute and relative paths, and how to move around with pwd, cd and ls, plus the shortcuts /, ~, ., .. and -.
Linux · Bash · Zsh
Customize your shell: .bashrc vs .zshrc, aliases and the PS1 prompt
Why your aliases vanish when you close the terminal, which config file Bash and Zsh read at startup, how to make aliases and environment variables permanent, and how to change your prompt with PS1 or PROMPT.
Linux · Bash · Zsh
How the shell finds commands: PATH and environment variables explained
What really happens when you type ls: how the shell searches the PATH variable directory by directory, how to use which, why you see 'command not found', and how to add your own folder to PATH.
AWS · EC2 · SSH
How to SSH into an AWS EC2 instance and set up an nginx web server
What SSH is, how key-pair authentication works, launching a free-tier EC2 instance, fixing the .pem permission (chmod 400), connecting with ssh -i, and serving your own page with nginx.
Linux · Bash · Permissions
Linux file permissions explained: ls -l, chmod and chown (with diagrams)
Read every column of ls -l, understand owner, group and others, and change permissions with chmod (symbolic and octal like 755, 700, 400) and ownership with chown. With diagrams and real terminal examples.
Linux · Bash · grep
Linux pipes and redirection explained: |, >, >>, < and grep
Standard input and output, redirecting output to files with > and >>, feeding input with <, chaining commands with pipes, searching with grep, and silencing output with /dev/null. With diagrams and examples.
Linux · Bash · Processes
Linux processes explained: ps aux, top and kill -9 vs kill -15
What a process is, how to list them with ps aux and top, process states, and how to stop one: Ctrl+C, kill (SIGTERM 15) and kill -9 (SIGKILL). With diagrams and real terminal examples.
Bash · Shell scripting · Linux
Shell scripting for beginners: your first Bash script, step by step
Write and run your first shell script: chmod +x, the shebang line, variables, command substitution with $(...), reading user input and arguments ($1, $2), plus export and alias.
Linux · Bash · Beginners
Terminal vs shell: what's the difference? (Bash, Zsh, PowerShell explained)
Why it's called a terminal, what a shell actually does, how the terminal, shell, kernel and hardware fit together, which terminal and shell each OS uses, and why developers pick Bash or Zsh.
Linux · Unix · Beginners
The Linux directory structure explained: what /bin, /etc, /home, /var and /tmp are for
A beginner's map of the Unix and Linux filesystem: the root directory, what lives in /bin, /etc, /home, /usr, /var and /tmp, how macOS differs, and the two shortcuts (/ and ~) you'll use constantly.
The full course
CLI Mastery: 57 lessons
Get fast and fluent in the terminal, from the filesystem to shell scripts and real servers.
See the course and free lessons →Free download
Linux command line cheat sheet
One printable page: navigation, files, permissions, pipes, processes, scripts and SSH.