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:
- grep — Pattern searching
- awk — Field-based text processing
- sed — Stream editing and substitution
- find — Filesystem search
- bash-parameter-expansion — String manipulation
- file-permissions — chmod, chown, umask
- pipes-redirection — stdin, stdout, stderr
- variables-quoting — Variables and quoting rules
What to Learn Next¶
After completing this course:
- Python — for tasks where bash hits its limits (complex data structures, HTTP, testing)
- Vim or Neovim — the editor you will use on every server;
vimtutortakes 30 minutes - Git internals —
git bisect,git reflog, understanding the object model - Ansible — infrastructure automation built on SSH and Python
- Docker — containers run bash entrypoints; knowing bash helps debug them
- Linux performance tools —
htop,iostat,strace,tcpdump,perf