book.rymcg.tech
This repository contains a collection of books written by EnigmaCurry.
This content is open-source, CC BY 4.0. See LICENSE for attribution rules.
Books
Site features
Navigation
This website is presented as a book of books, so you can read everything from beginning to end. There are two ways to flip through the pages:
- Press the keyboard left and right arrow keys.
- Click the arrow buttons in the top right corner of every page (handy on a touch screen).
Table of contents
The menu on the left lists every book on the site, with the book titles as the top level headings. On smaller screens the menu is hidden; tap the circle button in the top left corner to slide it open.
Every page also has its own outline. Click the # button in the top
right corner to jump between the headings of the page you are reading.
Theme
This website has a custom terminal theme with four colour palettes:
amber, green, mono, and lite. By default it follows your
operating system’s light or dark mode preference (lite for light,
green for dark). You can switch palettes — and toggle the terminal
effects — from the controls in the lower left menu, below the table of
contents.
Blocks
Shell command blocks
Throughout these books, you will find literal command blocks that you should copy and paste to run in your Bash shell.
Commands that are to be run on your primary workstation look like this:
whoami hostname
Each code block is intended to be run as a whole (don’t copy individual lines). Click the copy button in the top right corner of any code block — like the one above — to copy the whole thing to your clipboard.
Paste the copied command block into your terminal, edit it as
necessary, and then press Enter to run it.
You will also sometimes see the example output that a command prints:
ryan toolbox
Pay attention to the style and the title of the box to provide important context. Commands that are to be run on a different machine, or in a container, etc. use a distinct style and a title naming where to run them:
whoami hostname
root foo
Config blocks
Temporary shell variables are used to carry common config values across multiple command blocks. You can copy and paste them just like you do when running a command, but they are used only for configuration before running another command:
COLOR=orange FOOD="milk chocolate covered raisins"
Subsequent code blocks can reference these temporary variables:
echo "Favorite color : ${COLOR}"
echo "Favorite food : ${FOOD}"
Favorite color : orange Favorite food : milk chocolate covered raisins
Edit file blocks
Sometimes it’s easiest to edit a file by hand. These blocks invite you to edit the given file, with your preferred text editor:
this text goes into /tmp/foo.txt