Linux and Command Line Guide for Developers

Most servers run Linux, and most debugging ends in a terminal. This guide takes you from your first command to fixing a slow or full server, one skill at a time.

Every command in the lessons was run for real, and the output you see is the output we got.

Who it is for: Developers who feel unsure in the terminal, and candidates for back-end and DevOps roles who get Linux questions.

11 lessons · Published by Jainik · Last updated

1. Getting around

  1. 1. Linux & Shell · 12 min
    The Terminal, the Shell and the Linux File System

    What the shell is, moving around, the directory layout, absolute and relative paths, reading files, and the commands you will use hourly.

  2. 2. Linux & Shell · 13 min
    Users, Permissions and Ownership

    Users and groups, reading rwx and octal modes, chmod and chown, sudo, umask, setuid in plain words, and common permission mistakes.

2. Processes and text tools

  1. 3. Linux & Shell · 14 min
    Processes, Signals and Job Control

    What a process is, ps and top, foreground and background jobs, signals such as SIGTERM and SIGKILL, exit codes, and zombies and orphans.

  2. 4. Linux & Shell · 15 min
    Pipes, Redirection and Text Tools: grep, sed, awk, find and xargs

    stdin, stdout and stderr, pipes, redirection, the text tools used to search and reshape data, and real one-line recipes.

3. Scripting and remote machines

  1. 5. Linux & Shell · 15 min
    Shell Scripting: Variables, Conditions, Loops and Functions

    Writing safe bash scripts: quoting, set -euo pipefail, arguments, conditions, loops, functions, trap, and ShellCheck.

  2. 6. Linux & Shell · 14 min
    SSH, Networking Commands and Transferring Files

    SSH keys and config, scp and rsync, port forwarding, curl, ss, dig, ping and traceroute, and what each tells you.

  3. 7. Git & GitHub · 9 min
    The Daily Loop: Status, Add, Commit, Diff and Log

    The commands you use every day, .gitignore, good commit messages and staging parts of a file with git add -p.

4. Running and fixing servers

  1. 8. Linux & Shell · 14 min
    Packages, Services, Cron and systemd

    apt and other package managers, running a service with systemd, reading unit files, journalctl, cron and systemd timers.

  2. 9. Linux & Shell · 15 min
    Disks, Memory, Logs and Troubleshooting a Slow Server

    df, du, free, load average, iostat-style tools, reading logs, and a step-by-step method for a slow or full server.

  3. 10. DevOps · 20 min
    Docker: Containerize Your Next.js and Node App

    Images, layers, Dockerfiles and Compose — build once, run the same thing on your laptop and on EC2.

5. Interview practice

  1. 11. Linux & Shell · 14 min
    Linux and Shell Interview Questions With Model Answers

    Permissions, processes, pipes, scripting and troubleshooting questions with model answers.

More reading orders are on the guides page, and every series is listed on the home page.