Resources¶
One line: Every claim in this library can be checked against a manual. The list below says which manual stands behind which chapter, and every lesson links the sibling page that covers the same idea in another library.
The manuals¶
The shells
- Bash Reference Manual ↗ covers pipelines, redirections, history, the prompt, and every
shopt.man bashon a Linux machine is the same text; on a Mac,man bashdescribes 3.2. - The Z Shell Manual ↗ covers redirection with
MULTIOS, history options, and prompt expansion with%. - fish documentation ↗, and above all fish for bash users ↗, which is the page to read when a bash line does not work in fish.
- POSIX Shell Command Language ↗ is what bash, zsh and
/bin/shall promise to agree on, and fish deliberately does not.
The tools
- GNU grep manual ↗ and the FreeBSD grep(1) ↗ page cover the two greps chapter 04 compares.
- GNU coreutils: tee ↗ and tr ↗.
- fzf ↗: the README, the search syntax, and the shell integration behind Ctrl-R.
- od has no chapter here, because the encodings library already has the page:
odreads types, not bytes ↗. Its section Reading a textbook'sodsession ↗ works through the Tevault book's od chapter on macOS and Ubuntu. It shows the UTF-8 BOM behind357 273 277, GNU od masking the high bit under-t awhere BSD od does not, and-j0000640being octal because of its leading zero.
Books¶
- The Ultimate Linux Shell Scripting Guide, Donald A. Tevault (Packt, 2024). The book whose pages prompted chapters 01, 02, 03, 04, 08 and 10; chapter 10 starts from its Table 2.1, File type designators. It is written on Fedora in bash, and this library checks what changes on a Mac and in fish. Its chapter 7, "Using od", is covered by the encodings library's od page ↗.
- The Linux Command Line ↗, William Shotts, free online. Redirection, pipelines and the prompt, from the beginning.
- Efficient Linux at the Command Line, Daniel J. Barrett (O'Reilly, 2022). Pipelines as a way of thinking, plus a good chapter on history.
Sibling libraries¶
Same house style, same answer-key contract:
- C ↗ — what a file descriptor, a pipe and a terminal are to the program on the other end.
- Encodings ↗ — bytes on a pipe. Its terminal chapter ↗ and tools chapter ↗ are the closest neighbours of this library.
- Python ↗ — stdin, stdout and pipes ↗, from inside a Python program.
- Perl ↗ — the one-liner, a whole language in the middle of a pipeline.
- Ruby text ↗ — Perl's switches, kept.
- Rust ↗ — its Unix chapter ↗ sets up fzf's key bindings in fish, bash and zsh.