Skip to content

Resources & Further Reading

Curated references for every level — from the man pages you need on day one to the books you will return to for years.


Official Documentation

Resource What it covers
man bash The complete bash manual — search with /pattern, quit with q
help (in bash) Built-in command help: help for, help if, help read
GNU Bash Manual Full online reference with examples
POSIX Shell Specification The portable standard all shells must follow

Tools Covered in This Course

Tool Install Docs
ShellCheck apt install shellcheck / brew install shellcheck shellcheck.net
bats apt install bats / brew install bats-core bats-core.readthedocs.io
jq apt install jq / brew install jq man jq
rsync Usually pre-installed man rsync

Practice Platforms

Work through real challenges to cement your skills:

Platform Focus
OverTheWire: Bandit Linux command-line survival — start here
HackTheBox More advanced Linux challenges
Exercism — Bash Track Structured exercises with mentorship
LeetCode Shell section has 10+ classic problems
Vim Adventures Learn vim (you will need it on servers)

Books

Book Level Why read it
The Linux Command Line — William Shotts Beginner The best intro to bash; freely available online
Learning the bash Shell — Cameron Newham Beginner/Intermediate Systematic coverage of bash features
Classic Shell Scripting — Robbins & Beebe Intermediate POSIX focus, portability, real-world scripts
sed & awk — Dougherty & Robbins Intermediate Deep dive into the two most powerful text tools
The AWK Programming Language — Aho, Weinberger, Kernighan Advanced Written by the creators of awk; still the best reference
Unix Power Tools — Powers, Peek, O'Reilly Advanced Encyclopedia of shell tricks and idioms

Online References

Resource Use
Bash Hackers Wiki Deep explanations of bash internals
Greg's Wiki BashGuide and BashFAQ — excellent for quoting and arrays
explainshell.com Paste a command and get each part explained
crontab.guru Test cron expressions with plain-English descriptions
regex101.com Interactive regex tester with explanation
tldr.sh Simplified man pages with practical examples

Man Pages Worth Reading

These are the most important man pages for shell scripting:

man bash          # the full bash manual (long but comprehensive)
man 1 test        # test / [ ] operators — file and string tests
man 7 regex       # regular expression syntax
man rsync         # all rsync flags (especially --link-dest)
man cron          # cron daemon
man 5 crontab     # crontab file format
man ssh_config    # SSH client configuration
man curl          # all curl options
man find          # all find predicates
man awk           # awk language reference
man sed           # sed command reference

Cheat Sheet Collection

All cheat sheets in this course:


What to Learn Next

After completing this course:

  1. Python — for tasks where bash hits its limits (complex data structures, HTTP, testing)
  2. Vim or Neovim — the editor you will use on every server; vimtutor takes 30 minutes
  3. Git internalsgit bisect, git reflog, understanding the object model
  4. Ansible — infrastructure automation built on SSH and Python
  5. Docker — containers run bash entrypoints; knowing bash helps debug them
  6. Linux performance toolshtop, iostat, strace, tcpdump, perf