Ahmad Gul Zadran

How these guides work

A safe tour of everything a guide here can do, from fill-in values to the download script.

beginner5 minupdated 2026-10-13metareferenceDownload script.sh

Before you start

  • A terminal on any Linux, macOS or BSD machine, or WSL on Windows
  • Nothing else. This guide only writes to /tmp.

Your values

Fill these in and every command below updates to match. Nothing is sent anywhere.

Run this at your own risk. These steps worked on my hardware; yours may differ. Take a backup first, read each command before running it, and see the disclaimer.

This guide is the reference. It shows everything a guide on this site can do, and proves that it all works. Every command below is safe and only uses /tmp.

Read the top of the page first

The line under every guide's title shows what to expect: the difficulty in three bars, about how long the job takes, and the date the guide was last updated. Before you start lists what you need first. Steps lists every section, so you can see the whole job before you begin and jump to any part of it.

Longer builds are split into a series of parts. Each part expects that you have done the one before it, so start at Part 1. On the guides page, a series is shown as a numbered track in reading order, and every part in the list shows its number.

Fill in your values

Look at the Your values panel above. If you change anything in it, every command on this page updates right away. So you can run the commands directly, without changing them by hand first.

bash
echo "Setting up example-project on nas.example.lan as admin"

Your values stay in your browser. Nothing is sent anywhere, and nothing is stored on the server. They are remembered for this guide the next time you open it, and Reset to defaults puts the examples back.

Copy, do not retype

Every command block has a Copy button. It copies the command with your values already substituted, not the placeholders.

bash
mkdir -p /tmp/example-project
cd /tmp/example-project
printf 'host=%s\nuser=%s\n' "nas.example.lan" "admin" > config.ini

Know what success looks like

Blocks with a dashed border are expected output, not commands. They have no Copy button, because pasting output into a shell only causes errors and wastes time.

bash
cat /tmp/example-project/config.ini
expected output
host=nas.example.lan
user=admin

If what you see is different from what is shown, stop there. Do not continue with the next step.

Destructive steps are marked

Anything that deletes data, restarts a machine, or stops a service is shown in red and hidden until you click. You have to choose to see it.

bash
Destructive command. Read it before running it. This can delete data or interrupt service.
rm -rf /tmp/example-project

These steps are also in the downloadable script, but commented out, so the script cannot delete anything by accident.

Take the whole thing with you

The Download link at the top of every guide gives you its commands as one file: script.sh for the bash steps and script.ps1 for the PowerShell ones, or both when a guide uses a Linux host and a Windows server. It is made from this same page, so it is always up to date. Your values are at the top as variables, where you can change them in one place.

bash
curl -fsSL -o how-these-guides-work.sh https://www.zadran.net/guides/how-these-guides-work/script.sh
less how-these-guides-work.sh

Read it before you run it. This is true for every script on the internet, including the ones here.

Tell me where it went wrong

At the end of every guide is a box that asks if it worked. If it did not, pick the step where you got stuck and, if you like, add a line about what you saw. Only I see it, and it is never shown on the page: no name, no cookie, no tracking. This is how I find the steps that are out of date.